./Ultimate.py --spec ../sv-benchmarks/c/properties/termination.prp --file ../sv-benchmarks/c/reducercommutativity/rangesum.i --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for termination Using default analysis Version 35987657 Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerTermination.xml -i ../sv-benchmarks/c/reducercommutativity/rangesum.i -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Termination-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(F end) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 4dc91bf2fc8981aab63c1ee768384f1c8f580edfe4618d65089a78f799b6ddb8 --- Real Ultimate output --- This is Ultimate 0.2.2-?-3598765 [2022-07-22 03:11:09,648 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-07-22 03:11:09,652 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-07-22 03:11:09,694 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-07-22 03:11:09,695 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-07-22 03:11:09,696 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-07-22 03:11:09,701 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-07-22 03:11:09,704 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-07-22 03:11:09,707 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-07-22 03:11:09,711 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-07-22 03:11:09,713 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-07-22 03:11:09,717 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-07-22 03:11:09,718 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-07-22 03:11:09,720 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-07-22 03:11:09,721 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-07-22 03:11:09,725 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-07-22 03:11:09,726 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-07-22 03:11:09,728 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-07-22 03:11:09,730 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-07-22 03:11:09,737 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-07-22 03:11:09,739 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-07-22 03:11:09,741 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-07-22 03:11:09,742 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-07-22 03:11:09,743 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-07-22 03:11:09,745 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-07-22 03:11:09,753 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-07-22 03:11:09,753 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-07-22 03:11:09,753 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-07-22 03:11:09,754 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-07-22 03:11:09,755 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-07-22 03:11:09,757 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-07-22 03:11:09,757 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-07-22 03:11:09,759 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-07-22 03:11:09,760 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-07-22 03:11:09,761 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-07-22 03:11:09,762 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-07-22 03:11:09,762 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-07-22 03:11:09,763 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-07-22 03:11:09,763 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-07-22 03:11:09,763 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-07-22 03:11:09,764 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-07-22 03:11:09,766 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-07-22 03:11:09,772 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Termination-32bit-Automizer_Default.epf [2022-07-22 03:11:09,807 INFO L113 SettingsManager]: Loading preferences was successful [2022-07-22 03:11:09,808 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-07-22 03:11:09,808 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-07-22 03:11:09,808 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-07-22 03:11:09,809 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-07-22 03:11:09,809 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-07-22 03:11:09,809 INFO L138 SettingsManager]: * Use SBE=true [2022-07-22 03:11:09,809 INFO L136 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2022-07-22 03:11:09,809 INFO L138 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2022-07-22 03:11:09,809 INFO L138 SettingsManager]: * Use old map elimination=false [2022-07-22 03:11:09,810 INFO L138 SettingsManager]: * Use external solver (rank synthesis)=false [2022-07-22 03:11:09,810 INFO L138 SettingsManager]: * Use only trivial implications for array writes=true [2022-07-22 03:11:09,810 INFO L138 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2022-07-22 03:11:09,810 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-07-22 03:11:09,810 INFO L138 SettingsManager]: * sizeof long=4 [2022-07-22 03:11:09,810 INFO L138 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2022-07-22 03:11:09,811 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-07-22 03:11:09,811 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-07-22 03:11:09,811 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-07-22 03:11:09,811 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2022-07-22 03:11:09,811 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2022-07-22 03:11:09,812 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2022-07-22 03:11:09,812 INFO L138 SettingsManager]: * sizeof long double=12 [2022-07-22 03:11:09,812 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-07-22 03:11:09,812 INFO L138 SettingsManager]: * Assume nondeterminstic values are in range=false [2022-07-22 03:11:09,812 INFO L138 SettingsManager]: * Use constant arrays=true [2022-07-22 03:11:09,813 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2022-07-22 03:11:09,813 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-07-22 03:11:09,813 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-07-22 03:11:09,814 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-07-22 03:11:09,814 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-07-22 03:11:09,816 INFO L136 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2022-07-22 03:11:09,817 INFO L138 SettingsManager]: * TransformationType=MODULO_NEIGHBOR WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux 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(F end) ) 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 -> 4dc91bf2fc8981aab63c1ee768384f1c8f580edfe4618d65089a78f799b6ddb8 [2022-07-22 03:11:10,148 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-07-22 03:11:10,178 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-07-22 03:11:10,181 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-07-22 03:11:10,182 INFO L271 PluginConnector]: Initializing CDTParser... [2022-07-22 03:11:10,183 INFO L275 PluginConnector]: CDTParser initialized [2022-07-22 03:11:10,185 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/reducercommutativity/rangesum.i [2022-07-22 03:11:10,244 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3e9a870e4/1418e5beb0754693b51283df7d6d53d7/FLAG5ddbc75e5 [2022-07-22 03:11:10,725 INFO L306 CDTParser]: Found 1 translation units. [2022-07-22 03:11:10,728 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/reducercommutativity/rangesum.i [2022-07-22 03:11:10,735 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3e9a870e4/1418e5beb0754693b51283df7d6d53d7/FLAG5ddbc75e5 [2022-07-22 03:11:10,760 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3e9a870e4/1418e5beb0754693b51283df7d6d53d7 [2022-07-22 03:11:10,763 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-07-22 03:11:10,765 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-07-22 03:11:10,767 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-07-22 03:11:10,768 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-07-22 03:11:10,771 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-07-22 03:11:10,772 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 22.07 03:11:10" (1/1) ... [2022-07-22 03:11:10,772 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@589b0c4c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.07 03:11:10, skipping insertion in model container [2022-07-22 03:11:10,773 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 22.07 03:11:10" (1/1) ... [2022-07-22 03:11:10,779 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-07-22 03:11:10,795 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-07-22 03:11:11,008 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/reducercommutativity/rangesum.i[1544,1557] [2022-07-22 03:11:11,009 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-07-22 03:11:11,025 INFO L203 MainTranslator]: Completed pre-run [2022-07-22 03:11:11,064 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/reducercommutativity/rangesum.i[1544,1557] [2022-07-22 03:11:11,066 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-07-22 03:11:11,078 INFO L208 MainTranslator]: Completed translation [2022-07-22 03:11:11,080 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.07 03:11:11 WrapperNode [2022-07-22 03:11:11,080 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-07-22 03:11:11,082 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-07-22 03:11:11,082 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-07-22 03:11:11,082 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-07-22 03:11:11,088 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.07 03:11:11" (1/1) ... [2022-07-22 03:11:11,102 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.07 03:11:11" (1/1) ... [2022-07-22 03:11:11,137 INFO L137 Inliner]: procedures = 17, calls = 22, calls flagged for inlining = 6, calls inlined = 6, statements flattened = 137 [2022-07-22 03:11:11,137 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-07-22 03:11:11,139 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-07-22 03:11:11,139 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-07-22 03:11:11,139 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-07-22 03:11:11,146 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.07 03:11:11" (1/1) ... [2022-07-22 03:11:11,147 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.07 03:11:11" (1/1) ... [2022-07-22 03:11:11,156 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.07 03:11:11" (1/1) ... [2022-07-22 03:11:11,157 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.07 03:11:11" (1/1) ... [2022-07-22 03:11:11,171 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.07 03:11:11" (1/1) ... [2022-07-22 03:11:11,175 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.07 03:11:11" (1/1) ... [2022-07-22 03:11:11,176 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.07 03:11:11" (1/1) ... [2022-07-22 03:11:11,178 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-07-22 03:11:11,179 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-07-22 03:11:11,180 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-07-22 03:11:11,180 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-07-22 03:11:11,181 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.07 03:11:11" (1/1) ... [2022-07-22 03:11:11,186 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:11,197 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:11,221 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:11,246 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (1)] Waiting until timeout for monitored process [2022-07-22 03:11:11,266 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-07-22 03:11:11,267 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-07-22 03:11:11,267 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-07-22 03:11:11,267 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-07-22 03:11:11,267 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-07-22 03:11:11,268 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-07-22 03:11:11,268 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-07-22 03:11:11,269 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-07-22 03:11:11,360 INFO L234 CfgBuilder]: Building ICFG [2022-07-22 03:11:11,361 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-07-22 03:11:11,574 INFO L275 CfgBuilder]: Performing block encoding [2022-07-22 03:11:11,579 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-07-22 03:11:11,579 INFO L299 CfgBuilder]: Removed 5 assume(true) statements. [2022-07-22 03:11:11,581 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.07 03:11:11 BoogieIcfgContainer [2022-07-22 03:11:11,581 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-07-22 03:11:11,582 INFO L113 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2022-07-22 03:11:11,582 INFO L271 PluginConnector]: Initializing BuchiAutomizer... [2022-07-22 03:11:11,585 INFO L275 PluginConnector]: BuchiAutomizer initialized [2022-07-22 03:11:11,586 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2022-07-22 03:11:11,586 INFO L185 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "CDTParser AST 22.07 03:11:10" (1/3) ... [2022-07-22 03:11:11,587 INFO L205 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@187de7f5 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 22.07 03:11:11, skipping insertion in model container [2022-07-22 03:11:11,587 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2022-07-22 03:11:11,587 INFO L185 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.07 03:11:11" (2/3) ... [2022-07-22 03:11:11,587 INFO L205 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@187de7f5 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 22.07 03:11:11, skipping insertion in model container [2022-07-22 03:11:11,588 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2022-07-22 03:11:11,598 INFO L185 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.07 03:11:11" (3/3) ... [2022-07-22 03:11:11,600 INFO L354 chiAutomizerObserver]: Analyzing ICFG rangesum.i [2022-07-22 03:11:11,666 INFO L255 stractBuchiCegarLoop]: Interprodecural is true [2022-07-22 03:11:11,666 INFO L256 stractBuchiCegarLoop]: Hoare is false [2022-07-22 03:11:11,666 INFO L257 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2022-07-22 03:11:11,667 INFO L258 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2022-07-22 03:11:11,667 INFO L259 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2022-07-22 03:11:11,667 INFO L260 stractBuchiCegarLoop]: Difference is false [2022-07-22 03:11:11,667 INFO L261 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2022-07-22 03:11:11,667 INFO L265 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2022-07-22 03:11:11,671 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 30 states, 29 states have (on average 1.6206896551724137) internal successors, (47), 29 states have internal predecessors, (47), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:11,686 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 13 [2022-07-22 03:11:11,698 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 03:11:11,698 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 03:11:11,705 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2022-07-22 03:11:11,705 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2022-07-22 03:11:11,706 INFO L287 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2022-07-22 03:11:11,706 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 30 states, 29 states have (on average 1.6206896551724137) internal successors, (47), 29 states have internal predecessors, (47), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:11,709 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 13 [2022-07-22 03:11:11,710 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 03:11:11,710 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 03:11:11,710 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2022-07-22 03:11:11,710 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2022-07-22 03:11:11,722 INFO L752 eck$LassoCheckResult]: Stem: 17#ULTIMATE.startENTRYtrue assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);~N~0 := 0; 11#L-1true assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem12#1, main_#t~post11#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 8#L44true assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet2#1, init_nondet_#t~post1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0; 13#L18-3true [2022-07-22 03:11:11,722 INFO L754 eck$LassoCheckResult]: Loop: 13#L18-3true assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 12#L18-2true init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 13#L18-3true [2022-07-22 03:11:11,728 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:11,729 INFO L85 PathProgramCache]: Analyzing trace with hash 29858, now seen corresponding path program 1 times [2022-07-22 03:11:11,737 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:11,738 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1636116838] [2022-07-22 03:11:11,738 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:11,739 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:11,850 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:11,850 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:11:11,881 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:11,911 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:11:11,914 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:11,914 INFO L85 PathProgramCache]: Analyzing trace with hash 1379, now seen corresponding path program 1 times [2022-07-22 03:11:11,915 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:11,916 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [352824224] [2022-07-22 03:11:11,916 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:11,916 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:11,938 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:11,939 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:11:11,955 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:11,960 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:11:11,962 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:11,962 INFO L85 PathProgramCache]: Analyzing trace with hash 28693956, now seen corresponding path program 1 times [2022-07-22 03:11:11,963 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:11,963 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1896515498] [2022-07-22 03:11:11,963 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:11,963 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:11,983 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:11,984 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:11:11,995 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:12,000 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:11:12,462 INFO L210 LassoAnalysis]: Preferences: [2022-07-22 03:11:12,463 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-22 03:11:12,463 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-22 03:11:12,463 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-22 03:11:12,463 INFO L129 ssoRankerPreferences]: Use exernal solver: false [2022-07-22 03:11:12,464 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:12,464 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-22 03:11:12,464 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-22 03:11:12,465 INFO L133 ssoRankerPreferences]: Filename of dumped script: rangesum.i_Iteration1_Lasso [2022-07-22 03:11:12,465 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-22 03:11:12,465 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-22 03:11:12,486 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:12,493 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:12,495 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:12,498 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:12,502 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:12,504 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:12,506 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:12,509 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:12,513 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:12,516 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:12,811 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:12,815 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:12,817 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:12,820 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:12,822 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:12,824 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:12,826 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:12,829 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:12,831 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:13,135 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-22 03:11:13,139 INFO L490 LassoAnalysis]: Using template 'affine'. [2022-07-22 03:11:13,142 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:13,142 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:13,151 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:13,156 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (2)] Waiting until timeout for monitored process [2022-07-22 03:11:13,156 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:13,164 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:13,164 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 03:11:13,165 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:13,165 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:13,165 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:13,167 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 03:11:13,167 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 03:11:13,182 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 03:11:13,199 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (2)] Forceful destruction successful, exit code 0 [2022-07-22 03:11:13,200 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:13,200 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:13,202 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:13,202 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (3)] Waiting until timeout for monitored process [2022-07-22 03:11:13,213 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:13,220 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:13,220 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 03:11:13,220 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:13,221 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:13,221 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:13,222 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 03:11:13,222 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 03:11:13,243 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 03:11:13,267 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (3)] Forceful destruction successful, exit code 0 [2022-07-22 03:11:13,268 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:13,268 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:13,270 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:13,275 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (4)] Waiting until timeout for monitored process [2022-07-22 03:11:13,276 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:13,282 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:13,282 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 03:11:13,282 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:13,282 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:13,282 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:13,283 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 03:11:13,283 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 03:11:13,287 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 03:11:13,303 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (4)] Forceful destruction successful, exit code 0 [2022-07-22 03:11:13,303 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:13,304 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:13,305 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:13,305 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (5)] Waiting until timeout for monitored process [2022-07-22 03:11:13,307 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:13,313 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:13,313 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:13,313 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:13,313 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:13,316 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-22 03:11:13,316 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-22 03:11:13,334 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 03:11:13,349 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (5)] Ended with exit code 0 [2022-07-22 03:11:13,350 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:13,351 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:13,352 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:13,353 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (6)] Waiting until timeout for monitored process [2022-07-22 03:11:13,354 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:13,360 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:13,360 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 03:11:13,360 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:13,360 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:13,360 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:13,361 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 03:11:13,361 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 03:11:13,382 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 03:11:13,400 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (6)] Forceful destruction successful, exit code 0 [2022-07-22 03:11:13,400 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:13,401 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:13,402 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:13,403 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (7)] Waiting until timeout for monitored process [2022-07-22 03:11:13,404 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:13,410 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:13,410 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 03:11:13,410 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:13,411 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:13,411 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:13,411 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 03:11:13,411 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 03:11:13,419 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 03:11:13,435 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (7)] Forceful destruction successful, exit code 0 [2022-07-22 03:11:13,436 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:13,436 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:13,437 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:13,438 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (8)] Waiting until timeout for monitored process [2022-07-22 03:11:13,439 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:13,445 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:13,445 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 03:11:13,446 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:13,446 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:13,446 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:13,446 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 03:11:13,446 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 03:11:13,449 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 03:11:13,465 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (8)] Forceful destruction successful, exit code 0 [2022-07-22 03:11:13,466 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:13,466 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:13,467 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:13,467 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (9)] Waiting until timeout for monitored process [2022-07-22 03:11:13,469 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:13,475 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:13,475 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:13,475 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:13,475 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:13,478 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-22 03:11:13,478 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-22 03:11:13,483 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 03:11:13,499 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (9)] Forceful destruction successful, exit code 0 [2022-07-22 03:11:13,499 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:13,499 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:13,500 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:13,501 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (10)] Waiting until timeout for monitored process [2022-07-22 03:11:13,503 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:13,509 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:13,509 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 03:11:13,509 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:13,509 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:13,509 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:13,510 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 03:11:13,510 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 03:11:13,511 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 03:11:13,526 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (10)] Ended with exit code 0 [2022-07-22 03:11:13,527 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:13,527 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:13,528 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:13,529 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (11)] Waiting until timeout for monitored process [2022-07-22 03:11:13,530 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:13,536 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:13,536 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 03:11:13,536 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:13,537 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:13,537 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:13,537 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 03:11:13,537 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 03:11:13,543 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 03:11:13,559 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (11)] Forceful destruction successful, exit code 0 [2022-07-22 03:11:13,559 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:13,560 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:13,561 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:13,561 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (12)] Waiting until timeout for monitored process [2022-07-22 03:11:13,563 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:13,571 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:13,571 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:13,571 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:13,571 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:13,574 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-22 03:11:13,574 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-22 03:11:13,587 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 03:11:13,604 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (12)] Forceful destruction successful, exit code 0 [2022-07-22 03:11:13,605 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:13,605 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:13,606 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:13,606 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (13)] Waiting until timeout for monitored process [2022-07-22 03:11:13,609 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:13,618 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:13,618 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 03:11:13,619 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:13,619 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:13,619 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:13,621 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 03:11:13,621 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 03:11:13,622 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 03:11:13,637 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (13)] Forceful destruction successful, exit code 0 [2022-07-22 03:11:13,638 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:13,638 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:13,639 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:13,649 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (14)] Waiting until timeout for monitored process [2022-07-22 03:11:13,650 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:13,657 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:13,657 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:13,658 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:13,658 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:13,661 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-22 03:11:13,661 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-22 03:11:13,679 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 03:11:13,705 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (14)] Forceful destruction successful, exit code 0 [2022-07-22 03:11:13,705 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:13,705 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:13,707 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:13,713 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (15)] Waiting until timeout for monitored process [2022-07-22 03:11:13,713 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:13,726 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:13,726 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:13,726 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:13,726 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:13,728 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-22 03:11:13,729 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-22 03:11:13,744 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 03:11:13,761 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (15)] Forceful destruction successful, exit code 0 [2022-07-22 03:11:13,761 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:13,761 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:13,762 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:13,763 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (16)] Waiting until timeout for monitored process [2022-07-22 03:11:13,764 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:13,770 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:13,771 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:13,771 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:13,771 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:13,774 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-22 03:11:13,774 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-22 03:11:13,802 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 03:11:13,823 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (16)] Forceful destruction successful, exit code 0 [2022-07-22 03:11:13,823 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:13,823 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:13,824 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:13,825 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (17)] Waiting until timeout for monitored process [2022-07-22 03:11:13,826 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:13,832 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:13,832 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:13,832 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:13,832 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:13,838 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-22 03:11:13,838 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-22 03:11:13,851 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 03:11:13,879 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (17)] Forceful destruction successful, exit code 0 [2022-07-22 03:11:13,880 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:13,880 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:13,881 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:13,890 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:13,897 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:13,898 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:13,898 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:13,898 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:13,900 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-22 03:11:13,900 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-22 03:11:13,903 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (18)] Waiting until timeout for monitored process [2022-07-22 03:11:13,919 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 03:11:13,945 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (18)] Forceful destruction successful, exit code 0 [2022-07-22 03:11:13,945 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:13,945 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:13,946 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:13,947 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (19)] Waiting until timeout for monitored process [2022-07-22 03:11:13,948 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:13,955 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:13,956 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:13,956 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:13,956 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:13,958 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-22 03:11:13,958 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-22 03:11:13,972 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 03:11:13,999 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (19)] Forceful destruction successful, exit code 0 [2022-07-22 03:11:13,999 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:13,999 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:14,001 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:14,010 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:14,017 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:14,018 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:14,018 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:14,018 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:14,020 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-22 03:11:14,020 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-22 03:11:14,023 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (20)] Waiting until timeout for monitored process [2022-07-22 03:11:14,030 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 03:11:14,046 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (20)] Ended with exit code 0 [2022-07-22 03:11:14,046 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:14,047 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:14,047 INFO L229 MonitoredProcess]: Starting monitored process 21 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:14,050 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (21)] Waiting until timeout for monitored process [2022-07-22 03:11:14,052 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:14,059 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:14,059 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:14,059 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:14,059 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:14,064 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-22 03:11:14,065 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-22 03:11:14,079 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 03:11:14,095 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (21)] Forceful destruction successful, exit code 0 [2022-07-22 03:11:14,096 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:14,096 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:14,097 INFO L229 MonitoredProcess]: Starting monitored process 22 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:14,098 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (22)] Waiting until timeout for monitored process [2022-07-22 03:11:14,099 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:14,105 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:14,106 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:14,106 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:14,106 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:14,111 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-22 03:11:14,111 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-22 03:11:14,132 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2022-07-22 03:11:14,200 INFO L443 ModelExtractionUtils]: Simplification made 18 calls to the SMT solver. [2022-07-22 03:11:14,201 INFO L444 ModelExtractionUtils]: 7 out of 25 variables were initially zero. Simplification set additionally 13 variables to zero. [2022-07-22 03:11:14,202 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:14,202 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:14,227 INFO L229 MonitoredProcess]: Starting monitored process 23 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:14,252 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2022-07-22 03:11:14,260 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (23)] Waiting until timeout for monitored process [2022-07-22 03:11:14,278 INFO L438 nArgumentSynthesizer]: Removed 1 redundant supporting invariants from a total of 2. [2022-07-22 03:11:14,279 INFO L513 LassoAnalysis]: Proved termination. [2022-07-22 03:11:14,279 INFO L515 LassoAnalysis]: Termination argument consisting of: Ranking function f(v_rep(select #length ULTIMATE.start_init_nondet_~x#1.base)_1, ULTIMATE.start_init_nondet_~i~0#1) = 1*v_rep(select #length ULTIMATE.start_init_nondet_~x#1.base)_1 - 2*ULTIMATE.start_init_nondet_~i~0#1 Supporting invariants [-2*~N~0 + 1*v_rep(select #length ULTIMATE.start_main_~#x~0#1.base)_1 >= 0] [2022-07-22 03:11:14,304 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (22)] Forceful destruction successful, exit code 0 [2022-07-22 03:11:14,338 INFO L293 tatePredicateManager]: 8 out of 10 supporting invariants were superfluous and have been removed [2022-07-22 03:11:14,382 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:14,395 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 03:11:14,397 INFO L263 TraceCheckSpWp]: Trace formula consists of 47 conjuncts, 9 conjunts are in the unsatisfiable core [2022-07-22 03:11:14,399 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:11:14,412 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 03:11:14,412 INFO L263 TraceCheckSpWp]: Trace formula consists of 16 conjuncts, 7 conjunts are in the unsatisfiable core [2022-07-22 03:11:14,413 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:11:14,434 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-07-22 03:11:14,483 INFO L152 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 2 loop predicates [2022-07-22 03:11:14,484 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand has 30 states, 29 states have (on average 1.6206896551724137) internal successors, (47), 29 states have internal predecessors, (47), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand has 3 states, 3 states have (on average 1.6666666666666667) internal successors, (5), 3 states have internal predecessors, (5), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:14,512 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (23)] Forceful destruction successful, exit code 0 [2022-07-22 03:11:14,594 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand has 30 states, 29 states have (on average 1.6206896551724137) internal successors, (47), 29 states have internal predecessors, (47), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0). Second operand has 3 states, 3 states have (on average 1.6666666666666667) internal successors, (5), 3 states have internal predecessors, (5), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Result 82 states and 126 transitions. Complement of second has 8 states. [2022-07-22 03:11:14,595 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 5 states 1 stem states 2 non-accepting loop states 1 accepting loop states [2022-07-22 03:11:14,600 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 1.6666666666666667) internal successors, (5), 3 states have internal predecessors, (5), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:14,601 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 85 transitions. [2022-07-22 03:11:14,602 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 85 transitions. Stem has 3 letters. Loop has 2 letters. [2022-07-22 03:11:14,603 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-22 03:11:14,603 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 85 transitions. Stem has 5 letters. Loop has 2 letters. [2022-07-22 03:11:14,603 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-22 03:11:14,603 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 85 transitions. Stem has 3 letters. Loop has 4 letters. [2022-07-22 03:11:14,604 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-22 03:11:14,604 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 82 states and 126 transitions. [2022-07-22 03:11:14,609 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 11 [2022-07-22 03:11:14,611 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 82 states to 23 states and 33 transitions. [2022-07-22 03:11:14,612 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 20 [2022-07-22 03:11:14,613 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 21 [2022-07-22 03:11:14,613 INFO L73 IsDeterministic]: Start isDeterministic. Operand 23 states and 33 transitions. [2022-07-22 03:11:14,613 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-07-22 03:11:14,613 INFO L369 hiAutomatonCegarLoop]: Abstraction has 23 states and 33 transitions. [2022-07-22 03:11:14,626 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 23 states and 33 transitions. [2022-07-22 03:11:14,633 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 23 to 23. [2022-07-22 03:11:14,633 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 23 states have (on average 1.434782608695652) internal successors, (33), 22 states have internal predecessors, (33), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:14,634 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 33 transitions. [2022-07-22 03:11:14,635 INFO L392 hiAutomatonCegarLoop]: Abstraction has 23 states and 33 transitions. [2022-07-22 03:11:14,635 INFO L374 stractBuchiCegarLoop]: Abstraction has 23 states and 33 transitions. [2022-07-22 03:11:14,635 INFO L287 stractBuchiCegarLoop]: ======== Iteration 2 ============ [2022-07-22 03:11:14,635 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 23 states and 33 transitions. [2022-07-22 03:11:14,636 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 11 [2022-07-22 03:11:14,636 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 03:11:14,636 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 03:11:14,637 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1] [2022-07-22 03:11:14,637 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-22 03:11:14,637 INFO L752 eck$LassoCheckResult]: Stem: 206#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);~N~0 := 0; 207#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem12#1, main_#t~post11#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 215#L44 assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet2#1, init_nondet_#t~post1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0; 216#L18-3 assume !(init_nondet_~i~0#1 < ~N~0); 200#L16 assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 201#L29-3 [2022-07-22 03:11:14,637 INFO L754 eck$LassoCheckResult]: Loop: 201#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 208#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 209#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 201#L29-3 [2022-07-22 03:11:14,638 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:14,638 INFO L85 PathProgramCache]: Analyzing trace with hash 28693898, now seen corresponding path program 1 times [2022-07-22 03:11:14,638 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:14,638 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [393358118] [2022-07-22 03:11:14,638 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:14,639 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:14,647 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 03:11:14,677 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-07-22 03:11:14,677 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 03:11:14,677 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [393358118] [2022-07-22 03:11:14,678 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [393358118] provided 1 perfect and 0 imperfect interpolant sequences [2022-07-22 03:11:14,679 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-07-22 03:11:14,679 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-07-22 03:11:14,679 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [928230273] [2022-07-22 03:11:14,680 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-07-22 03:11:14,682 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 03:11:14,683 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:14,683 INFO L85 PathProgramCache]: Analyzing trace with hash 56764, now seen corresponding path program 1 times [2022-07-22 03:11:14,683 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:14,683 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2077596854] [2022-07-22 03:11:14,683 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:14,683 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:14,690 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:14,692 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:11:14,704 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:14,706 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:11:14,732 INFO L210 LassoAnalysis]: Preferences: [2022-07-22 03:11:14,732 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-22 03:11:14,732 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-22 03:11:14,732 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-22 03:11:14,732 INFO L129 ssoRankerPreferences]: Use exernal solver: true [2022-07-22 03:11:14,732 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:14,732 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-22 03:11:14,732 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-22 03:11:14,732 INFO L133 ssoRankerPreferences]: Filename of dumped script: rangesum.i_Iteration2_Loop [2022-07-22 03:11:14,732 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-22 03:11:14,732 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-22 03:11:14,733 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:14,735 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:14,786 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-22 03:11:14,787 INFO L404 LassoAnalysis]: Checking for nontermination... [2022-07-22 03:11:14,789 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:14,789 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:14,812 INFO L229 MonitoredProcess]: Starting monitored process 24 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:14,816 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-22 03:11:14,816 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 03:11:14,826 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (24)] Waiting until timeout for monitored process [2022-07-22 03:11:14,837 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-22 03:11:14,837 INFO L440 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_rangesum_#t~post3#1=0} Honda state: {ULTIMATE.start_rangesum_#t~post3#1=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2022-07-22 03:11:14,853 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (24)] Forceful destruction successful, exit code 0 [2022-07-22 03:11:14,854 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:14,854 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:14,855 INFO L229 MonitoredProcess]: Starting monitored process 25 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:14,856 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (25)] Waiting until timeout for monitored process [2022-07-22 03:11:14,857 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-22 03:11:14,857 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 03:11:14,880 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (25)] Forceful destruction successful, exit code 0 [2022-07-22 03:11:14,880 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:14,881 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:14,881 INFO L229 MonitoredProcess]: Starting monitored process 26 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:14,882 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (26)] Waiting until timeout for monitored process [2022-07-22 03:11:14,884 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2022-07-22 03:11:14,884 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 03:11:15,008 INFO L444 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2022-07-22 03:11:15,012 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (26)] Ended with exit code 0 [2022-07-22 03:11:15,012 INFO L210 LassoAnalysis]: Preferences: [2022-07-22 03:11:15,012 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-22 03:11:15,012 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-22 03:11:15,012 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-22 03:11:15,012 INFO L129 ssoRankerPreferences]: Use exernal solver: false [2022-07-22 03:11:15,013 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:15,013 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-22 03:11:15,013 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-22 03:11:15,013 INFO L133 ssoRankerPreferences]: Filename of dumped script: rangesum.i_Iteration2_Loop [2022-07-22 03:11:15,013 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-22 03:11:15,013 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-22 03:11:15,014 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:15,016 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:15,067 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-22 03:11:15,068 INFO L490 LassoAnalysis]: Using template 'affine'. [2022-07-22 03:11:15,068 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:15,068 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:15,069 INFO L229 MonitoredProcess]: Starting monitored process 27 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:15,080 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:15,088 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:15,088 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 03:11:15,088 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:15,088 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:15,088 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:15,089 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 03:11:15,089 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 03:11:15,091 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (27)] Waiting until timeout for monitored process [2022-07-22 03:11:15,099 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 03:11:15,123 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (27)] Forceful destruction successful, exit code 0 [2022-07-22 03:11:15,123 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:15,124 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:15,125 INFO L229 MonitoredProcess]: Starting monitored process 28 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:15,127 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (28)] Waiting until timeout for monitored process [2022-07-22 03:11:15,128 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:15,135 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:15,135 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 03:11:15,135 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:15,135 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:15,136 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:15,137 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 03:11:15,137 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 03:11:15,151 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2022-07-22 03:11:15,155 INFO L443 ModelExtractionUtils]: Simplification made 3 calls to the SMT solver. [2022-07-22 03:11:15,155 INFO L444 ModelExtractionUtils]: 0 out of 4 variables were initially zero. Simplification set additionally 1 variables to zero. [2022-07-22 03:11:15,162 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:15,162 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:15,168 INFO L229 MonitoredProcess]: Starting monitored process 29 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:15,176 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2022-07-22 03:11:15,176 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2022-07-22 03:11:15,176 INFO L513 LassoAnalysis]: Proved termination. [2022-07-22 03:11:15,176 INFO L515 LassoAnalysis]: Termination argument consisting of: Ranking function f(ULTIMATE.start_rangesum_~i~1#1, ~N~0) = -4*ULTIMATE.start_rangesum_~i~1#1 + 3*~N~0 Supporting invariants [] [2022-07-22 03:11:15,198 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (29)] Waiting until timeout for monitored process [2022-07-22 03:11:15,202 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (28)] Forceful destruction successful, exit code 0 [2022-07-22 03:11:15,203 INFO L293 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2022-07-22 03:11:15,214 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:15,227 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 03:11:15,228 INFO L263 TraceCheckSpWp]: Trace formula consists of 62 conjuncts, 2 conjunts are in the unsatisfiable core [2022-07-22 03:11:15,229 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:11:15,239 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 03:11:15,240 WARN L261 TraceCheckSpWp]: Trace formula consists of 6 conjuncts, 5 conjunts are in the unsatisfiable core [2022-07-22 03:11:15,240 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:11:15,279 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-07-22 03:11:15,280 INFO L152 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 3 loop predicates [2022-07-22 03:11:15,281 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 23 states and 33 transitions. cyclomatic complexity: 15 Second operand has 4 states, 4 states have (on average 2.0) internal successors, (8), 4 states have internal predecessors, (8), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:15,307 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 23 states and 33 transitions. cyclomatic complexity: 15. Second operand has 4 states, 4 states have (on average 2.0) internal successors, (8), 4 states have internal predecessors, (8), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Result 34 states and 53 transitions. Complement of second has 9 states. [2022-07-22 03:11:15,308 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 5 states 1 stem states 3 non-accepting loop states 1 accepting loop states [2022-07-22 03:11:15,308 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 2.0) internal successors, (8), 4 states have internal predecessors, (8), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:15,309 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 17 transitions. [2022-07-22 03:11:15,309 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 17 transitions. Stem has 5 letters. Loop has 3 letters. [2022-07-22 03:11:15,309 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-22 03:11:15,309 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 17 transitions. Stem has 8 letters. Loop has 3 letters. [2022-07-22 03:11:15,309 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-22 03:11:15,309 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 17 transitions. Stem has 5 letters. Loop has 6 letters. [2022-07-22 03:11:15,310 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-22 03:11:15,310 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 34 states and 53 transitions. [2022-07-22 03:11:15,311 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 11 [2022-07-22 03:11:15,313 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 34 states to 31 states and 46 transitions. [2022-07-22 03:11:15,313 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 22 [2022-07-22 03:11:15,313 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 24 [2022-07-22 03:11:15,313 INFO L73 IsDeterministic]: Start isDeterministic. Operand 31 states and 46 transitions. [2022-07-22 03:11:15,313 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 03:11:15,313 INFO L369 hiAutomatonCegarLoop]: Abstraction has 31 states and 46 transitions. [2022-07-22 03:11:15,314 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 31 states and 46 transitions. [2022-07-22 03:11:15,315 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 31 to 29. [2022-07-22 03:11:15,316 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 29 states have (on average 1.4827586206896552) internal successors, (43), 28 states have internal predecessors, (43), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:15,320 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 43 transitions. [2022-07-22 03:11:15,320 INFO L392 hiAutomatonCegarLoop]: Abstraction has 29 states and 43 transitions. [2022-07-22 03:11:15,322 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 03:11:15,325 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-07-22 03:11:15,326 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-07-22 03:11:15,327 INFO L87 Difference]: Start difference. First operand 29 states and 43 transitions. Second operand has 3 states, 3 states have (on average 1.6666666666666667) internal successors, (5), 3 states have internal predecessors, (5), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:15,352 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 03:11:15,353 INFO L93 Difference]: Finished difference Result 30 states and 43 transitions. [2022-07-22 03:11:15,353 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-07-22 03:11:15,354 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 30 states and 43 transitions. [2022-07-22 03:11:15,354 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 11 [2022-07-22 03:11:15,355 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 30 states to 30 states and 43 transitions. [2022-07-22 03:11:15,355 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 22 [2022-07-22 03:11:15,355 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 22 [2022-07-22 03:11:15,355 INFO L73 IsDeterministic]: Start isDeterministic. Operand 30 states and 43 transitions. [2022-07-22 03:11:15,356 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 03:11:15,356 INFO L369 hiAutomatonCegarLoop]: Abstraction has 30 states and 43 transitions. [2022-07-22 03:11:15,356 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 30 states and 43 transitions. [2022-07-22 03:11:15,357 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 30 to 29. [2022-07-22 03:11:15,358 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 29 states have (on average 1.4482758620689655) internal successors, (42), 28 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:15,358 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 42 transitions. [2022-07-22 03:11:15,358 INFO L392 hiAutomatonCegarLoop]: Abstraction has 29 states and 42 transitions. [2022-07-22 03:11:15,358 INFO L374 stractBuchiCegarLoop]: Abstraction has 29 states and 42 transitions. [2022-07-22 03:11:15,359 INFO L287 stractBuchiCegarLoop]: ======== Iteration 3 ============ [2022-07-22 03:11:15,359 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 29 states and 42 transitions. [2022-07-22 03:11:15,359 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 11 [2022-07-22 03:11:15,359 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 03:11:15,359 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 03:11:15,360 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 03:11:15,360 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-22 03:11:15,363 INFO L752 eck$LassoCheckResult]: Stem: 371#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);~N~0 := 0; 372#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem12#1, main_#t~post11#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 385#L44 assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet2#1, init_nondet_#t~post1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0; 386#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 393#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 394#L18-3 assume !(init_nondet_~i~0#1 < ~N~0); 367#L16 assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 368#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 373#L30 [2022-07-22 03:11:15,363 INFO L754 eck$LassoCheckResult]: Loop: 373#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 374#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 391#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 373#L30 [2022-07-22 03:11:15,364 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:15,364 INFO L85 PathProgramCache]: Analyzing trace with hash 123162479, now seen corresponding path program 1 times [2022-07-22 03:11:15,364 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:15,364 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [512758313] [2022-07-22 03:11:15,364 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:15,365 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:15,390 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 03:11:15,420 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-07-22 03:11:15,420 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 03:11:15,420 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [512758313] [2022-07-22 03:11:15,420 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [512758313] provided 0 perfect and 1 imperfect interpolant sequences [2022-07-22 03:11:15,420 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [638308542] [2022-07-22 03:11:15,421 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:15,421 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:11:15,421 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:15,422 INFO L229 MonitoredProcess]: Starting monitored process 30 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:11:15,423 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (30)] Waiting until timeout for monitored process [2022-07-22 03:11:15,460 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 03:11:15,460 INFO L263 TraceCheckSpWp]: Trace formula consists of 74 conjuncts, 4 conjunts are in the unsatisfiable core [2022-07-22 03:11:15,461 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:11:15,491 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-07-22 03:11:15,491 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 03:11:15,510 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-07-22 03:11:15,510 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [638308542] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 03:11:15,510 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-07-22 03:11:15,510 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 7 [2022-07-22 03:11:15,510 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1175020912] [2022-07-22 03:11:15,510 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-07-22 03:11:15,511 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 03:11:15,511 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:15,511 INFO L85 PathProgramCache]: Analyzing trace with hash 59702, now seen corresponding path program 1 times [2022-07-22 03:11:15,511 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:15,511 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [429761554] [2022-07-22 03:11:15,511 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:15,511 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:15,525 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:15,525 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:11:15,535 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:15,540 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:11:15,607 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 03:11:15,607 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-07-22 03:11:15,608 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=22, Unknown=0, NotChecked=0, Total=42 [2022-07-22 03:11:15,608 INFO L87 Difference]: Start difference. First operand 29 states and 42 transitions. cyclomatic complexity: 19 Second operand has 7 states, 7 states have (on average 2.142857142857143) internal successors, (15), 7 states have internal predecessors, (15), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:15,658 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 03:11:15,658 INFO L93 Difference]: Finished difference Result 32 states and 45 transitions. [2022-07-22 03:11:15,658 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-07-22 03:11:15,659 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 32 states and 45 transitions. [2022-07-22 03:11:15,660 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 11 [2022-07-22 03:11:15,660 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 32 states to 32 states and 45 transitions. [2022-07-22 03:11:15,660 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 22 [2022-07-22 03:11:15,660 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 22 [2022-07-22 03:11:15,661 INFO L73 IsDeterministic]: Start isDeterministic. Operand 32 states and 45 transitions. [2022-07-22 03:11:15,661 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 03:11:15,661 INFO L369 hiAutomatonCegarLoop]: Abstraction has 32 states and 45 transitions. [2022-07-22 03:11:15,661 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states and 45 transitions. [2022-07-22 03:11:15,667 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 31. [2022-07-22 03:11:15,667 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 31 states have (on average 1.4193548387096775) internal successors, (44), 30 states have internal predecessors, (44), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:15,668 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 44 transitions. [2022-07-22 03:11:15,668 INFO L392 hiAutomatonCegarLoop]: Abstraction has 31 states and 44 transitions. [2022-07-22 03:11:15,668 INFO L374 stractBuchiCegarLoop]: Abstraction has 31 states and 44 transitions. [2022-07-22 03:11:15,668 INFO L287 stractBuchiCegarLoop]: ======== Iteration 4 ============ [2022-07-22 03:11:15,668 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 31 states and 44 transitions. [2022-07-22 03:11:15,668 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 11 [2022-07-22 03:11:15,668 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 03:11:15,668 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 03:11:15,669 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [2, 2, 1, 1, 1, 1, 1, 1] [2022-07-22 03:11:15,669 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-22 03:11:15,669 INFO L752 eck$LassoCheckResult]: Stem: 484#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);~N~0 := 0; 485#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem12#1, main_#t~post11#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 498#L44 assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet2#1, init_nondet_#t~post1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0; 499#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 506#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 507#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 508#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 509#L18-3 assume !(init_nondet_~i~0#1 < ~N~0); 480#L16 assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 481#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 486#L30 [2022-07-22 03:11:15,669 INFO L754 eck$LassoCheckResult]: Loop: 486#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 487#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 504#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 486#L30 [2022-07-22 03:11:15,669 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:15,669 INFO L85 PathProgramCache]: Analyzing trace with hash -1898228851, now seen corresponding path program 2 times [2022-07-22 03:11:15,669 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:15,670 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1729208543] [2022-07-22 03:11:15,670 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:15,670 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:15,679 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:15,679 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:11:15,697 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:15,701 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:11:15,701 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:15,701 INFO L85 PathProgramCache]: Analyzing trace with hash 59702, now seen corresponding path program 2 times [2022-07-22 03:11:15,701 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:15,701 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1213240535] [2022-07-22 03:11:15,702 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:15,702 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:15,706 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:15,707 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:11:15,710 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:15,711 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:11:15,712 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:15,712 INFO L85 PathProgramCache]: Analyzing trace with hash 1698716202, now seen corresponding path program 1 times [2022-07-22 03:11:15,712 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:15,712 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1516841077] [2022-07-22 03:11:15,712 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:15,712 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:15,724 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 03:11:15,727 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (29)] Forceful destruction successful, exit code 0 [2022-07-22 03:11:15,749 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-07-22 03:11:15,750 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 03:11:15,750 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1516841077] [2022-07-22 03:11:15,750 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1516841077] provided 1 perfect and 0 imperfect interpolant sequences [2022-07-22 03:11:15,750 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-07-22 03:11:15,750 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-07-22 03:11:15,750 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [463020163] [2022-07-22 03:11:15,750 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-07-22 03:11:15,805 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 03:11:15,806 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-07-22 03:11:15,806 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-07-22 03:11:15,806 INFO L87 Difference]: Start difference. First operand 31 states and 44 transitions. cyclomatic complexity: 19 Second operand has 4 states, 4 states have (on average 2.75) internal successors, (11), 4 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:15,865 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 03:11:15,865 INFO L93 Difference]: Finished difference Result 40 states and 51 transitions. [2022-07-22 03:11:15,866 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-07-22 03:11:15,867 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 40 states and 51 transitions. [2022-07-22 03:11:15,867 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 11 [2022-07-22 03:11:15,868 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 40 states to 39 states and 50 transitions. [2022-07-22 03:11:15,868 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 28 [2022-07-22 03:11:15,868 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 28 [2022-07-22 03:11:15,868 INFO L73 IsDeterministic]: Start isDeterministic. Operand 39 states and 50 transitions. [2022-07-22 03:11:15,868 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 03:11:15,868 INFO L369 hiAutomatonCegarLoop]: Abstraction has 39 states and 50 transitions. [2022-07-22 03:11:15,869 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 39 states and 50 transitions. [2022-07-22 03:11:15,870 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 39 to 36. [2022-07-22 03:11:15,870 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 36 states have (on average 1.3055555555555556) internal successors, (47), 35 states have internal predecessors, (47), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:15,871 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 47 transitions. [2022-07-22 03:11:15,871 INFO L392 hiAutomatonCegarLoop]: Abstraction has 36 states and 47 transitions. [2022-07-22 03:11:15,871 INFO L374 stractBuchiCegarLoop]: Abstraction has 36 states and 47 transitions. [2022-07-22 03:11:15,871 INFO L287 stractBuchiCegarLoop]: ======== Iteration 5 ============ [2022-07-22 03:11:15,871 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 36 states and 47 transitions. [2022-07-22 03:11:15,872 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 11 [2022-07-22 03:11:15,872 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 03:11:15,872 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 03:11:15,872 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 03:11:15,872 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-22 03:11:15,872 INFO L752 eck$LassoCheckResult]: Stem: 564#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);~N~0 := 0; 565#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem12#1, main_#t~post11#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 577#L44 assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet2#1, init_nondet_#t~post1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0; 578#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 585#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 586#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 587#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 592#L18-3 assume !(init_nondet_~i~0#1 < ~N~0); 560#L16 assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 561#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 568#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 569#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 593#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 566#L30 [2022-07-22 03:11:15,872 INFO L754 eck$LassoCheckResult]: Loop: 566#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 567#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 590#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 566#L30 [2022-07-22 03:11:15,873 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:15,873 INFO L85 PathProgramCache]: Analyzing trace with hash 1698718124, now seen corresponding path program 1 times [2022-07-22 03:11:15,873 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:15,873 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1889674739] [2022-07-22 03:11:15,873 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:15,873 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:15,887 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:15,887 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:11:15,896 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:15,899 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:11:15,899 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:15,899 INFO L85 PathProgramCache]: Analyzing trace with hash 59702, now seen corresponding path program 3 times [2022-07-22 03:11:15,900 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:15,900 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2040982287] [2022-07-22 03:11:15,900 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:15,900 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:15,904 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:15,904 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:11:15,908 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:15,909 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:11:15,909 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:15,909 INFO L85 PathProgramCache]: Analyzing trace with hash -1087986773, now seen corresponding path program 1 times [2022-07-22 03:11:15,910 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:15,910 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1590732687] [2022-07-22 03:11:15,910 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:15,910 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:15,927 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 03:11:16,058 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 3 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-07-22 03:11:16,058 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 03:11:16,058 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1590732687] [2022-07-22 03:11:16,058 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1590732687] provided 0 perfect and 1 imperfect interpolant sequences [2022-07-22 03:11:16,059 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [280724839] [2022-07-22 03:11:16,059 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:16,059 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:11:16,059 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:16,060 INFO L229 MonitoredProcess]: Starting monitored process 31 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:11:16,062 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (31)] Waiting until timeout for monitored process [2022-07-22 03:11:16,106 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 03:11:16,107 INFO L263 TraceCheckSpWp]: Trace formula consists of 101 conjuncts, 8 conjunts are in the unsatisfiable core [2022-07-22 03:11:16,109 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:11:16,221 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 5 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-07-22 03:11:16,221 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 03:11:16,285 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 5 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-07-22 03:11:16,285 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [280724839] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 03:11:16,285 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-07-22 03:11:16,286 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8, 8] total 18 [2022-07-22 03:11:16,286 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [82763082] [2022-07-22 03:11:16,286 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-07-22 03:11:16,340 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 03:11:16,341 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-07-22 03:11:16,341 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=58, Invalid=248, Unknown=0, NotChecked=0, Total=306 [2022-07-22 03:11:16,341 INFO L87 Difference]: Start difference. First operand 36 states and 47 transitions. cyclomatic complexity: 17 Second operand has 18 states, 18 states have (on average 2.111111111111111) internal successors, (38), 18 states have internal predecessors, (38), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:16,719 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 03:11:16,719 INFO L93 Difference]: Finished difference Result 75 states and 94 transitions. [2022-07-22 03:11:16,720 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-07-22 03:11:16,721 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 75 states and 94 transitions. [2022-07-22 03:11:16,722 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 13 [2022-07-22 03:11:16,722 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 75 states to 65 states and 83 transitions. [2022-07-22 03:11:16,722 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 46 [2022-07-22 03:11:16,723 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 52 [2022-07-22 03:11:16,723 INFO L73 IsDeterministic]: Start isDeterministic. Operand 65 states and 83 transitions. [2022-07-22 03:11:16,723 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 03:11:16,723 INFO L369 hiAutomatonCegarLoop]: Abstraction has 65 states and 83 transitions. [2022-07-22 03:11:16,723 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 65 states and 83 transitions. [2022-07-22 03:11:16,726 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 65 to 59. [2022-07-22 03:11:16,726 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 59 states, 59 states have (on average 1.271186440677966) internal successors, (75), 58 states have internal predecessors, (75), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:16,726 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 75 transitions. [2022-07-22 03:11:16,726 INFO L392 hiAutomatonCegarLoop]: Abstraction has 59 states and 75 transitions. [2022-07-22 03:11:16,726 INFO L374 stractBuchiCegarLoop]: Abstraction has 59 states and 75 transitions. [2022-07-22 03:11:16,727 INFO L287 stractBuchiCegarLoop]: ======== Iteration 6 ============ [2022-07-22 03:11:16,727 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 59 states and 75 transitions. [2022-07-22 03:11:16,727 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 13 [2022-07-22 03:11:16,727 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 03:11:16,727 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 03:11:16,728 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [3, 3, 2, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 03:11:16,728 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-22 03:11:16,728 INFO L752 eck$LassoCheckResult]: Stem: 806#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);~N~0 := 0; 807#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem12#1, main_#t~post11#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 815#L44 assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet2#1, init_nondet_#t~post1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0; 816#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 827#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 856#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 855#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 854#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 825#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 826#L18-3 assume !(init_nondet_~i~0#1 < ~N~0); 798#L16 assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 799#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 810#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 811#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 843#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 844#L30 [2022-07-22 03:11:16,728 INFO L754 eck$LassoCheckResult]: Loop: 844#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 846#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 845#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 844#L30 [2022-07-22 03:11:16,728 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:16,728 INFO L85 PathProgramCache]: Analyzing trace with hash -154124210, now seen corresponding path program 2 times [2022-07-22 03:11:16,728 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:16,729 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1567580183] [2022-07-22 03:11:16,729 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:16,729 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:16,740 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:16,741 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:11:16,748 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:16,751 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:11:16,752 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:16,752 INFO L85 PathProgramCache]: Analyzing trace with hash 59702, now seen corresponding path program 4 times [2022-07-22 03:11:16,752 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:16,752 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1008848276] [2022-07-22 03:11:16,752 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:16,753 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:16,757 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:16,757 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:11:16,760 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:16,761 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:11:16,762 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:16,762 INFO L85 PathProgramCache]: Analyzing trace with hash -194270775, now seen corresponding path program 2 times [2022-07-22 03:11:16,762 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:16,762 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1356402569] [2022-07-22 03:11:16,762 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:16,763 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:16,773 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 03:11:16,847 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 4 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-07-22 03:11:16,848 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 03:11:16,848 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1356402569] [2022-07-22 03:11:16,848 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1356402569] provided 0 perfect and 1 imperfect interpolant sequences [2022-07-22 03:11:16,848 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1014652484] [2022-07-22 03:11:16,849 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-07-22 03:11:16,849 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:11:16,849 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:16,851 INFO L229 MonitoredProcess]: Starting monitored process 32 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:11:16,871 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (32)] Waiting until timeout for monitored process [2022-07-22 03:11:16,906 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-07-22 03:11:16,906 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 03:11:16,906 INFO L263 TraceCheckSpWp]: Trace formula consists of 112 conjuncts, 8 conjunts are in the unsatisfiable core [2022-07-22 03:11:16,908 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:11:17,022 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 7 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-07-22 03:11:17,022 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 03:11:17,212 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 12 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-07-22 03:11:17,213 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1014652484] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 03:11:17,213 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-07-22 03:11:17,213 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8, 8] total 19 [2022-07-22 03:11:17,213 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1485944598] [2022-07-22 03:11:17,213 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-07-22 03:11:17,274 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 03:11:17,274 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-07-22 03:11:17,275 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=103, Invalid=239, Unknown=0, NotChecked=0, Total=342 [2022-07-22 03:11:17,275 INFO L87 Difference]: Start difference. First operand 59 states and 75 transitions. cyclomatic complexity: 23 Second operand has 19 states, 19 states have (on average 2.210526315789474) internal successors, (42), 19 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:17,563 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 03:11:17,563 INFO L93 Difference]: Finished difference Result 74 states and 88 transitions. [2022-07-22 03:11:17,564 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-07-22 03:11:17,564 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 74 states and 88 transitions. [2022-07-22 03:11:17,565 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 15 [2022-07-22 03:11:17,566 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 74 states to 73 states and 87 transitions. [2022-07-22 03:11:17,566 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 57 [2022-07-22 03:11:17,566 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 57 [2022-07-22 03:11:17,566 INFO L73 IsDeterministic]: Start isDeterministic. Operand 73 states and 87 transitions. [2022-07-22 03:11:17,567 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 03:11:17,567 INFO L369 hiAutomatonCegarLoop]: Abstraction has 73 states and 87 transitions. [2022-07-22 03:11:17,567 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 73 states and 87 transitions. [2022-07-22 03:11:17,570 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 73 to 68. [2022-07-22 03:11:17,570 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 68 states, 68 states have (on average 1.2058823529411764) internal successors, (82), 67 states have internal predecessors, (82), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:17,571 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 82 transitions. [2022-07-22 03:11:17,571 INFO L392 hiAutomatonCegarLoop]: Abstraction has 68 states and 82 transitions. [2022-07-22 03:11:17,571 INFO L374 stractBuchiCegarLoop]: Abstraction has 68 states and 82 transitions. [2022-07-22 03:11:17,571 INFO L287 stractBuchiCegarLoop]: ======== Iteration 7 ============ [2022-07-22 03:11:17,571 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 68 states and 82 transitions. [2022-07-22 03:11:17,572 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 13 [2022-07-22 03:11:17,572 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 03:11:17,572 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 03:11:17,573 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [3, 3, 3, 2, 2, 1, 1, 1, 1, 1] [2022-07-22 03:11:17,573 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-22 03:11:17,573 INFO L752 eck$LassoCheckResult]: Stem: 1083#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);~N~0 := 0; 1084#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem12#1, main_#t~post11#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 1089#L44 assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet2#1, init_nondet_#t~post1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0; 1090#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 1099#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 1100#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 1101#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 1135#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 1134#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 1133#L18-3 assume !(init_nondet_~i~0#1 < ~N~0); 1131#L16 assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 1096#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 1077#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 1078#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 1129#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 1126#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 1117#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 1112#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 1113#L30 [2022-07-22 03:11:17,573 INFO L754 eck$LassoCheckResult]: Loop: 1113#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 1128#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 1125#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 1113#L30 [2022-07-22 03:11:17,574 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:17,574 INFO L85 PathProgramCache]: Analyzing trace with hash -194268853, now seen corresponding path program 3 times [2022-07-22 03:11:17,574 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:17,574 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1119906619] [2022-07-22 03:11:17,574 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:17,574 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:17,585 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:17,586 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:11:17,593 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:17,597 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:11:17,597 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:17,597 INFO L85 PathProgramCache]: Analyzing trace with hash 59702, now seen corresponding path program 5 times [2022-07-22 03:11:17,598 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:17,598 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [663186902] [2022-07-22 03:11:17,598 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:17,598 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:17,602 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:17,603 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:11:17,606 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:17,607 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:11:17,608 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:17,608 INFO L85 PathProgramCache]: Analyzing trace with hash -2142422100, now seen corresponding path program 3 times [2022-07-22 03:11:17,608 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:17,608 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1814391980] [2022-07-22 03:11:17,608 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:17,609 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:17,619 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 03:11:17,673 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 0 proven. 18 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-07-22 03:11:17,674 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 03:11:17,674 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1814391980] [2022-07-22 03:11:17,674 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1814391980] provided 0 perfect and 1 imperfect interpolant sequences [2022-07-22 03:11:17,674 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [558189912] [2022-07-22 03:11:17,675 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-07-22 03:11:17,675 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:11:17,675 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:17,679 INFO L229 MonitoredProcess]: Starting monitored process 33 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:11:17,701 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (33)] Waiting until timeout for monitored process [2022-07-22 03:11:17,734 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2022-07-22 03:11:17,734 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 03:11:17,735 INFO L263 TraceCheckSpWp]: Trace formula consists of 116 conjuncts, 10 conjunts are in the unsatisfiable core [2022-07-22 03:11:17,737 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:11:17,818 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 12 proven. 9 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-07-22 03:11:17,819 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 03:11:17,870 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 12 proven. 9 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-07-22 03:11:17,870 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [558189912] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 03:11:17,870 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-07-22 03:11:17,870 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 10, 10] total 16 [2022-07-22 03:11:17,870 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2107439752] [2022-07-22 03:11:17,871 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-07-22 03:11:17,939 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 03:11:17,939 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-07-22 03:11:17,939 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=72, Invalid=200, Unknown=0, NotChecked=0, Total=272 [2022-07-22 03:11:17,940 INFO L87 Difference]: Start difference. First operand 68 states and 82 transitions. cyclomatic complexity: 21 Second operand has 17 states, 16 states have (on average 2.625) internal successors, (42), 17 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:18,270 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 03:11:18,270 INFO L93 Difference]: Finished difference Result 119 states and 141 transitions. [2022-07-22 03:11:18,270 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-07-22 03:11:18,271 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 119 states and 141 transitions. [2022-07-22 03:11:18,272 INFO L131 ngComponentsAnalysis]: Automaton has 7 accepting balls. 17 [2022-07-22 03:11:18,273 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 119 states to 104 states and 125 transitions. [2022-07-22 03:11:18,273 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 80 [2022-07-22 03:11:18,273 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 86 [2022-07-22 03:11:18,273 INFO L73 IsDeterministic]: Start isDeterministic. Operand 104 states and 125 transitions. [2022-07-22 03:11:18,273 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 03:11:18,273 INFO L369 hiAutomatonCegarLoop]: Abstraction has 104 states and 125 transitions. [2022-07-22 03:11:18,274 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 104 states and 125 transitions. [2022-07-22 03:11:18,277 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 104 to 91. [2022-07-22 03:11:18,277 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 91 states, 91 states have (on average 1.1978021978021978) internal successors, (109), 90 states have internal predecessors, (109), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:18,278 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 91 states to 91 states and 109 transitions. [2022-07-22 03:11:18,278 INFO L392 hiAutomatonCegarLoop]: Abstraction has 91 states and 109 transitions. [2022-07-22 03:11:18,278 INFO L374 stractBuchiCegarLoop]: Abstraction has 91 states and 109 transitions. [2022-07-22 03:11:18,278 INFO L287 stractBuchiCegarLoop]: ======== Iteration 8 ============ [2022-07-22 03:11:18,278 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 91 states and 109 transitions. [2022-07-22 03:11:18,279 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 13 [2022-07-22 03:11:18,279 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 03:11:18,279 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 03:11:18,279 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [4, 4, 3, 2, 2, 1, 1, 1, 1, 1] [2022-07-22 03:11:18,279 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-22 03:11:18,280 INFO L752 eck$LassoCheckResult]: Stem: 1426#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);~N~0 := 0; 1427#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem12#1, main_#t~post11#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 1440#L44 assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet2#1, init_nondet_#t~post1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0; 1441#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 1449#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 1450#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 1447#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 1448#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 1486#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 1485#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 1483#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 1482#L18-3 assume !(init_nondet_~i~0#1 < ~N~0); 1481#L16 assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 1479#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 1430#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 1431#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 1457#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 1477#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 1475#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 1472#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 1473#L30 [2022-07-22 03:11:18,280 INFO L754 eck$LassoCheckResult]: Loop: 1473#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 1476#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 1474#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 1473#L30 [2022-07-22 03:11:18,280 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:18,280 INFO L85 PathProgramCache]: Analyzing trace with hash -326653975, now seen corresponding path program 4 times [2022-07-22 03:11:18,280 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:18,280 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1364217761] [2022-07-22 03:11:18,281 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:18,281 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:18,292 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:18,292 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:11:18,301 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:18,304 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:11:18,304 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:18,304 INFO L85 PathProgramCache]: Analyzing trace with hash 59702, now seen corresponding path program 6 times [2022-07-22 03:11:18,305 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:18,305 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [537350374] [2022-07-22 03:11:18,305 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:18,305 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:18,308 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:18,308 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:11:18,310 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:18,312 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:11:18,312 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:18,312 INFO L85 PathProgramCache]: Analyzing trace with hash 1047353422, now seen corresponding path program 4 times [2022-07-22 03:11:18,312 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:18,312 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [683718331] [2022-07-22 03:11:18,312 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:18,312 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:18,322 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 03:11:18,385 INFO L134 CoverageAnalysis]: Checked inductivity of 28 backedges. 0 proven. 21 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-07-22 03:11:18,386 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 03:11:18,386 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [683718331] [2022-07-22 03:11:18,386 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [683718331] provided 0 perfect and 1 imperfect interpolant sequences [2022-07-22 03:11:18,386 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1415222560] [2022-07-22 03:11:18,386 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-07-22 03:11:18,386 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:11:18,386 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:18,420 INFO L229 MonitoredProcess]: Starting monitored process 34 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:11:18,421 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (34)] Waiting until timeout for monitored process [2022-07-22 03:11:18,466 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-07-22 03:11:18,466 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 03:11:18,467 INFO L263 TraceCheckSpWp]: Trace formula consists of 106 conjuncts, 10 conjunts are in the unsatisfiable core [2022-07-22 03:11:18,468 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:11:18,624 INFO L134 CoverageAnalysis]: Checked inductivity of 28 backedges. 14 proven. 14 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-07-22 03:11:18,624 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 03:11:18,907 INFO L134 CoverageAnalysis]: Checked inductivity of 28 backedges. 21 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-07-22 03:11:18,907 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1415222560] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 03:11:18,907 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-07-22 03:11:18,907 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 10, 10] total 25 [2022-07-22 03:11:18,907 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [885504243] [2022-07-22 03:11:18,907 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-07-22 03:11:18,975 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 03:11:18,976 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2022-07-22 03:11:18,976 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=112, Invalid=488, Unknown=0, NotChecked=0, Total=600 [2022-07-22 03:11:18,976 INFO L87 Difference]: Start difference. First operand 91 states and 109 transitions. cyclomatic complexity: 25 Second operand has 25 states, 25 states have (on average 2.28) internal successors, (57), 25 states have internal predecessors, (57), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:19,859 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 03:11:19,860 INFO L93 Difference]: Finished difference Result 166 states and 193 transitions. [2022-07-22 03:11:19,860 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 30 states. [2022-07-22 03:11:19,861 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 166 states and 193 transitions. [2022-07-22 03:11:19,862 INFO L131 ngComponentsAnalysis]: Automaton has 9 accepting balls. 25 [2022-07-22 03:11:19,863 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 166 states to 160 states and 187 transitions. [2022-07-22 03:11:19,863 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 126 [2022-07-22 03:11:19,863 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 126 [2022-07-22 03:11:19,863 INFO L73 IsDeterministic]: Start isDeterministic. Operand 160 states and 187 transitions. [2022-07-22 03:11:19,863 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 03:11:19,863 INFO L369 hiAutomatonCegarLoop]: Abstraction has 160 states and 187 transitions. [2022-07-22 03:11:19,864 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 160 states and 187 transitions. [2022-07-22 03:11:19,868 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 160 to 139. [2022-07-22 03:11:19,868 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 139 states, 139 states have (on average 1.1870503597122302) internal successors, (165), 138 states have internal predecessors, (165), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:19,869 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 139 states to 139 states and 165 transitions. [2022-07-22 03:11:19,869 INFO L392 hiAutomatonCegarLoop]: Abstraction has 139 states and 165 transitions. [2022-07-22 03:11:19,869 INFO L374 stractBuchiCegarLoop]: Abstraction has 139 states and 165 transitions. [2022-07-22 03:11:19,869 INFO L287 stractBuchiCegarLoop]: ======== Iteration 9 ============ [2022-07-22 03:11:19,869 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 139 states and 165 transitions. [2022-07-22 03:11:19,870 INFO L131 ngComponentsAnalysis]: Automaton has 8 accepting balls. 21 [2022-07-22 03:11:19,870 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 03:11:19,870 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 03:11:19,875 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [5, 5, 4, 3, 3, 1, 1, 1, 1, 1] [2022-07-22 03:11:19,875 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-22 03:11:19,876 INFO L752 eck$LassoCheckResult]: Stem: 1907#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);~N~0 := 0; 1908#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem12#1, main_#t~post11#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 1912#L44 assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet2#1, init_nondet_#t~post1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0; 1913#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 1923#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 1987#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 1986#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 1984#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 1985#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 1998#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 1921#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 1922#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 1926#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 1924#L18-3 assume !(init_nondet_~i~0#1 < ~N~0); 1925#L16 assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 1917#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 1918#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 2001#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 2002#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 1901#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 1902#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 2008#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 1953#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 1954#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 1945#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 1947#L30 [2022-07-22 03:11:19,876 INFO L754 eck$LassoCheckResult]: Loop: 1947#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 1932#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 1933#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 1947#L30 [2022-07-22 03:11:19,878 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:19,879 INFO L85 PathProgramCache]: Analyzing trace with hash -185017358, now seen corresponding path program 5 times [2022-07-22 03:11:19,879 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:19,879 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [915517037] [2022-07-22 03:11:19,879 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:19,879 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:19,897 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:19,897 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:11:19,907 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:19,918 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:11:19,918 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:19,919 INFO L85 PathProgramCache]: Analyzing trace with hash 59702, now seen corresponding path program 7 times [2022-07-22 03:11:19,919 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:19,919 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1792410902] [2022-07-22 03:11:19,919 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:19,919 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:19,932 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:19,932 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:11:19,934 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:19,935 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:11:19,936 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:19,936 INFO L85 PathProgramCache]: Analyzing trace with hash -1409041499, now seen corresponding path program 5 times [2022-07-22 03:11:19,936 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:19,936 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1820696411] [2022-07-22 03:11:19,936 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:19,936 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:19,962 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:19,963 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:11:19,971 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:19,982 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:11:21,080 INFO L210 LassoAnalysis]: Preferences: [2022-07-22 03:11:21,080 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-22 03:11:21,080 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-22 03:11:21,080 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-22 03:11:21,081 INFO L129 ssoRankerPreferences]: Use exernal solver: false [2022-07-22 03:11:21,081 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:21,081 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-22 03:11:21,081 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-22 03:11:21,081 INFO L133 ssoRankerPreferences]: Filename of dumped script: rangesum.i_Iteration9_Lasso [2022-07-22 03:11:21,081 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-22 03:11:21,081 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-22 03:11:21,084 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:21,085 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:21,087 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:21,089 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:21,091 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:21,093 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:21,095 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:21,097 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:21,099 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:21,101 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:21,102 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:21,105 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:21,106 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:21,658 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:21,660 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:21,663 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:21,664 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:21,667 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:21,669 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:21,671 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:21,673 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:21,675 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:21,676 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:21,678 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:22,147 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-22 03:11:22,147 INFO L490 LassoAnalysis]: Using template 'affine'. [2022-07-22 03:11:22,148 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:22,148 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:22,188 INFO L229 MonitoredProcess]: Starting monitored process 35 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:22,190 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (35)] Waiting until timeout for monitored process [2022-07-22 03:11:22,191 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:22,198 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:22,198 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 03:11:22,198 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:22,198 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:22,199 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:22,199 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 03:11:22,199 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 03:11:22,214 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 03:11:22,239 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (35)] Forceful destruction successful, exit code 0 [2022-07-22 03:11:22,240 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:22,240 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:22,242 INFO L229 MonitoredProcess]: Starting monitored process 36 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:22,244 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (36)] Waiting until timeout for monitored process [2022-07-22 03:11:22,245 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:22,252 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:22,252 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 03:11:22,252 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:22,252 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:22,252 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:22,253 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 03:11:22,253 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 03:11:22,279 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 03:11:22,303 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (36)] Forceful destruction successful, exit code 0 [2022-07-22 03:11:22,304 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:22,304 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:22,305 INFO L229 MonitoredProcess]: Starting monitored process 37 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:22,306 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (37)] Waiting until timeout for monitored process [2022-07-22 03:11:22,307 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:22,313 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:22,313 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 03:11:22,313 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:22,313 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:22,313 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:22,314 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 03:11:22,314 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 03:11:22,314 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 03:11:22,329 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (37)] Ended with exit code 0 [2022-07-22 03:11:22,330 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:22,330 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:22,331 INFO L229 MonitoredProcess]: Starting monitored process 38 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:22,331 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (38)] Waiting until timeout for monitored process [2022-07-22 03:11:22,333 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:22,340 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:22,340 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:22,340 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:22,340 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:22,341 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-22 03:11:22,342 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-22 03:11:22,343 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 03:11:22,359 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (38)] Forceful destruction successful, exit code 0 [2022-07-22 03:11:22,360 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:22,360 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:22,361 INFO L229 MonitoredProcess]: Starting monitored process 39 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:22,361 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (39)] Waiting until timeout for monitored process [2022-07-22 03:11:22,362 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:22,368 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:22,368 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 03:11:22,368 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:22,368 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:22,369 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:22,369 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 03:11:22,369 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 03:11:22,370 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 03:11:22,385 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (39)] Ended with exit code 0 [2022-07-22 03:11:22,385 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:22,386 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:22,387 INFO L229 MonitoredProcess]: Starting monitored process 40 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:22,389 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (40)] Waiting until timeout for monitored process [2022-07-22 03:11:22,389 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:22,395 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:22,395 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 03:11:22,395 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:22,395 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:22,396 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:22,396 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 03:11:22,396 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 03:11:22,397 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 03:11:22,415 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (40)] Forceful destruction successful, exit code 0 [2022-07-22 03:11:22,415 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:22,415 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:22,416 INFO L229 MonitoredProcess]: Starting monitored process 41 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:22,417 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (41)] Waiting until timeout for monitored process [2022-07-22 03:11:22,420 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:22,426 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:22,426 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 03:11:22,426 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:22,427 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:22,427 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:22,427 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 03:11:22,427 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 03:11:22,429 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 03:11:22,444 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (41)] Forceful destruction successful, exit code 0 [2022-07-22 03:11:22,445 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:22,445 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:22,446 INFO L229 MonitoredProcess]: Starting monitored process 42 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:22,447 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (42)] Waiting until timeout for monitored process [2022-07-22 03:11:22,448 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:22,453 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:22,454 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 03:11:22,454 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:22,454 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:22,454 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:22,454 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 03:11:22,454 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 03:11:22,455 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 03:11:22,471 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (42)] Forceful destruction successful, exit code 0 [2022-07-22 03:11:22,471 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:22,471 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:22,472 INFO L229 MonitoredProcess]: Starting monitored process 43 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:22,473 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (43)] Waiting until timeout for monitored process [2022-07-22 03:11:22,474 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:22,480 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:22,480 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 03:11:22,480 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:22,480 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:22,480 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:22,481 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 03:11:22,481 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 03:11:22,481 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 03:11:22,497 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (43)] Ended with exit code 0 [2022-07-22 03:11:22,497 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:22,497 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:22,498 INFO L229 MonitoredProcess]: Starting monitored process 44 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:22,499 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (44)] Waiting until timeout for monitored process [2022-07-22 03:11:22,507 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:22,513 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:22,513 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 03:11:22,513 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:22,513 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:22,513 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:22,513 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 03:11:22,513 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 03:11:22,514 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 03:11:22,530 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (44)] Ended with exit code 0 [2022-07-22 03:11:22,530 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:22,531 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:22,532 INFO L229 MonitoredProcess]: Starting monitored process 45 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:22,533 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (45)] Waiting until timeout for monitored process [2022-07-22 03:11:22,533 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:22,539 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:22,539 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:22,540 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:22,540 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:22,541 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-22 03:11:22,541 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-22 03:11:22,553 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 03:11:22,569 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (45)] Ended with exit code 0 [2022-07-22 03:11:22,569 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:22,569 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:22,570 INFO L229 MonitoredProcess]: Starting monitored process 46 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:22,571 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (46)] Waiting until timeout for monitored process [2022-07-22 03:11:22,572 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:22,578 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:22,578 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 03:11:22,578 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:22,578 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:22,578 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:22,579 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 03:11:22,579 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 03:11:22,587 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 03:11:22,602 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (46)] Ended with exit code 0 [2022-07-22 03:11:22,603 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:22,603 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:22,604 INFO L229 MonitoredProcess]: Starting monitored process 47 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:22,605 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (47)] Waiting until timeout for monitored process [2022-07-22 03:11:22,606 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:22,612 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:22,612 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:22,612 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:22,612 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:22,614 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-22 03:11:22,614 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-22 03:11:22,616 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 03:11:22,631 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (47)] Ended with exit code 0 [2022-07-22 03:11:22,632 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:22,632 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:22,633 INFO L229 MonitoredProcess]: Starting monitored process 48 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:22,634 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (48)] Waiting until timeout for monitored process [2022-07-22 03:11:22,635 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:22,641 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:22,641 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:22,641 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:22,641 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:22,643 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-22 03:11:22,643 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-22 03:11:22,645 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 03:11:22,661 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (48)] Ended with exit code 0 [2022-07-22 03:11:22,662 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:22,662 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:22,663 INFO L229 MonitoredProcess]: Starting monitored process 49 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:22,664 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (49)] Waiting until timeout for monitored process [2022-07-22 03:11:22,665 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:22,671 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:22,671 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:22,671 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:22,671 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:22,673 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-22 03:11:22,673 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-22 03:11:22,677 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 03:11:22,692 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (49)] Ended with exit code 0 [2022-07-22 03:11:22,693 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:22,693 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:22,694 INFO L229 MonitoredProcess]: Starting monitored process 50 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:22,695 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (50)] Waiting until timeout for monitored process [2022-07-22 03:11:22,696 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:22,702 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:22,702 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:22,702 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:22,702 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:22,715 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-22 03:11:22,715 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-22 03:11:22,717 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 03:11:22,733 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (50)] Forceful destruction successful, exit code 0 [2022-07-22 03:11:22,733 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:22,733 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:22,734 INFO L229 MonitoredProcess]: Starting monitored process 51 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:22,735 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (51)] Waiting until timeout for monitored process [2022-07-22 03:11:22,736 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:22,741 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:22,742 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:22,742 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:22,742 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:22,745 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-22 03:11:22,745 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-22 03:11:22,751 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 03:11:22,766 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (51)] Ended with exit code 0 [2022-07-22 03:11:22,767 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:22,767 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:22,768 INFO L229 MonitoredProcess]: Starting monitored process 52 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:22,778 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (52)] Waiting until timeout for monitored process [2022-07-22 03:11:22,779 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:22,784 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:22,785 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:22,785 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:22,785 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:22,786 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-22 03:11:22,786 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-22 03:11:22,788 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 03:11:22,803 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (52)] Forceful destruction successful, exit code 0 [2022-07-22 03:11:22,803 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:22,804 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:22,805 INFO L229 MonitoredProcess]: Starting monitored process 53 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:22,805 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (53)] Waiting until timeout for monitored process [2022-07-22 03:11:22,806 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:22,812 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:22,812 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:22,813 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:22,813 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:22,814 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-22 03:11:22,814 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-22 03:11:22,816 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 03:11:22,831 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (53)] Ended with exit code 0 [2022-07-22 03:11:22,832 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:22,832 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:22,834 INFO L229 MonitoredProcess]: Starting monitored process 54 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:22,835 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (54)] Waiting until timeout for monitored process [2022-07-22 03:11:22,836 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:22,842 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:22,842 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:22,842 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:22,842 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:22,844 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-22 03:11:22,844 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-22 03:11:22,846 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 03:11:22,861 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (54)] Forceful destruction successful, exit code 0 [2022-07-22 03:11:22,861 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:22,862 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:22,863 INFO L229 MonitoredProcess]: Starting monitored process 55 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:22,867 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:22,871 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (55)] Waiting until timeout for monitored process [2022-07-22 03:11:22,874 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:22,874 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:22,874 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:22,874 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:22,876 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-22 03:11:22,876 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-22 03:11:22,903 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 03:11:22,926 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (55)] Forceful destruction successful, exit code 0 [2022-07-22 03:11:22,926 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:22,926 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:22,927 INFO L229 MonitoredProcess]: Starting monitored process 56 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:22,931 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:22,938 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:22,939 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:22,939 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:22,939 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:22,940 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-22 03:11:22,940 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-22 03:11:22,942 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (56)] Waiting until timeout for monitored process [2022-07-22 03:11:22,949 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 03:11:22,964 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (56)] Ended with exit code 0 [2022-07-22 03:11:22,964 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:22,965 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:22,965 INFO L229 MonitoredProcess]: Starting monitored process 57 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:22,966 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (57)] Waiting until timeout for monitored process [2022-07-22 03:11:22,967 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:22,974 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:22,974 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:22,974 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:22,974 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:22,986 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-22 03:11:22,986 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-22 03:11:23,015 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2022-07-22 03:11:23,042 INFO L443 ModelExtractionUtils]: Simplification made 10 calls to the SMT solver. [2022-07-22 03:11:23,042 INFO L444 ModelExtractionUtils]: 23 out of 37 variables were initially zero. Simplification set additionally 10 variables to zero. [2022-07-22 03:11:23,042 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:23,042 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:23,044 INFO L229 MonitoredProcess]: Starting monitored process 58 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:23,045 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (58)] Waiting until timeout for monitored process [2022-07-22 03:11:23,046 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2022-07-22 03:11:23,067 INFO L438 nArgumentSynthesizer]: Removed 2 redundant supporting invariants from a total of 2. [2022-07-22 03:11:23,067 INFO L513 LassoAnalysis]: Proved termination. [2022-07-22 03:11:23,067 INFO L515 LassoAnalysis]: Termination argument consisting of: Ranking function f(ULTIMATE.start_rangesum_~x#1.offset, v_rep(select #length ULTIMATE.start_rangesum_~x#1.base)_1, ULTIMATE.start_rangesum_~i~1#1) = -1*ULTIMATE.start_rangesum_~x#1.offset + 1*v_rep(select #length ULTIMATE.start_rangesum_~x#1.base)_1 - 4*ULTIMATE.start_rangesum_~i~1#1 Supporting invariants [] [2022-07-22 03:11:23,093 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (57)] Forceful destruction successful, exit code 0 [2022-07-22 03:11:23,185 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (58)] Forceful destruction successful, exit code 0 [2022-07-22 03:11:23,196 INFO L293 tatePredicateManager]: 34 out of 34 supporting invariants were superfluous and have been removed [2022-07-22 03:11:23,204 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:23,229 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 03:11:23,229 INFO L263 TraceCheckSpWp]: Trace formula consists of 130 conjuncts, 2 conjunts are in the unsatisfiable core [2022-07-22 03:11:23,230 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:11:23,269 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 03:11:23,270 INFO L263 TraceCheckSpWp]: Trace formula consists of 14 conjuncts, 4 conjunts are in the unsatisfiable core [2022-07-22 03:11:23,270 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:11:23,301 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-07-22 03:11:23,302 INFO L152 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 3 loop predicates [2022-07-22 03:11:23,302 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 139 states and 165 transitions. cyclomatic complexity: 37 Second operand has 4 states, 4 states have (on average 3.5) internal successors, (14), 4 states have internal predecessors, (14), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:23,326 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 139 states and 165 transitions. cyclomatic complexity: 37. Second operand has 4 states, 4 states have (on average 3.5) internal successors, (14), 4 states have internal predecessors, (14), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Result 188 states and 230 transitions. Complement of second has 7 states. [2022-07-22 03:11:23,339 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 4 states 1 stem states 2 non-accepting loop states 1 accepting loop states [2022-07-22 03:11:23,341 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.5) internal successors, (14), 4 states have internal predecessors, (14), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:23,341 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 19 transitions. [2022-07-22 03:11:23,341 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 19 transitions. Stem has 25 letters. Loop has 3 letters. [2022-07-22 03:11:23,342 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-22 03:11:23,342 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 19 transitions. Stem has 28 letters. Loop has 3 letters. [2022-07-22 03:11:23,342 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-22 03:11:23,342 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 19 transitions. Stem has 25 letters. Loop has 6 letters. [2022-07-22 03:11:23,342 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-22 03:11:23,342 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 188 states and 230 transitions. [2022-07-22 03:11:23,344 INFO L131 ngComponentsAnalysis]: Automaton has 7 accepting balls. 18 [2022-07-22 03:11:23,344 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 188 states to 165 states and 197 transitions. [2022-07-22 03:11:23,345 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 99 [2022-07-22 03:11:23,345 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 114 [2022-07-22 03:11:23,345 INFO L73 IsDeterministic]: Start isDeterministic. Operand 165 states and 197 transitions. [2022-07-22 03:11:23,345 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 03:11:23,345 INFO L369 hiAutomatonCegarLoop]: Abstraction has 165 states and 197 transitions. [2022-07-22 03:11:23,345 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 165 states and 197 transitions. [2022-07-22 03:11:23,349 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 165 to 159. [2022-07-22 03:11:23,349 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 159 states, 159 states have (on average 1.1823899371069182) internal successors, (188), 158 states have internal predecessors, (188), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:23,350 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 159 states to 159 states and 188 transitions. [2022-07-22 03:11:23,350 INFO L392 hiAutomatonCegarLoop]: Abstraction has 159 states and 188 transitions. [2022-07-22 03:11:23,350 INFO L374 stractBuchiCegarLoop]: Abstraction has 159 states and 188 transitions. [2022-07-22 03:11:23,350 INFO L287 stractBuchiCegarLoop]: ======== Iteration 10 ============ [2022-07-22 03:11:23,350 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 159 states and 188 transitions. [2022-07-22 03:11:23,351 INFO L131 ngComponentsAnalysis]: Automaton has 7 accepting balls. 18 [2022-07-22 03:11:23,351 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 03:11:23,351 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 03:11:23,352 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 03:11:23,352 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2022-07-22 03:11:23,352 INFO L752 eck$LassoCheckResult]: Stem: 2478#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);~N~0 := 0; 2479#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem12#1, main_#t~post11#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 2483#L44 assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet2#1, init_nondet_#t~post1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0; 2484#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 2494#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 2538#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 2537#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 2535#L18-3 assume !(init_nondet_~i~0#1 < ~N~0); 2534#L16 assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 2533#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 2532#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 2531#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 2530#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 2529#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 2528#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 2527#L29-3 assume !(rangesum_~i~1#1 < ~N~0); 2525#L29-4 assume !(0 != rangesum_~cnt~0#1);rangesum_#res#1 := 0; 2523#L38 main_#t~ret6#1 := rangesum_#res#1;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 2521#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 2519#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 2517#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 2515#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 2513#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 2512#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 2507#L29-8 assume !(rangesum_~i~1#1 < ~N~0); 2506#L29-9 assume !(0 != rangesum_~cnt~0#1);rangesum_#res#1 := 0; 2474#L38-1 main_#t~ret9#1 := rangesum_#res#1;assume { :end_inline_rangesum } true;main_~ret2~0#1 := main_#t~ret9#1;havoc main_#t~ret9#1;call main_#t~mem10#1 := read~int(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem10#1;havoc main_#t~mem10#1;main_~i~2#1 := 0; 2475#L57-3 [2022-07-22 03:11:23,352 INFO L754 eck$LassoCheckResult]: Loop: 2475#L57-3 assume !!(main_~i~2#1 < ~N~0 - 1);call main_#t~mem12#1 := read~int(main_~#x~0#1.base, main_~#x~0#1.offset + 4 * (1 + main_~i~2#1), 4);call write~int(main_#t~mem12#1, main_~#x~0#1.base, main_~#x~0#1.offset + 4 * main_~i~2#1, 4);havoc main_#t~mem12#1; 2486#L57-2 main_#t~post11#1 := main_~i~2#1;main_~i~2#1 := 1 + main_#t~post11#1;havoc main_#t~post11#1; 2475#L57-3 [2022-07-22 03:11:23,353 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:23,353 INFO L85 PathProgramCache]: Analyzing trace with hash -1751120697, now seen corresponding path program 1 times [2022-07-22 03:11:23,353 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:23,353 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1786675349] [2022-07-22 03:11:23,353 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:23,353 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:23,364 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:23,364 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:11:23,371 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:23,374 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:11:23,374 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:23,375 INFO L85 PathProgramCache]: Analyzing trace with hash 3427, now seen corresponding path program 1 times [2022-07-22 03:11:23,375 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:23,375 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [586430624] [2022-07-22 03:11:23,375 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:23,375 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:23,378 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:23,378 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:11:23,379 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:23,380 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:11:23,380 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:23,380 INFO L85 PathProgramCache]: Analyzing trace with hash 800192681, now seen corresponding path program 1 times [2022-07-22 03:11:23,380 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:23,380 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1669170839] [2022-07-22 03:11:23,380 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:23,381 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:23,395 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:23,396 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:11:23,404 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:23,407 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:11:24,201 INFO L210 LassoAnalysis]: Preferences: [2022-07-22 03:11:24,201 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-22 03:11:24,201 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-22 03:11:24,201 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-22 03:11:24,202 INFO L129 ssoRankerPreferences]: Use exernal solver: false [2022-07-22 03:11:24,202 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:24,202 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-22 03:11:24,202 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-22 03:11:24,202 INFO L133 ssoRankerPreferences]: Filename of dumped script: rangesum.i_Iteration10_Lasso [2022-07-22 03:11:24,202 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-22 03:11:24,202 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-22 03:11:24,204 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:24,206 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:24,208 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:24,210 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:24,213 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:24,666 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:24,667 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:24,669 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:24,671 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:24,673 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:24,676 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:24,678 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:24,679 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:24,681 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:24,682 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:24,684 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:24,685 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:24,690 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:24,692 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:24,693 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:24,695 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:24,696 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:24,698 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:24,699 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:25,061 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-22 03:11:25,061 INFO L490 LassoAnalysis]: Using template 'affine'. [2022-07-22 03:11:25,062 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:25,062 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:25,065 INFO L229 MonitoredProcess]: Starting monitored process 59 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:25,066 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (59)] Waiting until timeout for monitored process [2022-07-22 03:11:25,067 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:25,073 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:25,073 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:25,073 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:25,073 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:25,074 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-22 03:11:25,074 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-22 03:11:25,076 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 03:11:25,092 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (59)] Forceful destruction successful, exit code 0 [2022-07-22 03:11:25,092 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:25,092 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:25,093 INFO L229 MonitoredProcess]: Starting monitored process 60 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:25,094 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (60)] Waiting until timeout for monitored process [2022-07-22 03:11:25,095 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:25,101 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:25,101 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 03:11:25,101 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:25,101 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:25,101 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:25,102 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 03:11:25,102 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 03:11:25,103 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 03:11:25,118 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (60)] Ended with exit code 0 [2022-07-22 03:11:25,118 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:25,118 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:25,119 INFO L229 MonitoredProcess]: Starting monitored process 61 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:25,120 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (61)] Waiting until timeout for monitored process [2022-07-22 03:11:25,121 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:25,127 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:25,127 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:25,127 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:25,127 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:25,128 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-22 03:11:25,128 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-22 03:11:25,130 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 03:11:25,145 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (61)] Forceful destruction successful, exit code 0 [2022-07-22 03:11:25,145 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:25,146 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:25,147 INFO L229 MonitoredProcess]: Starting monitored process 62 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:25,147 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (62)] Waiting until timeout for monitored process [2022-07-22 03:11:25,148 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:25,154 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:25,154 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:25,154 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:25,154 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:25,155 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-22 03:11:25,155 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-22 03:11:25,157 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 03:11:25,172 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (62)] Forceful destruction successful, exit code 0 [2022-07-22 03:11:25,173 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:25,173 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:25,174 INFO L229 MonitoredProcess]: Starting monitored process 63 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:25,175 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (63)] Waiting until timeout for monitored process [2022-07-22 03:11:25,176 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:25,182 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:25,182 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:25,182 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:25,182 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:25,183 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-22 03:11:25,183 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-22 03:11:25,192 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 03:11:25,207 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (63)] Ended with exit code 0 [2022-07-22 03:11:25,207 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:25,207 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:25,208 INFO L229 MonitoredProcess]: Starting monitored process 64 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:25,209 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (64)] Waiting until timeout for monitored process [2022-07-22 03:11:25,210 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:25,216 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:25,216 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:25,216 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:25,216 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:25,217 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-22 03:11:25,217 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-22 03:11:25,224 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 03:11:25,239 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (64)] Ended with exit code 0 [2022-07-22 03:11:25,239 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:25,239 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:25,240 INFO L229 MonitoredProcess]: Starting monitored process 65 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:25,241 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (65)] Waiting until timeout for monitored process [2022-07-22 03:11:25,242 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:25,248 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:25,248 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:25,248 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:25,248 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:25,250 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-22 03:11:25,250 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-22 03:11:25,267 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 03:11:25,283 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (65)] Ended with exit code 0 [2022-07-22 03:11:25,283 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:25,283 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:25,284 INFO L229 MonitoredProcess]: Starting monitored process 66 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:25,284 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (66)] Waiting until timeout for monitored process [2022-07-22 03:11:25,286 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:25,292 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:25,292 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:25,292 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:25,292 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:25,293 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-22 03:11:25,293 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-22 03:11:25,296 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 03:11:25,311 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (66)] Ended with exit code 0 [2022-07-22 03:11:25,312 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:25,312 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:25,313 INFO L229 MonitoredProcess]: Starting monitored process 67 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:25,313 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (67)] Waiting until timeout for monitored process [2022-07-22 03:11:25,314 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:25,320 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:25,321 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:25,321 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:25,321 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:25,322 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-22 03:11:25,322 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-22 03:11:25,325 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 03:11:25,341 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (67)] Forceful destruction successful, exit code 0 [2022-07-22 03:11:25,341 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:25,342 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:25,343 INFO L229 MonitoredProcess]: Starting monitored process 68 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:25,343 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (68)] Waiting until timeout for monitored process [2022-07-22 03:11:25,346 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:25,352 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:25,352 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:25,353 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:25,353 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:25,360 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-22 03:11:25,361 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-22 03:11:25,372 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2022-07-22 03:11:25,398 INFO L443 ModelExtractionUtils]: Simplification made 14 calls to the SMT solver. [2022-07-22 03:11:25,398 INFO L444 ModelExtractionUtils]: 17 out of 31 variables were initially zero. Simplification set additionally 11 variables to zero. [2022-07-22 03:11:25,398 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:25,398 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:25,400 INFO L229 MonitoredProcess]: Starting monitored process 69 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:25,403 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (69)] Waiting until timeout for monitored process [2022-07-22 03:11:25,404 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2022-07-22 03:11:25,410 INFO L438 nArgumentSynthesizer]: Removed 2 redundant supporting invariants from a total of 2. [2022-07-22 03:11:25,410 INFO L513 LassoAnalysis]: Proved termination. [2022-07-22 03:11:25,410 INFO L515 LassoAnalysis]: Termination argument consisting of: Ranking function f(v_rep(select #length ULTIMATE.start_main_~#x~0#1.base)_3, ULTIMATE.start_main_~i~2#1) = 1*v_rep(select #length ULTIMATE.start_main_~#x~0#1.base)_3 - 4*ULTIMATE.start_main_~i~2#1 Supporting invariants [] [2022-07-22 03:11:25,426 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (68)] Forceful destruction successful, exit code 0 [2022-07-22 03:11:25,491 INFO L293 tatePredicateManager]: 24 out of 25 supporting invariants were superfluous and have been removed [2022-07-22 03:11:25,510 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:25,534 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 03:11:25,535 INFO L263 TraceCheckSpWp]: Trace formula consists of 150 conjuncts, 4 conjunts are in the unsatisfiable core [2022-07-22 03:11:25,536 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:11:25,586 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (69)] Forceful destruction successful, exit code 0 [2022-07-22 03:11:25,617 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 03:11:25,617 INFO L263 TraceCheckSpWp]: Trace formula consists of 17 conjuncts, 6 conjunts are in the unsatisfiable core [2022-07-22 03:11:25,618 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:11:25,631 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-07-22 03:11:25,632 INFO L152 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.2 stem predicates 2 loop predicates [2022-07-22 03:11:25,632 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 159 states and 188 transitions. cyclomatic complexity: 42 Second operand has 4 states, 4 states have (on average 5.25) internal successors, (21), 4 states have internal predecessors, (21), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:25,666 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 159 states and 188 transitions. cyclomatic complexity: 42. Second operand has 4 states, 4 states have (on average 5.25) internal successors, (21), 4 states have internal predecessors, (21), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Result 181 states and 220 transitions. Complement of second has 7 states. [2022-07-22 03:11:25,667 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 5 states 2 stem states 2 non-accepting loop states 1 accepting loop states [2022-07-22 03:11:25,667 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 5.25) internal successors, (21), 4 states have internal predecessors, (21), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:25,667 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 31 transitions. [2022-07-22 03:11:25,667 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 31 transitions. Stem has 27 letters. Loop has 2 letters. [2022-07-22 03:11:25,668 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-22 03:11:25,668 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 31 transitions. Stem has 29 letters. Loop has 2 letters. [2022-07-22 03:11:25,668 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-22 03:11:25,668 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 31 transitions. Stem has 27 letters. Loop has 4 letters. [2022-07-22 03:11:25,668 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-22 03:11:25,668 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 181 states and 220 transitions. [2022-07-22 03:11:25,670 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 12 [2022-07-22 03:11:25,670 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 181 states to 116 states and 140 transitions. [2022-07-22 03:11:25,670 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 60 [2022-07-22 03:11:25,671 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 62 [2022-07-22 03:11:25,671 INFO L73 IsDeterministic]: Start isDeterministic. Operand 116 states and 140 transitions. [2022-07-22 03:11:25,671 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 03:11:25,671 INFO L369 hiAutomatonCegarLoop]: Abstraction has 116 states and 140 transitions. [2022-07-22 03:11:25,671 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 116 states and 140 transitions. [2022-07-22 03:11:25,674 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 116 to 116. [2022-07-22 03:11:25,674 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 116 states, 116 states have (on average 1.206896551724138) internal successors, (140), 115 states have internal predecessors, (140), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:25,674 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 116 states to 116 states and 140 transitions. [2022-07-22 03:11:25,674 INFO L392 hiAutomatonCegarLoop]: Abstraction has 116 states and 140 transitions. [2022-07-22 03:11:25,674 INFO L374 stractBuchiCegarLoop]: Abstraction has 116 states and 140 transitions. [2022-07-22 03:11:25,674 INFO L287 stractBuchiCegarLoop]: ======== Iteration 11 ============ [2022-07-22 03:11:25,675 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 116 states and 140 transitions. [2022-07-22 03:11:25,675 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 12 [2022-07-22 03:11:25,675 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 03:11:25,675 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 03:11:25,676 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [4, 4, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 03:11:25,676 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-22 03:11:25,676 INFO L752 eck$LassoCheckResult]: Stem: 3028#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);~N~0 := 0; 3029#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem12#1, main_#t~post11#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 3041#L44 assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet2#1, init_nondet_#t~post1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0; 3042#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 3050#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 3051#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 3082#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 3081#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 3080#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 3079#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 3078#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 3077#L18-3 assume !(init_nondet_~i~0#1 < ~N~0); 3076#L16 assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 3075#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 3073#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 3074#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 3122#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 3121#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 3120#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 3119#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 3088#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 3095#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 3087#L29-3 assume !(rangesum_~i~1#1 < ~N~0); 3038#L29-4 assume !(0 != rangesum_~cnt~0#1);rangesum_#res#1 := 0; 3039#L38 main_#t~ret6#1 := rangesum_#res#1;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 3046#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 3047#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 3111#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 3110#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 3108#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 3106#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 3104#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 3098#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 3093#L29-7 [2022-07-22 03:11:25,676 INFO L754 eck$LassoCheckResult]: Loop: 3093#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 3094#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 3099#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 3093#L29-7 [2022-07-22 03:11:25,676 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:25,677 INFO L85 PathProgramCache]: Analyzing trace with hash 1627383893, now seen corresponding path program 1 times [2022-07-22 03:11:25,677 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:25,677 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1183706835] [2022-07-22 03:11:25,677 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:25,677 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:25,692 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 03:11:25,799 INFO L134 CoverageAnalysis]: Checked inductivity of 35 backedges. 2 proven. 10 refuted. 0 times theorem prover too weak. 23 trivial. 0 not checked. [2022-07-22 03:11:25,799 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 03:11:25,799 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1183706835] [2022-07-22 03:11:25,800 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1183706835] provided 0 perfect and 1 imperfect interpolant sequences [2022-07-22 03:11:25,800 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1318989510] [2022-07-22 03:11:25,800 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:25,800 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:11:25,800 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:25,804 INFO L229 MonitoredProcess]: Starting monitored process 70 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:11:25,805 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (70)] Waiting until timeout for monitored process [2022-07-22 03:11:25,861 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 03:11:25,862 INFO L263 TraceCheckSpWp]: Trace formula consists of 163 conjuncts, 10 conjunts are in the unsatisfiable core [2022-07-22 03:11:25,864 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:11:25,988 INFO L134 CoverageAnalysis]: Checked inductivity of 35 backedges. 9 proven. 19 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-07-22 03:11:25,988 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 03:11:26,065 INFO L134 CoverageAnalysis]: Checked inductivity of 35 backedges. 9 proven. 19 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-07-22 03:11:26,065 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1318989510] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 03:11:26,066 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-07-22 03:11:26,066 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 11, 11] total 20 [2022-07-22 03:11:26,066 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1072120900] [2022-07-22 03:11:26,066 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-07-22 03:11:26,066 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 03:11:26,066 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:26,066 INFO L85 PathProgramCache]: Analyzing trace with hash 88159, now seen corresponding path program 1 times [2022-07-22 03:11:26,067 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:26,067 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1543773786] [2022-07-22 03:11:26,067 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:26,067 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:26,069 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:26,069 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:11:26,070 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:26,072 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:11:26,095 INFO L210 LassoAnalysis]: Preferences: [2022-07-22 03:11:26,095 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-22 03:11:26,095 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-22 03:11:26,095 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-22 03:11:26,095 INFO L129 ssoRankerPreferences]: Use exernal solver: true [2022-07-22 03:11:26,095 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:26,095 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-22 03:11:26,095 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-22 03:11:26,095 INFO L133 ssoRankerPreferences]: Filename of dumped script: rangesum.i_Iteration11_Loop [2022-07-22 03:11:26,096 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-22 03:11:26,096 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-22 03:11:26,096 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:26,100 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:26,138 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-22 03:11:26,138 INFO L404 LassoAnalysis]: Checking for nontermination... [2022-07-22 03:11:26,138 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:26,138 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:26,139 INFO L229 MonitoredProcess]: Starting monitored process 71 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:26,148 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-22 03:11:26,148 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 03:11:26,157 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (71)] Waiting until timeout for monitored process [2022-07-22 03:11:26,160 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-22 03:11:26,160 INFO L440 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_rangesum_#t~post3#1=0} Honda state: {ULTIMATE.start_rangesum_#t~post3#1=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2022-07-22 03:11:26,175 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (71)] Ended with exit code 0 [2022-07-22 03:11:26,176 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:26,176 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:26,177 INFO L229 MonitoredProcess]: Starting monitored process 72 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:26,177 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (72)] Waiting until timeout for monitored process [2022-07-22 03:11:26,179 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-22 03:11:26,179 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 03:11:26,210 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (72)] Ended with exit code 0 [2022-07-22 03:11:26,210 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:26,210 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:26,211 INFO L229 MonitoredProcess]: Starting monitored process 73 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:26,212 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (73)] Waiting until timeout for monitored process [2022-07-22 03:11:26,213 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2022-07-22 03:11:26,213 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 03:11:26,547 INFO L444 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2022-07-22 03:11:26,550 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (73)] Ended with exit code 0 [2022-07-22 03:11:26,551 INFO L210 LassoAnalysis]: Preferences: [2022-07-22 03:11:26,551 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-22 03:11:26,551 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-22 03:11:26,551 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-22 03:11:26,551 INFO L129 ssoRankerPreferences]: Use exernal solver: false [2022-07-22 03:11:26,551 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:26,551 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-22 03:11:26,551 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-22 03:11:26,551 INFO L133 ssoRankerPreferences]: Filename of dumped script: rangesum.i_Iteration11_Loop [2022-07-22 03:11:26,551 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-22 03:11:26,551 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-22 03:11:26,551 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:26,553 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:26,588 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-22 03:11:26,588 INFO L490 LassoAnalysis]: Using template 'affine'. [2022-07-22 03:11:26,588 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:26,588 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:26,589 INFO L229 MonitoredProcess]: Starting monitored process 74 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:26,593 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (74)] Waiting until timeout for monitored process [2022-07-22 03:11:26,594 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:26,599 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:26,599 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 03:11:26,600 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:26,600 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:26,600 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:26,600 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 03:11:26,600 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 03:11:26,602 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 03:11:26,617 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (74)] Ended with exit code 0 [2022-07-22 03:11:26,617 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:26,617 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:26,618 INFO L229 MonitoredProcess]: Starting monitored process 75 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:26,619 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (75)] Waiting until timeout for monitored process [2022-07-22 03:11:26,620 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:26,626 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:26,626 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 03:11:26,626 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:26,626 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:26,626 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:26,627 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 03:11:26,627 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 03:11:26,628 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2022-07-22 03:11:26,630 INFO L443 ModelExtractionUtils]: Simplification made 4 calls to the SMT solver. [2022-07-22 03:11:26,631 INFO L444 ModelExtractionUtils]: 0 out of 4 variables were initially zero. Simplification set additionally 1 variables to zero. [2022-07-22 03:11:26,631 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:26,631 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:26,632 INFO L229 MonitoredProcess]: Starting monitored process 76 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:26,633 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (76)] Waiting until timeout for monitored process [2022-07-22 03:11:26,634 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2022-07-22 03:11:26,634 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2022-07-22 03:11:26,634 INFO L513 LassoAnalysis]: Proved termination. [2022-07-22 03:11:26,634 INFO L515 LassoAnalysis]: Termination argument consisting of: Ranking function f(~N~0, ULTIMATE.start_rangesum_~i~1#1) = 1*~N~0 - 2*ULTIMATE.start_rangesum_~i~1#1 Supporting invariants [] [2022-07-22 03:11:26,649 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (75)] Ended with exit code 0 [2022-07-22 03:11:26,650 INFO L293 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2022-07-22 03:11:26,658 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:26,688 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 03:11:26,689 INFO L263 TraceCheckSpWp]: Trace formula consists of 163 conjuncts, 2 conjunts are in the unsatisfiable core [2022-07-22 03:11:26,690 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:11:26,729 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 03:11:26,730 WARN L261 TraceCheckSpWp]: Trace formula consists of 6 conjuncts, 5 conjunts are in the unsatisfiable core [2022-07-22 03:11:26,730 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:11:26,749 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-07-22 03:11:26,749 INFO L152 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 3 loop predicates [2022-07-22 03:11:26,749 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 116 states and 140 transitions. cyclomatic complexity: 36 Second operand has 4 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:26,804 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 116 states and 140 transitions. cyclomatic complexity: 36. Second operand has 4 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Result 145 states and 178 transitions. Complement of second has 7 states. [2022-07-22 03:11:26,804 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 4 states 1 stem states 2 non-accepting loop states 1 accepting loop states [2022-07-22 03:11:26,805 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:26,805 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 29 transitions. [2022-07-22 03:11:26,805 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 29 transitions. Stem has 33 letters. Loop has 3 letters. [2022-07-22 03:11:26,807 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-22 03:11:26,807 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 29 transitions. Stem has 36 letters. Loop has 3 letters. [2022-07-22 03:11:26,807 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-22 03:11:26,807 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 29 transitions. Stem has 33 letters. Loop has 6 letters. [2022-07-22 03:11:26,808 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-22 03:11:26,808 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 145 states and 178 transitions. [2022-07-22 03:11:26,809 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 9 [2022-07-22 03:11:26,810 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 145 states to 123 states and 149 transitions. [2022-07-22 03:11:26,810 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 50 [2022-07-22 03:11:26,811 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 52 [2022-07-22 03:11:26,811 INFO L73 IsDeterministic]: Start isDeterministic. Operand 123 states and 149 transitions. [2022-07-22 03:11:26,811 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 03:11:26,811 INFO L369 hiAutomatonCegarLoop]: Abstraction has 123 states and 149 transitions. [2022-07-22 03:11:26,811 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 123 states and 149 transitions. [2022-07-22 03:11:26,814 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 123 to 120. [2022-07-22 03:11:26,814 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 120 states, 120 states have (on average 1.2083333333333333) internal successors, (145), 119 states have internal predecessors, (145), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:26,814 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 120 states to 120 states and 145 transitions. [2022-07-22 03:11:26,815 INFO L392 hiAutomatonCegarLoop]: Abstraction has 120 states and 145 transitions. [2022-07-22 03:11:26,815 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 03:11:26,815 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-07-22 03:11:26,816 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=79, Invalid=301, Unknown=0, NotChecked=0, Total=380 [2022-07-22 03:11:26,816 INFO L87 Difference]: Start difference. First operand 120 states and 145 transitions. Second operand has 20 states, 20 states have (on average 2.6) internal successors, (52), 20 states have internal predecessors, (52), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:26,902 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (76)] Forceful destruction successful, exit code 0 [2022-07-22 03:11:27,318 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 03:11:27,318 INFO L93 Difference]: Finished difference Result 182 states and 213 transitions. [2022-07-22 03:11:27,319 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-07-22 03:11:27,319 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 182 states and 213 transitions. [2022-07-22 03:11:27,321 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 11 [2022-07-22 03:11:27,322 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 182 states to 156 states and 184 transitions. [2022-07-22 03:11:27,322 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 80 [2022-07-22 03:11:27,322 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 80 [2022-07-22 03:11:27,322 INFO L73 IsDeterministic]: Start isDeterministic. Operand 156 states and 184 transitions. [2022-07-22 03:11:27,322 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 03:11:27,322 INFO L369 hiAutomatonCegarLoop]: Abstraction has 156 states and 184 transitions. [2022-07-22 03:11:27,322 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 156 states and 184 transitions. [2022-07-22 03:11:27,324 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 156 to 105. [2022-07-22 03:11:27,324 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 105 states, 105 states have (on average 1.180952380952381) internal successors, (124), 104 states have internal predecessors, (124), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:27,325 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 105 states to 105 states and 124 transitions. [2022-07-22 03:11:27,325 INFO L392 hiAutomatonCegarLoop]: Abstraction has 105 states and 124 transitions. [2022-07-22 03:11:27,325 INFO L374 stractBuchiCegarLoop]: Abstraction has 105 states and 124 transitions. [2022-07-22 03:11:27,325 INFO L287 stractBuchiCegarLoop]: ======== Iteration 12 ============ [2022-07-22 03:11:27,325 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 105 states and 124 transitions. [2022-07-22 03:11:27,326 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 9 [2022-07-22 03:11:27,326 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 03:11:27,326 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 03:11:27,327 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [5, 5, 4, 4, 4, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 03:11:27,327 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-22 03:11:27,327 INFO L752 eck$LassoCheckResult]: Stem: 3968#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);~N~0 := 0; 3969#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem12#1, main_#t~post11#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 3973#L44 assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet2#1, init_nondet_#t~post1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0; 3974#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 3991#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 3992#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 3989#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 3990#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 4015#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 4014#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 4012#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 4004#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 4005#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 4029#L18-3 assume !(init_nondet_~i~0#1 < ~N~0); 4028#L16 assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 3986#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 3987#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 3999#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 3988#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 3962#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 3963#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 4021#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 4018#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 4009#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 4007#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 4006#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 4003#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 4000#L29-3 assume !(rangesum_~i~1#1 < ~N~0); 4001#L29-4 assume !(0 != rangesum_~cnt~0#1);rangesum_#res#1 := 0; 4045#L38 main_#t~ret6#1 := rangesum_#res#1;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 4044#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 4043#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 4042#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 4041#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 3958#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 3959#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 4046#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 4038#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 4036#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 4033#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 3956#L30-2 [2022-07-22 03:11:27,327 INFO L754 eck$LassoCheckResult]: Loop: 3956#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 3957#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 4017#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 3956#L30-2 [2022-07-22 03:11:27,327 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:27,328 INFO L85 PathProgramCache]: Analyzing trace with hash -477007165, now seen corresponding path program 1 times [2022-07-22 03:11:27,328 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:27,328 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [494791177] [2022-07-22 03:11:27,328 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:27,328 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:27,338 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 03:11:27,354 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 52 trivial. 0 not checked. [2022-07-22 03:11:27,355 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 03:11:27,355 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [494791177] [2022-07-22 03:11:27,355 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [494791177] provided 0 perfect and 1 imperfect interpolant sequences [2022-07-22 03:11:27,355 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [411099648] [2022-07-22 03:11:27,355 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:27,355 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:11:27,355 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:27,356 INFO L229 MonitoredProcess]: Starting monitored process 77 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:11:27,374 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (77)] Waiting until timeout for monitored process [2022-07-22 03:11:27,422 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 03:11:27,423 INFO L263 TraceCheckSpWp]: Trace formula consists of 189 conjuncts, 3 conjunts are in the unsatisfiable core [2022-07-22 03:11:27,424 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:11:27,441 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 7 proven. 0 refuted. 0 times theorem prover too weak. 52 trivial. 0 not checked. [2022-07-22 03:11:27,441 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-07-22 03:11:27,441 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [411099648] provided 1 perfect and 0 imperfect interpolant sequences [2022-07-22 03:11:27,441 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-07-22 03:11:27,441 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [4] total 5 [2022-07-22 03:11:27,441 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [873079780] [2022-07-22 03:11:27,441 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-07-22 03:11:27,442 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 03:11:27,442 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:27,442 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 1 times [2022-07-22 03:11:27,442 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:27,442 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1238858485] [2022-07-22 03:11:27,442 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:27,442 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:27,445 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:27,445 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:11:27,447 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:27,448 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:11:27,504 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 03:11:27,505 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-07-22 03:11:27,505 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-07-22 03:11:27,505 INFO L87 Difference]: Start difference. First operand 105 states and 124 transitions. cyclomatic complexity: 30 Second operand has 4 states, 4 states have (on average 4.5) internal successors, (18), 4 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:27,524 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 03:11:27,525 INFO L93 Difference]: Finished difference Result 117 states and 137 transitions. [2022-07-22 03:11:27,525 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-07-22 03:11:27,525 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 117 states and 137 transitions. [2022-07-22 03:11:27,526 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 12 [2022-07-22 03:11:27,527 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 117 states to 117 states and 137 transitions. [2022-07-22 03:11:27,527 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 58 [2022-07-22 03:11:27,527 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 58 [2022-07-22 03:11:27,527 INFO L73 IsDeterministic]: Start isDeterministic. Operand 117 states and 137 transitions. [2022-07-22 03:11:27,527 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 03:11:27,528 INFO L369 hiAutomatonCegarLoop]: Abstraction has 117 states and 137 transitions. [2022-07-22 03:11:27,528 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 117 states and 137 transitions. [2022-07-22 03:11:27,529 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 117 to 105. [2022-07-22 03:11:27,529 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 105 states, 105 states have (on average 1.1428571428571428) internal successors, (120), 104 states have internal predecessors, (120), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:27,530 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 105 states to 105 states and 120 transitions. [2022-07-22 03:11:27,530 INFO L392 hiAutomatonCegarLoop]: Abstraction has 105 states and 120 transitions. [2022-07-22 03:11:27,530 INFO L374 stractBuchiCegarLoop]: Abstraction has 105 states and 120 transitions. [2022-07-22 03:11:27,530 INFO L287 stractBuchiCegarLoop]: ======== Iteration 13 ============ [2022-07-22 03:11:27,530 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 105 states and 120 transitions. [2022-07-22 03:11:27,531 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 9 [2022-07-22 03:11:27,531 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 03:11:27,531 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 03:11:27,531 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [5, 5, 4, 4, 4, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 03:11:27,531 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-22 03:11:27,532 INFO L752 eck$LassoCheckResult]: Stem: 4307#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);~N~0 := 0; 4308#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem12#1, main_#t~post11#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 4320#L44 assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet2#1, init_nondet_#t~post1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0; 4321#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 4332#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 4333#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 4334#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 4361#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 4360#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 4359#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 4358#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 4355#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 4356#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 4357#L18-3 assume !(init_nondet_~i~0#1 < ~N~0); 4301#L16 assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 4302#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 4329#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 4376#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 4375#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 4311#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 4312#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 4330#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 4331#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 4371#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 4367#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 4309#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 4310#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 4372#L29-3 assume !(rangesum_~i~1#1 < ~N~0); 4317#L29-4 assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296); 4318#L38 main_#t~ret6#1 := rangesum_#res#1;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 4369#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 4370#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 4338#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 4339#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 4387#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 4388#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 4389#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 4305#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 4306#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 4325#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 4326#L30-2 [2022-07-22 03:11:27,532 INFO L754 eck$LassoCheckResult]: Loop: 4326#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 4363#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 4364#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 4326#L30-2 [2022-07-22 03:11:27,532 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:27,532 INFO L85 PathProgramCache]: Analyzing trace with hash -735172603, now seen corresponding path program 1 times [2022-07-22 03:11:27,532 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:27,532 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2046992167] [2022-07-22 03:11:27,533 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:27,533 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:27,550 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:11:27,550 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1597399334] [2022-07-22 03:11:27,550 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:27,550 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:11:27,551 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:27,552 INFO L229 MonitoredProcess]: Starting monitored process 78 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:11:27,553 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (78)] Waiting until timeout for monitored process [2022-07-22 03:11:27,619 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 03:11:27,621 INFO L263 TraceCheckSpWp]: Trace formula consists of 188 conjuncts, 12 conjunts are in the unsatisfiable core [2022-07-22 03:11:27,622 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:11:27,720 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 16 proven. 31 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-07-22 03:11:27,720 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 03:11:27,805 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 16 proven. 31 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-07-22 03:11:27,805 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 03:11:27,805 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2046992167] [2022-07-22 03:11:27,806 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 03:11:27,806 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1597399334] [2022-07-22 03:11:27,806 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1597399334] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 03:11:27,806 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 03:11:27,806 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 18 [2022-07-22 03:11:27,806 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1983069095] [2022-07-22 03:11:27,806 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 03:11:27,806 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 03:11:27,807 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:27,807 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 2 times [2022-07-22 03:11:27,807 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:27,807 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [436799225] [2022-07-22 03:11:27,807 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:27,807 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:27,810 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:27,810 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:11:27,812 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:27,813 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:11:27,869 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 03:11:27,870 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-07-22 03:11:27,870 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=83, Invalid=223, Unknown=0, NotChecked=0, Total=306 [2022-07-22 03:11:27,870 INFO L87 Difference]: Start difference. First operand 105 states and 120 transitions. cyclomatic complexity: 26 Second operand has 18 states, 18 states have (on average 2.611111111111111) internal successors, (47), 18 states have internal predecessors, (47), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:28,225 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 03:11:28,225 INFO L93 Difference]: Finished difference Result 174 states and 206 transitions. [2022-07-22 03:11:28,226 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2022-07-22 03:11:28,226 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 174 states and 206 transitions. [2022-07-22 03:11:28,227 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 14 [2022-07-22 03:11:28,228 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 174 states to 174 states and 206 transitions. [2022-07-22 03:11:28,228 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 83 [2022-07-22 03:11:28,229 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 83 [2022-07-22 03:11:28,229 INFO L73 IsDeterministic]: Start isDeterministic. Operand 174 states and 206 transitions. [2022-07-22 03:11:28,229 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 03:11:28,229 INFO L369 hiAutomatonCegarLoop]: Abstraction has 174 states and 206 transitions. [2022-07-22 03:11:28,229 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 174 states and 206 transitions. [2022-07-22 03:11:28,231 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 174 to 110. [2022-07-22 03:11:28,231 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 110 states, 110 states have (on average 1.1363636363636365) internal successors, (125), 109 states have internal predecessors, (125), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:28,231 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 110 states to 110 states and 125 transitions. [2022-07-22 03:11:28,232 INFO L392 hiAutomatonCegarLoop]: Abstraction has 110 states and 125 transitions. [2022-07-22 03:11:28,232 INFO L374 stractBuchiCegarLoop]: Abstraction has 110 states and 125 transitions. [2022-07-22 03:11:28,232 INFO L287 stractBuchiCegarLoop]: ======== Iteration 14 ============ [2022-07-22 03:11:28,232 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 110 states and 125 transitions. [2022-07-22 03:11:28,232 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 9 [2022-07-22 03:11:28,232 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 03:11:28,232 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 03:11:28,233 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [4, 4, 4, 4, 4, 4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 03:11:28,233 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-22 03:11:28,234 INFO L752 eck$LassoCheckResult]: Stem: 4867#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);~N~0 := 0; 4868#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem12#1, main_#t~post11#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 4881#L44 assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet2#1, init_nondet_#t~post1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0; 4882#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 4896#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 4897#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 4898#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 4927#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 4926#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 4925#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 4924#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 4921#L18-3 assume !(init_nondet_~i~0#1 < ~N~0); 4920#L16 assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 4919#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 4918#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 4917#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 4916#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 4915#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 4914#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 4913#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 4911#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 4912#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 4910#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 4909#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 4906#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 4907#L29-3 assume !(rangesum_~i~1#1 < ~N~0); 4877#L29-4 assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296); 4878#L38 main_#t~ret6#1 := rangesum_#res#1;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 4952#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 4951#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 4950#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 4949#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 4948#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 4947#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 4945#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 4946#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 4944#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 4943#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 4942#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 4941#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 4928#L29-8 assume !(rangesum_~i~1#1 < ~N~0); 4899#L29-9 assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296); 4873#L38-1 main_#t~ret9#1 := rangesum_#res#1;assume { :end_inline_rangesum } true;main_~ret2~0#1 := main_#t~ret9#1;havoc main_#t~ret9#1;call main_#t~mem10#1 := read~int(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem10#1;havoc main_#t~mem10#1;main_~i~2#1 := 0; 4874#L57-3 assume !(main_~i~2#1 < ~N~0 - 1); 4875#L57-4 call write~int(main_~temp~0#1, main_~#x~0#1.base, main_~#x~0#1.offset + 4 * (~N~0 - 1), 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 4876#L29-13 [2022-07-22 03:11:28,234 INFO L754 eck$LassoCheckResult]: Loop: 4876#L29-13 assume !!(rangesum_~i~1#1 < ~N~0); 4961#L30-4 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 4962#L29-12 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 4876#L29-13 [2022-07-22 03:11:28,234 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:28,234 INFO L85 PathProgramCache]: Analyzing trace with hash 1784789267, now seen corresponding path program 1 times [2022-07-22 03:11:28,234 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:28,235 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [855287657] [2022-07-22 03:11:28,235 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:28,235 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:28,249 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:11:28,249 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1363894618] [2022-07-22 03:11:28,249 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:28,249 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:11:28,249 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:28,267 INFO L229 MonitoredProcess]: Starting monitored process 79 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:11:28,271 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (79)] Waiting until timeout for monitored process [2022-07-22 03:11:28,343 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 03:11:28,344 INFO L263 TraceCheckSpWp]: Trace formula consists of 225 conjuncts, 7 conjunts are in the unsatisfiable core [2022-07-22 03:11:28,345 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:11:28,413 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 9 proven. 7 refuted. 0 times theorem prover too weak. 44 trivial. 0 not checked. [2022-07-22 03:11:28,413 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 03:11:28,479 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 9 proven. 7 refuted. 0 times theorem prover too weak. 44 trivial. 0 not checked. [2022-07-22 03:11:28,480 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 03:11:28,480 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [855287657] [2022-07-22 03:11:28,480 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 03:11:28,480 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1363894618] [2022-07-22 03:11:28,480 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1363894618] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 03:11:28,480 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 03:11:28,480 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 12 [2022-07-22 03:11:28,481 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [327806143] [2022-07-22 03:11:28,481 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 03:11:28,481 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 03:11:28,481 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:28,482 INFO L85 PathProgramCache]: Analyzing trace with hash 120316, now seen corresponding path program 1 times [2022-07-22 03:11:28,482 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:28,482 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [310792587] [2022-07-22 03:11:28,482 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:28,482 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:28,486 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:28,486 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:11:28,487 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:28,489 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:11:28,515 INFO L210 LassoAnalysis]: Preferences: [2022-07-22 03:11:28,515 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-22 03:11:28,516 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-22 03:11:28,516 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-22 03:11:28,516 INFO L129 ssoRankerPreferences]: Use exernal solver: true [2022-07-22 03:11:28,516 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:28,516 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-22 03:11:28,516 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-22 03:11:28,516 INFO L133 ssoRankerPreferences]: Filename of dumped script: rangesum.i_Iteration14_Loop [2022-07-22 03:11:28,516 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-22 03:11:28,516 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-22 03:11:28,517 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:28,519 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:28,554 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-22 03:11:28,554 INFO L404 LassoAnalysis]: Checking for nontermination... [2022-07-22 03:11:28,555 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:28,555 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:28,556 INFO L229 MonitoredProcess]: Starting monitored process 80 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:28,566 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-22 03:11:28,566 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 03:11:28,574 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (80)] Waiting until timeout for monitored process [2022-07-22 03:11:28,575 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-22 03:11:28,575 INFO L440 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_rangesum_#t~post3#1=0} Honda state: {ULTIMATE.start_rangesum_#t~post3#1=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2022-07-22 03:11:28,590 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (80)] Ended with exit code 0 [2022-07-22 03:11:28,590 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:28,591 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:28,592 INFO L229 MonitoredProcess]: Starting monitored process 81 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:28,593 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (81)] Waiting until timeout for monitored process [2022-07-22 03:11:28,594 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-22 03:11:28,594 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 03:11:28,616 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (81)] Forceful destruction successful, exit code 0 [2022-07-22 03:11:28,617 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:28,617 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:28,618 INFO L229 MonitoredProcess]: Starting monitored process 82 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:28,618 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (82)] Waiting until timeout for monitored process [2022-07-22 03:11:28,620 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2022-07-22 03:11:28,620 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 03:11:28,758 INFO L444 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2022-07-22 03:11:28,761 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (82)] Ended with exit code 0 [2022-07-22 03:11:28,762 INFO L210 LassoAnalysis]: Preferences: [2022-07-22 03:11:28,762 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-22 03:11:28,762 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-22 03:11:28,762 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-22 03:11:28,762 INFO L129 ssoRankerPreferences]: Use exernal solver: false [2022-07-22 03:11:28,762 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:28,762 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-22 03:11:28,762 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-22 03:11:28,762 INFO L133 ssoRankerPreferences]: Filename of dumped script: rangesum.i_Iteration14_Loop [2022-07-22 03:11:28,762 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-22 03:11:28,762 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-22 03:11:28,763 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:28,764 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-22 03:11:28,800 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-22 03:11:28,800 INFO L490 LassoAnalysis]: Using template 'affine'. [2022-07-22 03:11:28,800 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:28,800 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:28,802 INFO L229 MonitoredProcess]: Starting monitored process 83 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:28,802 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (83)] Waiting until timeout for monitored process [2022-07-22 03:11:28,803 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:28,809 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:28,809 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 03:11:28,810 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:28,810 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:28,810 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:28,810 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 03:11:28,810 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 03:11:28,811 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 03:11:28,826 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (83)] Forceful destruction successful, exit code 0 [2022-07-22 03:11:28,826 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:28,827 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:28,828 INFO L229 MonitoredProcess]: Starting monitored process 84 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:28,828 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (84)] Waiting until timeout for monitored process [2022-07-22 03:11:28,830 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 03:11:28,836 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 03:11:28,836 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 03:11:28,836 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 03:11:28,836 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 03:11:28,836 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 03:11:28,837 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 03:11:28,837 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 03:11:28,839 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2022-07-22 03:11:28,841 INFO L443 ModelExtractionUtils]: Simplification made 4 calls to the SMT solver. [2022-07-22 03:11:28,841 INFO L444 ModelExtractionUtils]: 0 out of 4 variables were initially zero. Simplification set additionally 1 variables to zero. [2022-07-22 03:11:28,841 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 03:11:28,841 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:28,842 INFO L229 MonitoredProcess]: Starting monitored process 85 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 03:11:28,843 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (85)] Waiting until timeout for monitored process [2022-07-22 03:11:28,843 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2022-07-22 03:11:28,844 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2022-07-22 03:11:28,844 INFO L513 LassoAnalysis]: Proved termination. [2022-07-22 03:11:28,844 INFO L515 LassoAnalysis]: Termination argument consisting of: Ranking function f(ULTIMATE.start_rangesum_~i~1#1, ~N~0) = -4*ULTIMATE.start_rangesum_~i~1#1 + 3*~N~0 Supporting invariants [] [2022-07-22 03:11:28,859 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (84)] Ended with exit code 0 [2022-07-22 03:11:28,860 INFO L293 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2022-07-22 03:11:28,869 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:28,912 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 03:11:28,914 INFO L263 TraceCheckSpWp]: Trace formula consists of 225 conjuncts, 2 conjunts are in the unsatisfiable core [2022-07-22 03:11:28,916 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:11:28,958 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 03:11:28,959 WARN L261 TraceCheckSpWp]: Trace formula consists of 6 conjuncts, 5 conjunts are in the unsatisfiable core [2022-07-22 03:11:28,959 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:11:28,990 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-07-22 03:11:28,991 INFO L152 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 3 loop predicates [2022-07-22 03:11:28,991 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 110 states and 125 transitions. cyclomatic complexity: 26 Second operand has 4 states, 4 states have (on average 6.5) internal successors, (26), 4 states have internal predecessors, (26), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:29,014 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 110 states and 125 transitions. cyclomatic complexity: 26. Second operand has 4 states, 4 states have (on average 6.5) internal successors, (26), 4 states have internal predecessors, (26), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Result 125 states and 144 transitions. Complement of second has 8 states. [2022-07-22 03:11:29,014 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 5 states 1 stem states 3 non-accepting loop states 1 accepting loop states [2022-07-22 03:11:29,015 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 6.5) internal successors, (26), 4 states have internal predecessors, (26), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:29,015 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 31 transitions. [2022-07-22 03:11:29,015 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 31 transitions. Stem has 45 letters. Loop has 3 letters. [2022-07-22 03:11:29,016 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-22 03:11:29,016 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 31 transitions. Stem has 48 letters. Loop has 3 letters. [2022-07-22 03:11:29,016 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-22 03:11:29,016 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 31 transitions. Stem has 45 letters. Loop has 6 letters. [2022-07-22 03:11:29,016 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-22 03:11:29,016 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 125 states and 144 transitions. [2022-07-22 03:11:29,017 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:11:29,018 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 125 states to 78 states and 89 transitions. [2022-07-22 03:11:29,018 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 27 [2022-07-22 03:11:29,018 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 28 [2022-07-22 03:11:29,018 INFO L73 IsDeterministic]: Start isDeterministic. Operand 78 states and 89 transitions. [2022-07-22 03:11:29,019 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 03:11:29,019 INFO L369 hiAutomatonCegarLoop]: Abstraction has 78 states and 89 transitions. [2022-07-22 03:11:29,019 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 78 states and 89 transitions. [2022-07-22 03:11:29,020 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 78 to 77. [2022-07-22 03:11:29,020 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 77 states, 77 states have (on average 1.1428571428571428) internal successors, (88), 76 states have internal predecessors, (88), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:29,020 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 77 states to 77 states and 88 transitions. [2022-07-22 03:11:29,021 INFO L392 hiAutomatonCegarLoop]: Abstraction has 77 states and 88 transitions. [2022-07-22 03:11:29,021 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 03:11:29,021 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-07-22 03:11:29,021 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=92, Unknown=0, NotChecked=0, Total=132 [2022-07-22 03:11:29,021 INFO L87 Difference]: Start difference. First operand 77 states and 88 transitions. Second operand has 12 states, 12 states have (on average 4.416666666666667) internal successors, (53), 12 states have internal predecessors, (53), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:29,076 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (85)] Forceful destruction successful, exit code 0 [2022-07-22 03:11:29,129 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 03:11:29,129 INFO L93 Difference]: Finished difference Result 79 states and 89 transitions. [2022-07-22 03:11:29,129 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-07-22 03:11:29,130 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 79 states and 89 transitions. [2022-07-22 03:11:29,130 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:11:29,131 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 79 states to 79 states and 89 transitions. [2022-07-22 03:11:29,131 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 27 [2022-07-22 03:11:29,131 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 27 [2022-07-22 03:11:29,131 INFO L73 IsDeterministic]: Start isDeterministic. Operand 79 states and 89 transitions. [2022-07-22 03:11:29,131 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 03:11:29,131 INFO L369 hiAutomatonCegarLoop]: Abstraction has 79 states and 89 transitions. [2022-07-22 03:11:29,131 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 79 states and 89 transitions. [2022-07-22 03:11:29,132 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 79 to 79. [2022-07-22 03:11:29,133 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 79 states, 79 states have (on average 1.1265822784810127) internal successors, (89), 78 states have internal predecessors, (89), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:29,133 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 89 transitions. [2022-07-22 03:11:29,133 INFO L392 hiAutomatonCegarLoop]: Abstraction has 79 states and 89 transitions. [2022-07-22 03:11:29,133 INFO L374 stractBuchiCegarLoop]: Abstraction has 79 states and 89 transitions. [2022-07-22 03:11:29,133 INFO L287 stractBuchiCegarLoop]: ======== Iteration 15 ============ [2022-07-22 03:11:29,133 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 79 states and 89 transitions. [2022-07-22 03:11:29,133 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:11:29,134 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 03:11:29,134 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 03:11:29,134 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [5, 5, 5, 5, 5, 4, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 03:11:29,134 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-22 03:11:29,134 INFO L752 eck$LassoCheckResult]: Stem: 5723#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);~N~0 := 0; 5724#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem12#1, main_#t~post11#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 5730#L44 assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet2#1, init_nondet_#t~post1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0; 5731#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 5744#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 5745#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 5746#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 5765#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 5764#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 5763#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 5761#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 5760#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 5754#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 5753#L18-3 assume !(init_nondet_~i~0#1 < ~N~0); 5709#L16 assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 5710#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 5741#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 5785#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 5782#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 5717#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 5718#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 5742#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 5743#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 5769#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 5755#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 5715#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 5716#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 5762#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 5758#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 5759#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 5757#L29-3 assume !(rangesum_~i~1#1 < ~N~0); 5725#L29-4 assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296); 5726#L38 main_#t~ret6#1 := rangesum_#res#1;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 5738#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 5711#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 5712#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 5748#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 5713#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 5714#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 5787#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 5779#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 5778#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 5777#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 5776#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 5775#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 5773#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 5771#L30-2 [2022-07-22 03:11:29,134 INFO L754 eck$LassoCheckResult]: Loop: 5771#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 5772#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 5770#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 5771#L30-2 [2022-07-22 03:11:29,135 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:29,135 INFO L85 PathProgramCache]: Analyzing trace with hash -1458082658, now seen corresponding path program 1 times [2022-07-22 03:11:29,135 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:29,135 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [793902659] [2022-07-22 03:11:29,135 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:29,135 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:29,148 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:11:29,148 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1151490084] [2022-07-22 03:11:29,148 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:29,148 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:11:29,148 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:29,149 INFO L229 MonitoredProcess]: Starting monitored process 86 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:11:29,176 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (86)] Waiting until timeout for monitored process [2022-07-22 03:11:29,240 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:29,240 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:11:29,265 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:29,281 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:11:29,282 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:29,282 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 3 times [2022-07-22 03:11:29,282 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:29,282 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [684696238] [2022-07-22 03:11:29,282 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:29,282 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:29,286 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:29,286 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:11:29,288 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:29,289 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:11:29,289 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:29,289 INFO L85 PathProgramCache]: Analyzing trace with hash 1558822002, now seen corresponding path program 2 times [2022-07-22 03:11:29,289 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:29,289 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1007415234] [2022-07-22 03:11:29,290 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:29,290 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:29,301 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:11:29,301 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1382895693] [2022-07-22 03:11:29,301 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-07-22 03:11:29,301 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:11:29,301 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:29,304 INFO L229 MonitoredProcess]: Starting monitored process 87 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:11:29,319 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (87)] Waiting until timeout for monitored process [2022-07-22 03:11:29,384 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-07-22 03:11:29,384 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 03:11:29,386 INFO L263 TraceCheckSpWp]: Trace formula consists of 224 conjuncts, 14 conjunts are in the unsatisfiable core [2022-07-22 03:11:29,387 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:11:29,533 INFO L134 CoverageAnalysis]: Checked inductivity of 95 backedges. 35 proven. 25 refuted. 0 times theorem prover too weak. 35 trivial. 0 not checked. [2022-07-22 03:11:29,533 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 03:11:29,657 INFO L134 CoverageAnalysis]: Checked inductivity of 95 backedges. 35 proven. 25 refuted. 0 times theorem prover too weak. 35 trivial. 0 not checked. [2022-07-22 03:11:29,658 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 03:11:29,658 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1007415234] [2022-07-22 03:11:29,658 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 03:11:29,658 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1382895693] [2022-07-22 03:11:29,658 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1382895693] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 03:11:29,658 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 03:11:29,658 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 14] total 20 [2022-07-22 03:11:29,658 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [176397975] [2022-07-22 03:11:29,658 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 03:11:29,722 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 03:11:29,723 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-07-22 03:11:29,723 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=111, Invalid=309, Unknown=0, NotChecked=0, Total=420 [2022-07-22 03:11:29,723 INFO L87 Difference]: Start difference. First operand 79 states and 89 transitions. cyclomatic complexity: 18 Second operand has 21 states, 20 states have (on average 2.75) internal successors, (55), 21 states have internal predecessors, (55), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:29,987 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 03:11:29,987 INFO L93 Difference]: Finished difference Result 160 states and 171 transitions. [2022-07-22 03:11:29,988 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-07-22 03:11:29,988 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 160 states and 171 transitions. [2022-07-22 03:11:29,989 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:11:29,990 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 160 states to 82 states and 92 transitions. [2022-07-22 03:11:29,990 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 27 [2022-07-22 03:11:29,990 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 27 [2022-07-22 03:11:29,990 INFO L73 IsDeterministic]: Start isDeterministic. Operand 82 states and 92 transitions. [2022-07-22 03:11:29,990 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 03:11:29,990 INFO L369 hiAutomatonCegarLoop]: Abstraction has 82 states and 92 transitions. [2022-07-22 03:11:29,990 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 82 states and 92 transitions. [2022-07-22 03:11:29,991 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 82 to 81. [2022-07-22 03:11:29,991 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 81 states, 81 states have (on average 1.123456790123457) internal successors, (91), 80 states have internal predecessors, (91), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:29,992 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 81 states to 81 states and 91 transitions. [2022-07-22 03:11:29,992 INFO L392 hiAutomatonCegarLoop]: Abstraction has 81 states and 91 transitions. [2022-07-22 03:11:29,992 INFO L374 stractBuchiCegarLoop]: Abstraction has 81 states and 91 transitions. [2022-07-22 03:11:29,992 INFO L287 stractBuchiCegarLoop]: ======== Iteration 16 ============ [2022-07-22 03:11:29,992 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 81 states and 91 transitions. [2022-07-22 03:11:29,992 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:11:29,992 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 03:11:29,992 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 03:11:29,993 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [6, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 03:11:29,993 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-22 03:11:29,993 INFO L752 eck$LassoCheckResult]: Stem: 6288#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);~N~0 := 0; 6289#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem12#1, main_#t~post11#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 6297#L44 assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet2#1, init_nondet_#t~post1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0; 6298#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 6313#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 6314#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 6311#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 6312#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 6356#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 6355#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 6354#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 6353#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 6352#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 6351#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 6320#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 6319#L18-3 assume !(init_nondet_~i~0#1 < ~N~0); 6276#L16 assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 6277#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 6284#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 6285#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 6309#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 6310#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 6345#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 6343#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 6324#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 6323#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 6321#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 6282#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 6283#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 6331#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 6327#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 6329#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 6326#L29-3 assume !(rangesum_~i~1#1 < ~N~0); 6295#L29-4 assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296); 6296#L38 main_#t~ret6#1 := rangesum_#res#1;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 6307#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 6278#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 6279#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 6308#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 6280#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 6281#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 6316#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 6341#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 6339#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 6338#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 6337#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 6336#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 6335#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 6333#L30-2 [2022-07-22 03:11:29,993 INFO L754 eck$LassoCheckResult]: Loop: 6333#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 6334#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 6332#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 6333#L30-2 [2022-07-22 03:11:29,994 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:29,994 INFO L85 PathProgramCache]: Analyzing trace with hash -6985156, now seen corresponding path program 3 times [2022-07-22 03:11:29,994 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:29,994 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [173237993] [2022-07-22 03:11:29,994 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:29,994 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:30,034 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:11:30,035 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [145730204] [2022-07-22 03:11:30,035 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-07-22 03:11:30,035 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:11:30,035 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:30,037 INFO L229 MonitoredProcess]: Starting monitored process 88 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:11:30,038 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (88)] Waiting until timeout for monitored process [2022-07-22 03:11:30,126 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 7 check-sat command(s) [2022-07-22 03:11:30,126 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 03:11:30,127 INFO L263 TraceCheckSpWp]: Trace formula consists of 223 conjuncts, 25 conjunts are in the unsatisfiable core [2022-07-22 03:11:30,129 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:11:30,352 INFO L134 CoverageAnalysis]: Checked inductivity of 93 backedges. 53 proven. 33 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-07-22 03:11:30,353 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 03:11:30,666 INFO L134 CoverageAnalysis]: Checked inductivity of 93 backedges. 32 proven. 54 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-07-22 03:11:30,666 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 03:11:30,666 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [173237993] [2022-07-22 03:11:30,666 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 03:11:30,667 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [145730204] [2022-07-22 03:11:30,667 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [145730204] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 03:11:30,667 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 03:11:30,667 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 17] total 26 [2022-07-22 03:11:30,667 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [980718011] [2022-07-22 03:11:30,667 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 03:11:30,667 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 03:11:30,668 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:30,668 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 4 times [2022-07-22 03:11:30,668 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:30,668 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1482106380] [2022-07-22 03:11:30,668 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:30,668 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:30,671 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:30,672 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:11:30,673 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:30,675 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:11:30,746 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 03:11:30,746 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2022-07-22 03:11:30,747 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=168, Invalid=482, Unknown=0, NotChecked=0, Total=650 [2022-07-22 03:11:30,747 INFO L87 Difference]: Start difference. First operand 81 states and 91 transitions. cyclomatic complexity: 18 Second operand has 26 states, 26 states have (on average 2.5384615384615383) internal successors, (66), 26 states have internal predecessors, (66), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:31,245 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 03:11:31,245 INFO L93 Difference]: Finished difference Result 201 states and 230 transitions. [2022-07-22 03:11:31,246 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-07-22 03:11:31,246 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 201 states and 230 transitions. [2022-07-22 03:11:31,247 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 12 [2022-07-22 03:11:31,248 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 201 states to 194 states and 223 transitions. [2022-07-22 03:11:31,248 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 63 [2022-07-22 03:11:31,248 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 63 [2022-07-22 03:11:31,248 INFO L73 IsDeterministic]: Start isDeterministic. Operand 194 states and 223 transitions. [2022-07-22 03:11:31,249 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 03:11:31,249 INFO L369 hiAutomatonCegarLoop]: Abstraction has 194 states and 223 transitions. [2022-07-22 03:11:31,249 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 194 states and 223 transitions. [2022-07-22 03:11:31,250 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 194 to 90. [2022-07-22 03:11:31,251 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 90 states, 90 states have (on average 1.1111111111111112) internal successors, (100), 89 states have internal predecessors, (100), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:31,251 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 90 states to 90 states and 100 transitions. [2022-07-22 03:11:31,251 INFO L392 hiAutomatonCegarLoop]: Abstraction has 90 states and 100 transitions. [2022-07-22 03:11:31,251 INFO L374 stractBuchiCegarLoop]: Abstraction has 90 states and 100 transitions. [2022-07-22 03:11:31,251 INFO L287 stractBuchiCegarLoop]: ======== Iteration 17 ============ [2022-07-22 03:11:31,251 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 90 states and 100 transitions. [2022-07-22 03:11:31,252 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:11:31,252 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 03:11:31,252 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 03:11:31,252 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [6, 6, 6, 6, 6, 5, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 03:11:31,252 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-22 03:11:31,253 INFO L752 eck$LassoCheckResult]: Stem: 6905#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);~N~0 := 0; 6906#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem12#1, main_#t~post11#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 6920#L44 assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet2#1, init_nondet_#t~post1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0; 6921#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 6934#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 6935#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 6936#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 6957#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 6956#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 6955#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 6954#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 6953#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 6951#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 6949#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 6946#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 6945#L18-3 assume !(init_nondet_~i~0#1 < ~N~0); 6899#L16 assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 6900#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 6932#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 6944#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 6933#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 6909#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 6910#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 6974#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 6972#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 6973#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 6975#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 6952#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 6950#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 6947#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 6907#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 6908#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 6965#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 6959#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 6960#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 6958#L29-3 assume !(rangesum_~i~1#1 < ~N~0); 6915#L29-4 assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296); 6916#L38 main_#t~ret6#1 := rangesum_#res#1;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 6938#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 6901#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 6902#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 6939#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 6976#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 6977#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 6978#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 6903#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 6904#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 6984#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 6971#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 6969#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 6928#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 6929#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 6968#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 6967#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 6962#L30-2 [2022-07-22 03:11:31,253 INFO L754 eck$LassoCheckResult]: Loop: 6962#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 6964#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 6961#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 6962#L30-2 [2022-07-22 03:11:31,253 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:31,253 INFO L85 PathProgramCache]: Analyzing trace with hash 4068611, now seen corresponding path program 4 times [2022-07-22 03:11:31,253 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:31,253 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [614273452] [2022-07-22 03:11:31,253 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:31,254 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:31,265 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:11:31,265 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [660081392] [2022-07-22 03:11:31,265 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-07-22 03:11:31,265 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:11:31,265 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:31,271 INFO L229 MonitoredProcess]: Starting monitored process 89 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:11:31,272 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (89)] Waiting until timeout for monitored process [2022-07-22 03:11:31,349 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-07-22 03:11:31,349 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-07-22 03:11:31,349 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:11:31,373 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:31,389 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:11:31,390 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:31,390 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 5 times [2022-07-22 03:11:31,390 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:31,391 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1629464397] [2022-07-22 03:11:31,391 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:31,391 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:31,394 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:31,395 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:11:31,396 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:31,398 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:11:31,398 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:31,398 INFO L85 PathProgramCache]: Analyzing trace with hash 948960749, now seen corresponding path program 5 times [2022-07-22 03:11:31,398 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:31,398 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [739489184] [2022-07-22 03:11:31,398 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:31,399 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:31,410 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:11:31,411 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1689634693] [2022-07-22 03:11:31,411 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-07-22 03:11:31,411 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:11:31,411 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:31,415 INFO L229 MonitoredProcess]: Starting monitored process 90 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:11:31,417 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (90)] Waiting until timeout for monitored process [2022-07-22 03:11:31,492 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 7 check-sat command(s) [2022-07-22 03:11:31,492 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 03:11:31,493 INFO L263 TraceCheckSpWp]: Trace formula consists of 243 conjuncts, 9 conjunts are in the unsatisfiable core [2022-07-22 03:11:31,494 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:11:31,790 INFO L134 CoverageAnalysis]: Checked inductivity of 138 backedges. 54 proven. 7 refuted. 0 times theorem prover too weak. 77 trivial. 0 not checked. [2022-07-22 03:11:31,790 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 03:11:31,944 INFO L134 CoverageAnalysis]: Checked inductivity of 138 backedges. 31 proven. 30 refuted. 0 times theorem prover too weak. 77 trivial. 0 not checked. [2022-07-22 03:11:31,945 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 03:11:31,945 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [739489184] [2022-07-22 03:11:31,945 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 03:11:31,945 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1689634693] [2022-07-22 03:11:31,945 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1689634693] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 03:11:31,945 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 03:11:31,945 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 16 [2022-07-22 03:11:31,945 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [423124162] [2022-07-22 03:11:31,945 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 03:11:31,990 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 03:11:31,990 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-07-22 03:11:31,990 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=84, Invalid=188, Unknown=0, NotChecked=0, Total=272 [2022-07-22 03:11:31,990 INFO L87 Difference]: Start difference. First operand 90 states and 100 transitions. cyclomatic complexity: 18 Second operand has 17 states, 16 states have (on average 2.8125) internal successors, (45), 17 states have internal predecessors, (45), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:32,344 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 03:11:32,344 INFO L93 Difference]: Finished difference Result 202 states and 226 transitions. [2022-07-22 03:11:32,344 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-07-22 03:11:32,344 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 202 states and 226 transitions. [2022-07-22 03:11:32,362 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:11:32,363 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 202 states to 133 states and 152 transitions. [2022-07-22 03:11:32,363 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 40 [2022-07-22 03:11:32,363 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 40 [2022-07-22 03:11:32,363 INFO L73 IsDeterministic]: Start isDeterministic. Operand 133 states and 152 transitions. [2022-07-22 03:11:32,363 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 03:11:32,363 INFO L369 hiAutomatonCegarLoop]: Abstraction has 133 states and 152 transitions. [2022-07-22 03:11:32,363 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 133 states and 152 transitions. [2022-07-22 03:11:32,364 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 133 to 96. [2022-07-22 03:11:32,365 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 96 states, 96 states have (on average 1.1041666666666667) internal successors, (106), 95 states have internal predecessors, (106), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:32,365 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 96 states to 96 states and 106 transitions. [2022-07-22 03:11:32,365 INFO L392 hiAutomatonCegarLoop]: Abstraction has 96 states and 106 transitions. [2022-07-22 03:11:32,365 INFO L374 stractBuchiCegarLoop]: Abstraction has 96 states and 106 transitions. [2022-07-22 03:11:32,365 INFO L287 stractBuchiCegarLoop]: ======== Iteration 18 ============ [2022-07-22 03:11:32,365 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 96 states and 106 transitions. [2022-07-22 03:11:32,366 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:11:32,366 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 03:11:32,366 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 03:11:32,366 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [7, 7, 7, 6, 6, 6, 4, 4, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 03:11:32,366 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-22 03:11:32,367 INFO L752 eck$LassoCheckResult]: Stem: 7573#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);~N~0 := 0; 7574#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem12#1, main_#t~post11#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 7584#L44 assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet2#1, init_nondet_#t~post1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0; 7585#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 7600#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 7601#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 7602#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 7627#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 7626#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 7625#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 7623#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 7614#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 7613#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 7612#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 7610#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 7609#L18-3 assume !(init_nondet_~i~0#1 < ~N~0); 7563#L16 assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 7564#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 7597#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 7643#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 7642#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 7641#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 7640#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 7638#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 7577#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 7578#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 7658#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 7624#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 7622#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 7620#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 7575#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 7576#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 7631#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 7630#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 7629#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 7628#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 7616#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 7617#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 7615#L29-3 assume !(rangesum_~i~1#1 < ~N~0); 7582#L29-4 assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296); 7583#L38 main_#t~ret6#1 := rangesum_#res#1;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 7593#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 7594#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 7604#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 7605#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 7644#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 7645#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 7646#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 7567#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 7568#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 7657#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 7639#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 7637#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 7636#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 7565#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 7566#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 7635#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 7634#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 7633#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 7632#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 7619#L30-2 [2022-07-22 03:11:32,367 INFO L754 eck$LassoCheckResult]: Loop: 7619#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 7621#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 7618#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 7619#L30-2 [2022-07-22 03:11:32,367 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:32,367 INFO L85 PathProgramCache]: Analyzing trace with hash 380293024, now seen corresponding path program 6 times [2022-07-22 03:11:32,367 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:32,367 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1392315718] [2022-07-22 03:11:32,367 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:32,368 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:32,382 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:11:32,382 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1277154853] [2022-07-22 03:11:32,382 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-07-22 03:11:32,382 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:11:32,383 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:32,391 INFO L229 MonitoredProcess]: Starting monitored process 91 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:11:32,407 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (91)] Waiting until timeout for monitored process [2022-07-22 03:11:32,488 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 8 check-sat command(s) [2022-07-22 03:11:32,489 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 03:11:32,490 INFO L263 TraceCheckSpWp]: Trace formula consists of 255 conjuncts, 17 conjunts are in the unsatisfiable core [2022-07-22 03:11:32,491 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:11:32,763 INFO L134 CoverageAnalysis]: Checked inductivity of 157 backedges. 40 proven. 76 refuted. 0 times theorem prover too weak. 41 trivial. 0 not checked. [2022-07-22 03:11:32,763 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 03:11:32,969 INFO L134 CoverageAnalysis]: Checked inductivity of 157 backedges. 57 proven. 59 refuted. 0 times theorem prover too weak. 41 trivial. 0 not checked. [2022-07-22 03:11:32,969 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 03:11:32,969 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1392315718] [2022-07-22 03:11:32,969 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 03:11:32,969 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1277154853] [2022-07-22 03:11:32,970 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1277154853] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 03:11:32,970 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 03:11:32,970 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 16] total 24 [2022-07-22 03:11:32,970 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1892193591] [2022-07-22 03:11:32,970 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 03:11:32,970 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 03:11:32,970 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:32,970 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 6 times [2022-07-22 03:11:32,970 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:32,971 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1699823848] [2022-07-22 03:11:32,971 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:32,971 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:32,975 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:32,976 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:11:32,978 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:32,979 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:11:33,037 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 03:11:33,037 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2022-07-22 03:11:33,038 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=163, Invalid=437, Unknown=0, NotChecked=0, Total=600 [2022-07-22 03:11:33,038 INFO L87 Difference]: Start difference. First operand 96 states and 106 transitions. cyclomatic complexity: 18 Second operand has 25 states, 24 states have (on average 2.9166666666666665) internal successors, (70), 25 states have internal predecessors, (70), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:33,484 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 03:11:33,484 INFO L93 Difference]: Finished difference Result 179 states and 193 transitions. [2022-07-22 03:11:33,484 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-07-22 03:11:33,484 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 179 states and 193 transitions. [2022-07-22 03:11:33,486 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:11:33,487 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 179 states to 95 states and 102 transitions. [2022-07-22 03:11:33,487 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 31 [2022-07-22 03:11:33,487 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 31 [2022-07-22 03:11:33,488 INFO L73 IsDeterministic]: Start isDeterministic. Operand 95 states and 102 transitions. [2022-07-22 03:11:33,488 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 03:11:33,488 INFO L369 hiAutomatonCegarLoop]: Abstraction has 95 states and 102 transitions. [2022-07-22 03:11:33,488 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 95 states and 102 transitions. [2022-07-22 03:11:33,489 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 95 to 89. [2022-07-22 03:11:33,489 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 89 states, 89 states have (on average 1.0786516853932584) internal successors, (96), 88 states have internal predecessors, (96), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:33,490 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 96 transitions. [2022-07-22 03:11:33,490 INFO L392 hiAutomatonCegarLoop]: Abstraction has 89 states and 96 transitions. [2022-07-22 03:11:33,490 INFO L374 stractBuchiCegarLoop]: Abstraction has 89 states and 96 transitions. [2022-07-22 03:11:33,490 INFO L287 stractBuchiCegarLoop]: ======== Iteration 19 ============ [2022-07-22 03:11:33,490 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 89 states and 96 transitions. [2022-07-22 03:11:33,491 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:11:33,491 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 03:11:33,491 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 03:11:33,494 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [7, 7, 7, 7, 7, 6, 4, 4, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 03:11:33,494 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-22 03:11:33,494 INFO L752 eck$LassoCheckResult]: Stem: 8258#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);~N~0 := 0; 8259#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem12#1, main_#t~post11#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 8265#L44 assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet2#1, init_nondet_#t~post1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0; 8266#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 8278#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 8279#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 8280#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 8325#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 8324#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 8323#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 8322#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 8321#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 8320#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 8319#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 8318#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 8317#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 8286#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 8285#L18-3 assume !(init_nondet_~i~0#1 < ~N~0); 8244#L16 assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 8245#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 8276#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 8314#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 8277#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 8254#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 8255#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 8284#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 8313#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 8312#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 8311#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 8288#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 8305#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 8287#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 8252#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 8253#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 8299#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 8297#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 8294#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 8293#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 8290#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 8292#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 8289#L29-3 assume !(rangesum_~i~1#1 < ~N~0); 8263#L29-4 assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296); 8264#L38 main_#t~ret6#1 := rangesum_#res#1;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 8274#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 8246#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 8247#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 8275#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 8248#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 8249#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 8283#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 8316#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 8315#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 8309#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 8310#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 8308#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 8307#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 8306#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 8304#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 8303#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 8302#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 8301#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 8300#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 8296#L30-2 [2022-07-22 03:11:33,495 INFO L754 eck$LassoCheckResult]: Loop: 8296#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 8298#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 8295#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 8296#L30-2 [2022-07-22 03:11:33,495 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:33,495 INFO L85 PathProgramCache]: Analyzing trace with hash 466985150, now seen corresponding path program 7 times [2022-07-22 03:11:33,495 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:33,495 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [185359654] [2022-07-22 03:11:33,496 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:33,496 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:33,507 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:11:33,508 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1605409348] [2022-07-22 03:11:33,508 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2022-07-22 03:11:33,508 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:11:33,508 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:33,511 INFO L229 MonitoredProcess]: Starting monitored process 92 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:11:33,540 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (92)] Waiting until timeout for monitored process [2022-07-22 03:11:33,623 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:33,623 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:11:33,652 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:33,667 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:11:33,668 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:33,668 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 7 times [2022-07-22 03:11:33,668 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:33,668 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1613692536] [2022-07-22 03:11:33,668 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:33,669 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:33,672 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:33,672 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:11:33,674 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:33,675 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:11:33,676 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:33,676 INFO L85 PathProgramCache]: Analyzing trace with hash 555586642, now seen corresponding path program 8 times [2022-07-22 03:11:33,676 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:33,676 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [54771183] [2022-07-22 03:11:33,676 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:33,676 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:33,688 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:11:33,688 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [961552528] [2022-07-22 03:11:33,688 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-07-22 03:11:33,688 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:11:33,689 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:33,690 INFO L229 MonitoredProcess]: Starting monitored process 93 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:11:33,727 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (93)] Waiting until timeout for monitored process [2022-07-22 03:11:33,786 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-07-22 03:11:33,787 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 03:11:33,788 INFO L263 TraceCheckSpWp]: Trace formula consists of 278 conjuncts, 18 conjunts are in the unsatisfiable core [2022-07-22 03:11:33,789 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:11:33,989 INFO L134 CoverageAnalysis]: Checked inductivity of 189 backedges. 70 proven. 49 refuted. 0 times theorem prover too weak. 70 trivial. 0 not checked. [2022-07-22 03:11:33,989 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 03:11:34,167 INFO L134 CoverageAnalysis]: Checked inductivity of 189 backedges. 70 proven. 49 refuted. 0 times theorem prover too weak. 70 trivial. 0 not checked. [2022-07-22 03:11:34,167 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 03:11:34,167 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [54771183] [2022-07-22 03:11:34,168 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 03:11:34,168 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [961552528] [2022-07-22 03:11:34,168 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [961552528] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 03:11:34,168 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 03:11:34,168 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 18] total 26 [2022-07-22 03:11:34,168 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [422816862] [2022-07-22 03:11:34,168 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 03:11:34,229 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 03:11:34,230 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2022-07-22 03:11:34,230 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=179, Invalid=523, Unknown=0, NotChecked=0, Total=702 [2022-07-22 03:11:34,230 INFO L87 Difference]: Start difference. First operand 89 states and 96 transitions. cyclomatic complexity: 15 Second operand has 27 states, 26 states have (on average 2.730769230769231) internal successors, (71), 27 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:34,640 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 03:11:34,640 INFO L93 Difference]: Finished difference Result 173 states and 181 transitions. [2022-07-22 03:11:34,640 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2022-07-22 03:11:34,641 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 173 states and 181 transitions. [2022-07-22 03:11:34,642 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:11:34,642 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 173 states to 92 states and 99 transitions. [2022-07-22 03:11:34,642 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 30 [2022-07-22 03:11:34,643 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 30 [2022-07-22 03:11:34,643 INFO L73 IsDeterministic]: Start isDeterministic. Operand 92 states and 99 transitions. [2022-07-22 03:11:34,643 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 03:11:34,643 INFO L369 hiAutomatonCegarLoop]: Abstraction has 92 states and 99 transitions. [2022-07-22 03:11:34,643 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 92 states and 99 transitions. [2022-07-22 03:11:34,644 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 92 to 91. [2022-07-22 03:11:34,644 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 91 states, 91 states have (on average 1.0769230769230769) internal successors, (98), 90 states have internal predecessors, (98), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:34,644 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 91 states to 91 states and 98 transitions. [2022-07-22 03:11:34,644 INFO L392 hiAutomatonCegarLoop]: Abstraction has 91 states and 98 transitions. [2022-07-22 03:11:34,645 INFO L374 stractBuchiCegarLoop]: Abstraction has 91 states and 98 transitions. [2022-07-22 03:11:34,645 INFO L287 stractBuchiCegarLoop]: ======== Iteration 20 ============ [2022-07-22 03:11:34,645 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 91 states and 98 transitions. [2022-07-22 03:11:34,645 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:11:34,645 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 03:11:34,645 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 03:11:34,646 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [8, 8, 7, 7, 7, 6, 4, 4, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 03:11:34,646 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-22 03:11:34,646 INFO L752 eck$LassoCheckResult]: Stem: 8950#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);~N~0 := 0; 8951#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem12#1, main_#t~post11#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 8961#L44 assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet2#1, init_nondet_#t~post1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0; 8962#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 8976#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 8977#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 8974#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 8975#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 9030#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 9029#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 9028#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 9027#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 9026#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 9025#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 9024#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 9023#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 9022#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 9021#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 8983#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 8982#L18-3 assume !(init_nondet_~i~0#1 < ~N~0); 8940#L16 assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 8941#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 8948#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 8949#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 8972#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 8973#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 8998#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 8996#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 8994#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 8992#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 8990#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 8985#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 8988#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 8984#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 8946#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 8947#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 8997#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 8995#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 8993#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 8991#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 8987#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 8989#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 8986#L29-3 assume !(rangesum_~i~1#1 < ~N~0); 8956#L29-4 assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296); 8957#L38 main_#t~ret6#1 := rangesum_#res#1;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 8970#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 8942#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 8943#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 8971#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 8944#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 8945#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 8979#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 9020#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 9018#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 9013#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 9015#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 9012#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 9011#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 9009#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 9008#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 9007#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 9006#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 9005#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 9004#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 9002#L30-2 [2022-07-22 03:11:34,646 INFO L754 eck$LassoCheckResult]: Loop: 9002#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 9003#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 9001#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 9002#L30-2 [2022-07-22 03:11:34,646 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:34,646 INFO L85 PathProgramCache]: Analyzing trace with hash -2121227684, now seen corresponding path program 9 times [2022-07-22 03:11:34,646 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:34,646 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [400588515] [2022-07-22 03:11:34,646 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:34,647 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:34,659 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:11:34,660 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1966100879] [2022-07-22 03:11:34,660 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-07-22 03:11:34,660 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:11:34,660 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:34,664 INFO L229 MonitoredProcess]: Starting monitored process 94 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:11:34,665 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (94)] Waiting until timeout for monitored process [2022-07-22 03:11:34,796 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 9 check-sat command(s) [2022-07-22 03:11:34,796 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 03:11:34,798 INFO L263 TraceCheckSpWp]: Trace formula consists of 277 conjuncts, 21 conjunts are in the unsatisfiable core [2022-07-22 03:11:34,799 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:11:35,128 INFO L134 CoverageAnalysis]: Checked inductivity of 185 backedges. 112 proven. 56 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2022-07-22 03:11:35,128 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 03:11:35,542 INFO L134 CoverageAnalysis]: Checked inductivity of 185 backedges. 72 proven. 96 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2022-07-22 03:11:35,542 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 03:11:35,543 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [400588515] [2022-07-22 03:11:35,543 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 03:11:35,543 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1966100879] [2022-07-22 03:11:35,543 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1966100879] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 03:11:35,543 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 03:11:35,543 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [22, 21] total 32 [2022-07-22 03:11:35,543 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [310294910] [2022-07-22 03:11:35,543 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 03:11:35,543 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 03:11:35,543 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:35,544 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 8 times [2022-07-22 03:11:35,544 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:35,544 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [59631296] [2022-07-22 03:11:35,544 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:35,544 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:35,547 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:35,548 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:11:35,549 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:35,550 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:11:35,602 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 03:11:35,602 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 32 interpolants. [2022-07-22 03:11:35,603 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=246, Invalid=746, Unknown=0, NotChecked=0, Total=992 [2022-07-22 03:11:35,603 INFO L87 Difference]: Start difference. First operand 91 states and 98 transitions. cyclomatic complexity: 15 Second operand has 32 states, 32 states have (on average 2.59375) internal successors, (83), 32 states have internal predecessors, (83), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:36,295 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 03:11:36,295 INFO L93 Difference]: Finished difference Result 195 states and 208 transitions. [2022-07-22 03:11:36,296 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2022-07-22 03:11:36,296 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 195 states and 208 transitions. [2022-07-22 03:11:36,297 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 12 [2022-07-22 03:11:36,297 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 195 states to 188 states and 201 transitions. [2022-07-22 03:11:36,297 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 75 [2022-07-22 03:11:36,297 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 75 [2022-07-22 03:11:36,298 INFO L73 IsDeterministic]: Start isDeterministic. Operand 188 states and 201 transitions. [2022-07-22 03:11:36,298 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 03:11:36,298 INFO L369 hiAutomatonCegarLoop]: Abstraction has 188 states and 201 transitions. [2022-07-22 03:11:36,298 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 188 states and 201 transitions. [2022-07-22 03:11:36,299 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 188 to 100. [2022-07-22 03:11:36,299 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 100 states, 100 states have (on average 1.07) internal successors, (107), 99 states have internal predecessors, (107), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:36,299 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 100 states to 100 states and 107 transitions. [2022-07-22 03:11:36,299 INFO L392 hiAutomatonCegarLoop]: Abstraction has 100 states and 107 transitions. [2022-07-22 03:11:36,299 INFO L374 stractBuchiCegarLoop]: Abstraction has 100 states and 107 transitions. [2022-07-22 03:11:36,300 INFO L287 stractBuchiCegarLoop]: ======== Iteration 21 ============ [2022-07-22 03:11:36,300 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 100 states and 107 transitions. [2022-07-22 03:11:36,300 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:11:36,300 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 03:11:36,301 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 03:11:36,301 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [8, 8, 8, 8, 8, 7, 5, 5, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 03:11:36,301 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-22 03:11:36,301 INFO L752 eck$LassoCheckResult]: Stem: 9691#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);~N~0 := 0; 9692#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem12#1, main_#t~post11#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 9698#L44 assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet2#1, init_nondet_#t~post1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0; 9699#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 9712#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 9713#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 9714#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 9737#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 9736#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 9735#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 9734#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 9733#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 9732#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 9731#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 9730#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 9729#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 9728#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 9727#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 9723#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 9722#L18-3 assume !(init_nondet_~i~0#1 < ~N~0); 9677#L16 assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 9678#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 9710#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 9753#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 9752#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 9751#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 9750#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 9749#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 9748#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 9747#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 9745#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 9744#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 9743#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 9742#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 9725#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 9726#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 9724#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 9683#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 9684#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 9721#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 9754#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 9755#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 9711#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 9685#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 9686#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 9740#L29-3 assume !(rangesum_~i~1#1 < ~N~0); 9693#L29-4 assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296); 9694#L38 main_#t~ret6#1 := rangesum_#res#1;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 9716#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 9760#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 9717#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 9718#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 9766#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 9719#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 9708#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 9709#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 9764#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 9765#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 9681#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 9682#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 9762#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 9763#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 9761#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 9707#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 9679#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 9680#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 9759#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 9758#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 9757#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 9756#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 9739#L30-2 [2022-07-22 03:11:36,302 INFO L754 eck$LassoCheckResult]: Loop: 9739#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 9746#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 9738#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 9739#L30-2 [2022-07-22 03:11:36,302 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:36,302 INFO L85 PathProgramCache]: Analyzing trace with hash -683080161, now seen corresponding path program 10 times [2022-07-22 03:11:36,302 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:36,302 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [230901445] [2022-07-22 03:11:36,302 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:36,303 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:36,315 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:11:36,316 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [523443837] [2022-07-22 03:11:36,316 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-07-22 03:11:36,316 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:11:36,316 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:36,320 INFO L229 MonitoredProcess]: Starting monitored process 95 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:11:36,321 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (95)] Waiting until timeout for monitored process [2022-07-22 03:11:36,441 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-07-22 03:11:36,441 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-07-22 03:11:36,441 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:11:36,479 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:36,497 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:11:36,498 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:36,498 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 9 times [2022-07-22 03:11:36,498 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:36,498 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [554450334] [2022-07-22 03:11:36,498 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:36,498 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:36,501 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:36,501 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:11:36,503 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:36,504 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:11:36,505 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:36,505 INFO L85 PathProgramCache]: Analyzing trace with hash -85973167, now seen corresponding path program 11 times [2022-07-22 03:11:36,505 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:36,505 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1836996134] [2022-07-22 03:11:36,505 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:36,505 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:36,518 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:11:36,519 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1080149553] [2022-07-22 03:11:36,519 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-07-22 03:11:36,519 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:11:36,519 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:36,527 INFO L229 MonitoredProcess]: Starting monitored process 96 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:11:36,548 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (96)] Waiting until timeout for monitored process [2022-07-22 03:11:36,659 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 9 check-sat command(s) [2022-07-22 03:11:36,659 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 03:11:36,662 INFO L263 TraceCheckSpWp]: Trace formula consists of 297 conjuncts, 20 conjunts are in the unsatisfiable core [2022-07-22 03:11:36,663 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:11:36,896 INFO L134 CoverageAnalysis]: Checked inductivity of 248 backedges. 92 proven. 64 refuted. 0 times theorem prover too weak. 92 trivial. 0 not checked. [2022-07-22 03:11:36,896 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 03:11:37,113 INFO L134 CoverageAnalysis]: Checked inductivity of 248 backedges. 92 proven. 64 refuted. 0 times theorem prover too weak. 92 trivial. 0 not checked. [2022-07-22 03:11:37,113 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 03:11:37,113 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1836996134] [2022-07-22 03:11:37,113 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 03:11:37,113 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1080149553] [2022-07-22 03:11:37,113 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1080149553] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 03:11:37,113 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 03:11:37,113 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [20, 20] total 29 [2022-07-22 03:11:37,114 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1049277832] [2022-07-22 03:11:37,114 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 03:11:37,172 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 03:11:37,172 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 30 interpolants. [2022-07-22 03:11:37,173 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=219, Invalid=651, Unknown=0, NotChecked=0, Total=870 [2022-07-22 03:11:37,173 INFO L87 Difference]: Start difference. First operand 100 states and 107 transitions. cyclomatic complexity: 15 Second operand has 30 states, 29 states have (on average 2.7241379310344827) internal successors, (79), 30 states have internal predecessors, (79), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:37,701 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 03:11:37,701 INFO L93 Difference]: Finished difference Result 193 states and 201 transitions. [2022-07-22 03:11:37,701 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-07-22 03:11:37,702 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 193 states and 201 transitions. [2022-07-22 03:11:37,702 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:11:37,703 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 193 states to 103 states and 110 transitions. [2022-07-22 03:11:37,703 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 30 [2022-07-22 03:11:37,703 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 30 [2022-07-22 03:11:37,703 INFO L73 IsDeterministic]: Start isDeterministic. Operand 103 states and 110 transitions. [2022-07-22 03:11:37,703 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 03:11:37,703 INFO L369 hiAutomatonCegarLoop]: Abstraction has 103 states and 110 transitions. [2022-07-22 03:11:37,703 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 103 states and 110 transitions. [2022-07-22 03:11:37,704 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 103 to 102. [2022-07-22 03:11:37,705 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 102 states, 102 states have (on average 1.0686274509803921) internal successors, (109), 101 states have internal predecessors, (109), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:37,705 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 102 states to 102 states and 109 transitions. [2022-07-22 03:11:37,705 INFO L392 hiAutomatonCegarLoop]: Abstraction has 102 states and 109 transitions. [2022-07-22 03:11:37,705 INFO L374 stractBuchiCegarLoop]: Abstraction has 102 states and 109 transitions. [2022-07-22 03:11:37,705 INFO L287 stractBuchiCegarLoop]: ======== Iteration 22 ============ [2022-07-22 03:11:37,705 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 102 states and 109 transitions. [2022-07-22 03:11:37,706 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:11:37,706 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 03:11:37,706 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 03:11:37,707 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [9, 9, 8, 8, 8, 7, 5, 5, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 03:11:37,707 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-22 03:11:37,707 INFO L752 eck$LassoCheckResult]: Stem: 10463#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);~N~0 := 0; 10464#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem12#1, main_#t~post11#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 10478#L44 assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet2#1, init_nondet_#t~post1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0; 10479#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 10493#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 10494#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 10491#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 10492#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 10558#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 10557#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 10556#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 10555#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 10554#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 10553#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 10552#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 10551#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 10550#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 10549#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 10548#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 10547#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 10500#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 10499#L18-3 assume !(init_nondet_~i~0#1 < ~N~0); 10457#L16 assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 10458#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 10489#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 10532#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 10530#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 10527#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 10525#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 10523#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 10521#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 10519#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 10517#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 10515#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 10513#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 10512#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 10507#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 10508#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 10506#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 10465#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 10466#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 10490#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 10467#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 10468#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 10505#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 10503#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 10504#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 10502#L29-3 assume !(rangesum_~i~1#1 < ~N~0); 10473#L29-4 assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296); 10474#L38 main_#t~ret6#1 := rangesum_#res#1;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 10486#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 10459#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 10460#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 10496#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 10461#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 10462#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 10487#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 10488#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 10536#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 10535#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 10534#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 10533#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 10529#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 10531#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 10528#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 10526#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 10524#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 10522#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 10520#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 10518#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 10516#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 10514#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 10510#L30-2 [2022-07-22 03:11:37,707 INFO L754 eck$LassoCheckResult]: Loop: 10510#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 10511#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 10509#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 10510#L30-2 [2022-07-22 03:11:37,708 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:37,708 INFO L85 PathProgramCache]: Analyzing trace with hash 414157245, now seen corresponding path program 12 times [2022-07-22 03:11:37,708 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:37,708 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1799589308] [2022-07-22 03:11:37,708 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:37,708 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:37,751 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:11:37,752 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [422865580] [2022-07-22 03:11:37,752 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-07-22 03:11:37,752 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:11:37,752 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:37,754 INFO L229 MonitoredProcess]: Starting monitored process 97 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:11:37,776 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (97)] Waiting until timeout for monitored process [2022-07-22 03:11:37,940 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 10 check-sat command(s) [2022-07-22 03:11:37,940 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 03:11:37,942 INFO L263 TraceCheckSpWp]: Trace formula consists of 296 conjuncts, 20 conjunts are in the unsatisfiable core [2022-07-22 03:11:37,943 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:11:38,137 INFO L134 CoverageAnalysis]: Checked inductivity of 243 backedges. 64 proven. 109 refuted. 0 times theorem prover too weak. 70 trivial. 0 not checked. [2022-07-22 03:11:38,137 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 03:11:38,309 INFO L134 CoverageAnalysis]: Checked inductivity of 243 backedges. 64 proven. 109 refuted. 0 times theorem prover too weak. 70 trivial. 0 not checked. [2022-07-22 03:11:38,309 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 03:11:38,309 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1799589308] [2022-07-22 03:11:38,309 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 03:11:38,310 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [422865580] [2022-07-22 03:11:38,310 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [422865580] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 03:11:38,310 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 03:11:38,310 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 21] total 30 [2022-07-22 03:11:38,310 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1454906649] [2022-07-22 03:11:38,310 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 03:11:38,311 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 03:11:38,311 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:38,311 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 10 times [2022-07-22 03:11:38,311 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:38,311 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [341217244] [2022-07-22 03:11:38,311 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:38,312 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:38,314 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:38,314 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:11:38,316 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:38,317 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:11:38,375 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 03:11:38,376 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 30 interpolants. [2022-07-22 03:11:38,377 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=219, Invalid=651, Unknown=0, NotChecked=0, Total=870 [2022-07-22 03:11:38,377 INFO L87 Difference]: Start difference. First operand 102 states and 109 transitions. cyclomatic complexity: 15 Second operand has 30 states, 30 states have (on average 2.6666666666666665) internal successors, (80), 30 states have internal predecessors, (80), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:39,090 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 03:11:39,090 INFO L93 Difference]: Finished difference Result 242 states and 262 transitions. [2022-07-22 03:11:39,091 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 36 states. [2022-07-22 03:11:39,091 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 242 states and 262 transitions. [2022-07-22 03:11:39,093 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:11:39,094 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 242 states to 242 states and 262 transitions. [2022-07-22 03:11:39,094 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 102 [2022-07-22 03:11:39,094 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 102 [2022-07-22 03:11:39,094 INFO L73 IsDeterministic]: Start isDeterministic. Operand 242 states and 262 transitions. [2022-07-22 03:11:39,094 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 03:11:39,094 INFO L369 hiAutomatonCegarLoop]: Abstraction has 242 states and 262 transitions. [2022-07-22 03:11:39,094 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 242 states and 262 transitions. [2022-07-22 03:11:39,096 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 242 to 108. [2022-07-22 03:11:39,096 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 108 states, 108 states have (on average 1.0648148148148149) internal successors, (115), 107 states have internal predecessors, (115), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:39,096 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 108 states to 108 states and 115 transitions. [2022-07-22 03:11:39,096 INFO L392 hiAutomatonCegarLoop]: Abstraction has 108 states and 115 transitions. [2022-07-22 03:11:39,096 INFO L374 stractBuchiCegarLoop]: Abstraction has 108 states and 115 transitions. [2022-07-22 03:11:39,097 INFO L287 stractBuchiCegarLoop]: ======== Iteration 23 ============ [2022-07-22 03:11:39,097 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 108 states and 115 transitions. [2022-07-22 03:11:39,097 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:11:39,097 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 03:11:39,097 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 03:11:39,098 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [9, 9, 9, 9, 9, 8, 5, 5, 4, 3, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 03:11:39,098 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-22 03:11:39,098 INFO L752 eck$LassoCheckResult]: Stem: 11316#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);~N~0 := 0; 11317#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem12#1, main_#t~post11#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 11332#L44 assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet2#1, init_nondet_#t~post1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0; 11333#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 11345#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 11346#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 11347#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 11372#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 11371#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 11370#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 11369#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 11368#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 11367#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 11366#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 11365#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 11364#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 11363#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 11362#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 11355#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 11354#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 11353#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 11352#L18-3 assume !(init_nondet_~i~0#1 < ~N~0); 11310#L16 assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 11311#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 11343#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 11406#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 11401#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 11397#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 11398#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 11402#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 11404#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 11395#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 11394#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 11392#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 11351#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 11344#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 11320#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 11321#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 11389#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 11318#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 11319#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 11385#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 11383#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 11381#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 11379#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 11377#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 11375#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 11373#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 11357#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 11358#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 11356#L29-3 assume !(rangesum_~i~1#1 < ~N~0); 11330#L29-4 assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296); 11331#L38 main_#t~ret6#1 := rangesum_#res#1;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 11341#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 11312#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 11313#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 11349#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 11399#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 11400#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 11403#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 11405#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 11396#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 11342#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 11314#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 11315#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 11350#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 11393#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 11391#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 11390#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 11388#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 11387#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 11386#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 11384#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 11382#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 11380#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 11378#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 11376#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 11374#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 11360#L30-2 [2022-07-22 03:11:39,099 INFO L754 eck$LassoCheckResult]: Loop: 11360#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 11361#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 11359#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 11360#L30-2 [2022-07-22 03:11:39,099 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:39,099 INFO L85 PathProgramCache]: Analyzing trace with hash -2088866474, now seen corresponding path program 13 times [2022-07-22 03:11:39,099 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:39,099 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1412197862] [2022-07-22 03:11:39,100 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:39,100 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:39,114 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:11:39,114 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [126407722] [2022-07-22 03:11:39,114 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2022-07-22 03:11:39,114 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:11:39,115 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:39,120 INFO L229 MonitoredProcess]: Starting monitored process 98 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:11:39,129 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (98)] Waiting until timeout for monitored process [2022-07-22 03:11:39,231 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:39,231 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:11:39,277 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:39,298 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:11:39,299 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:39,299 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 11 times [2022-07-22 03:11:39,299 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:39,299 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [534565855] [2022-07-22 03:11:39,299 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:39,299 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:39,303 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:39,303 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:11:39,305 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:39,306 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:11:39,306 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:39,307 INFO L85 PathProgramCache]: Analyzing trace with hash 360079546, now seen corresponding path program 14 times [2022-07-22 03:11:39,307 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:39,307 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [958967603] [2022-07-22 03:11:39,307 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:39,307 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:39,322 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:11:39,322 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1598998156] [2022-07-22 03:11:39,323 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-07-22 03:11:39,323 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:11:39,323 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:39,329 INFO L229 MonitoredProcess]: Starting monitored process 99 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:11:39,330 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (99)] Waiting until timeout for monitored process [2022-07-22 03:11:39,424 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-07-22 03:11:39,424 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 03:11:39,425 INFO L263 TraceCheckSpWp]: Trace formula consists of 332 conjuncts, 22 conjunts are in the unsatisfiable core [2022-07-22 03:11:39,427 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:11:39,669 INFO L134 CoverageAnalysis]: Checked inductivity of 315 backedges. 117 proven. 81 refuted. 0 times theorem prover too weak. 117 trivial. 0 not checked. [2022-07-22 03:11:39,669 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 03:11:39,937 INFO L134 CoverageAnalysis]: Checked inductivity of 315 backedges. 117 proven. 81 refuted. 0 times theorem prover too weak. 117 trivial. 0 not checked. [2022-07-22 03:11:39,937 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 03:11:39,937 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [958967603] [2022-07-22 03:11:39,937 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 03:11:39,937 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1598998156] [2022-07-22 03:11:39,937 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1598998156] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 03:11:39,937 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 03:11:39,937 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [22, 22] total 32 [2022-07-22 03:11:39,937 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [608503380] [2022-07-22 03:11:39,938 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 03:11:39,995 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 03:11:39,995 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 33 interpolants. [2022-07-22 03:11:39,996 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=263, Invalid=793, Unknown=0, NotChecked=0, Total=1056 [2022-07-22 03:11:39,996 INFO L87 Difference]: Start difference. First operand 108 states and 115 transitions. cyclomatic complexity: 15 Second operand has 33 states, 32 states have (on average 2.71875) internal successors, (87), 33 states have internal predecessors, (87), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:40,557 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 03:11:40,557 INFO L93 Difference]: Finished difference Result 210 states and 218 transitions. [2022-07-22 03:11:40,558 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 25 states. [2022-07-22 03:11:40,558 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 210 states and 218 transitions. [2022-07-22 03:11:40,559 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:11:40,560 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 210 states to 111 states and 118 transitions. [2022-07-22 03:11:40,560 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 33 [2022-07-22 03:11:40,560 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 33 [2022-07-22 03:11:40,560 INFO L73 IsDeterministic]: Start isDeterministic. Operand 111 states and 118 transitions. [2022-07-22 03:11:40,560 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 03:11:40,561 INFO L369 hiAutomatonCegarLoop]: Abstraction has 111 states and 118 transitions. [2022-07-22 03:11:40,561 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 111 states and 118 transitions. [2022-07-22 03:11:40,562 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 111 to 110. [2022-07-22 03:11:40,562 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 110 states, 110 states have (on average 1.0636363636363637) internal successors, (117), 109 states have internal predecessors, (117), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:40,562 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 110 states to 110 states and 117 transitions. [2022-07-22 03:11:40,563 INFO L392 hiAutomatonCegarLoop]: Abstraction has 110 states and 117 transitions. [2022-07-22 03:11:40,563 INFO L374 stractBuchiCegarLoop]: Abstraction has 110 states and 117 transitions. [2022-07-22 03:11:40,563 INFO L287 stractBuchiCegarLoop]: ======== Iteration 24 ============ [2022-07-22 03:11:40,563 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 110 states and 117 transitions. [2022-07-22 03:11:40,564 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:11:40,564 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 03:11:40,564 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 03:11:40,564 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [10, 10, 9, 9, 9, 8, 5, 5, 4, 3, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 03:11:40,564 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-22 03:11:40,565 INFO L752 eck$LassoCheckResult]: Stem: 12182#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);~N~0 := 0; 12183#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem12#1, main_#t~post11#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 12189#L44 assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet2#1, init_nondet_#t~post1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0; 12190#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 12203#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 12204#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 12201#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 12202#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 12277#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 12276#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 12275#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 12274#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 12273#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 12272#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 12271#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 12270#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 12269#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 12268#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 12267#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 12266#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 12265#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 12264#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 12212#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 12211#L18-3 assume !(init_nondet_~i~0#1 < ~N~0); 12168#L16 assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 12169#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 12176#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 12177#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 12199#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 12200#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 12233#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 12232#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 12230#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 12228#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 12226#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 12224#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 12222#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 12220#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 12214#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 12218#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 12213#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 12174#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 12175#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 12231#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 12229#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 12227#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 12225#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 12223#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 12221#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 12219#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 12216#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 12217#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 12215#L29-3 assume !(rangesum_~i~1#1 < ~N~0); 12184#L29-4 assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296); 12185#L38 main_#t~ret6#1 := rangesum_#res#1;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 12206#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 12252#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 12207#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 12208#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 12263#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 12209#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 12198#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 12172#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 12173#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 12262#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 12261#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 12260#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 12256#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 12258#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 12255#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 12197#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 12170#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 12171#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 12249#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 12247#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 12245#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 12244#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 12243#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 12242#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 12240#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 12238#L30-2 [2022-07-22 03:11:40,565 INFO L754 eck$LassoCheckResult]: Loop: 12238#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 12239#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 12237#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 12238#L30-2 [2022-07-22 03:11:40,565 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:40,565 INFO L85 PathProgramCache]: Analyzing trace with hash -2047970572, now seen corresponding path program 15 times [2022-07-22 03:11:40,566 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:40,566 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [637861054] [2022-07-22 03:11:40,566 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:40,566 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:40,581 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:11:40,581 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [812844722] [2022-07-22 03:11:40,581 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-07-22 03:11:40,582 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:11:40,582 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:40,587 INFO L229 MonitoredProcess]: Starting monitored process 100 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:11:40,607 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (100)] Waiting until timeout for monitored process [2022-07-22 03:11:40,776 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 11 check-sat command(s) [2022-07-22 03:11:40,776 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 03:11:40,779 INFO L263 TraceCheckSpWp]: Trace formula consists of 331 conjuncts, 25 conjunts are in the unsatisfiable core [2022-07-22 03:11:40,780 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:11:41,221 INFO L134 CoverageAnalysis]: Checked inductivity of 309 backedges. 191 proven. 85 refuted. 0 times theorem prover too weak. 33 trivial. 0 not checked. [2022-07-22 03:11:41,222 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 03:11:41,835 INFO L134 CoverageAnalysis]: Checked inductivity of 309 backedges. 126 proven. 150 refuted. 0 times theorem prover too weak. 33 trivial. 0 not checked. [2022-07-22 03:11:41,835 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 03:11:41,835 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [637861054] [2022-07-22 03:11:41,836 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 03:11:41,836 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [812844722] [2022-07-22 03:11:41,836 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [812844722] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 03:11:41,836 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 03:11:41,836 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [26, 25] total 38 [2022-07-22 03:11:41,836 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1486883602] [2022-07-22 03:11:41,837 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 03:11:41,837 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 03:11:41,837 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:41,837 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 12 times [2022-07-22 03:11:41,837 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:41,838 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [291680788] [2022-07-22 03:11:41,838 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:41,838 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:41,841 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:41,842 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:11:41,844 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:41,849 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:11:41,904 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 03:11:41,904 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 38 interpolants. [2022-07-22 03:11:41,905 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=339, Invalid=1067, Unknown=0, NotChecked=0, Total=1406 [2022-07-22 03:11:41,905 INFO L87 Difference]: Start difference. First operand 110 states and 117 transitions. cyclomatic complexity: 15 Second operand has 38 states, 38 states have (on average 2.6052631578947367) internal successors, (99), 38 states have internal predecessors, (99), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:42,849 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 03:11:42,850 INFO L93 Difference]: Finished difference Result 229 states and 242 transitions. [2022-07-22 03:11:42,851 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 35 states. [2022-07-22 03:11:42,851 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 229 states and 242 transitions. [2022-07-22 03:11:42,852 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 12 [2022-07-22 03:11:42,853 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 229 states to 222 states and 235 transitions. [2022-07-22 03:11:42,853 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 87 [2022-07-22 03:11:42,854 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 87 [2022-07-22 03:11:42,854 INFO L73 IsDeterministic]: Start isDeterministic. Operand 222 states and 235 transitions. [2022-07-22 03:11:42,854 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 03:11:42,854 INFO L369 hiAutomatonCegarLoop]: Abstraction has 222 states and 235 transitions. [2022-07-22 03:11:42,854 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 222 states and 235 transitions. [2022-07-22 03:11:42,856 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 222 to 119. [2022-07-22 03:11:42,856 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 119 states, 119 states have (on average 1.0588235294117647) internal successors, (126), 118 states have internal predecessors, (126), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:42,857 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 119 states to 119 states and 126 transitions. [2022-07-22 03:11:42,857 INFO L392 hiAutomatonCegarLoop]: Abstraction has 119 states and 126 transitions. [2022-07-22 03:11:42,857 INFO L374 stractBuchiCegarLoop]: Abstraction has 119 states and 126 transitions. [2022-07-22 03:11:42,857 INFO L287 stractBuchiCegarLoop]: ======== Iteration 25 ============ [2022-07-22 03:11:42,857 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 119 states and 126 transitions. [2022-07-22 03:11:42,858 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:11:42,858 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 03:11:42,858 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 03:11:42,858 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [10, 10, 10, 10, 10, 9, 6, 6, 4, 3, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 03:11:42,859 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-22 03:11:42,859 INFO L752 eck$LassoCheckResult]: Stem: 13082#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);~N~0 := 0; 13083#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem12#1, main_#t~post11#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 13089#L44 assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet2#1, init_nondet_#t~post1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0; 13090#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 13103#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 13104#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 13105#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 13131#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 13130#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 13129#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 13128#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 13127#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 13126#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 13125#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 13124#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 13123#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 13122#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 13121#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 13120#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 13119#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 13118#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 13117#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 13113#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 13112#L18-3 assume !(init_nondet_~i~0#1 < ~N~0); 13068#L16 assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 13069#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 13100#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 13152#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 13151#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 13150#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 13149#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 13148#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 13147#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 13146#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 13145#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 13144#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 13143#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 13141#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 13140#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 13139#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 13138#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 13115#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 13116#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 13114#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 13074#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 13075#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 13111#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 13076#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 13077#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 13101#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 13102#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 13154#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 13153#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 13135#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 13136#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 13134#L29-3 assume !(rangesum_~i~1#1 < ~N~0); 13084#L29-4 assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296); 13085#L38 main_#t~ret6#1 := rangesum_#res#1;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 13107#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 13164#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 13108#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 13109#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 13072#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 13073#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 13098#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 13099#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 13172#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 13171#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 13170#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 13169#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 13168#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 13167#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 13166#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 13163#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 13165#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 13162#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 13097#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 13070#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 13071#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 13161#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 13160#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 13159#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 13158#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 13157#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 13156#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 13155#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 13133#L30-2 [2022-07-22 03:11:42,859 INFO L754 eck$LassoCheckResult]: Loop: 13133#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 13142#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 13132#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 13133#L30-2 [2022-07-22 03:11:42,859 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:42,860 INFO L85 PathProgramCache]: Analyzing trace with hash -1190377541, now seen corresponding path program 16 times [2022-07-22 03:11:42,860 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:42,860 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [62969154] [2022-07-22 03:11:42,860 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:42,860 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:42,875 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:11:42,875 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1077005656] [2022-07-22 03:11:42,876 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-07-22 03:11:42,876 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:11:42,876 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:42,883 INFO L229 MonitoredProcess]: Starting monitored process 101 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:11:42,904 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (101)] Waiting until timeout for monitored process [2022-07-22 03:11:43,072 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-07-22 03:11:43,073 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-07-22 03:11:43,073 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:11:43,142 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:43,170 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:11:43,171 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:43,171 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 13 times [2022-07-22 03:11:43,171 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:43,171 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [625542439] [2022-07-22 03:11:43,171 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:43,171 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:43,175 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:43,176 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:11:43,180 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:43,182 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:11:43,183 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:43,183 INFO L85 PathProgramCache]: Analyzing trace with hash 1007693877, now seen corresponding path program 17 times [2022-07-22 03:11:43,183 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:43,183 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [167265018] [2022-07-22 03:11:43,183 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:43,184 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:43,203 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:11:43,204 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [974750929] [2022-07-22 03:11:43,204 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-07-22 03:11:43,206 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:11:43,206 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:43,208 INFO L229 MonitoredProcess]: Starting monitored process 102 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:11:43,236 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (102)] Waiting until timeout for monitored process [2022-07-22 03:11:43,386 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 11 check-sat command(s) [2022-07-22 03:11:43,386 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 03:11:43,389 INFO L263 TraceCheckSpWp]: Trace formula consists of 351 conjuncts, 25 conjunts are in the unsatisfiable core [2022-07-22 03:11:43,391 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:11:43,847 INFO L134 CoverageAnalysis]: Checked inductivity of 390 backedges. 128 proven. 179 refuted. 0 times theorem prover too weak. 83 trivial. 0 not checked. [2022-07-22 03:11:43,847 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 03:11:44,260 INFO L134 CoverageAnalysis]: Checked inductivity of 390 backedges. 134 proven. 173 refuted. 0 times theorem prover too weak. 83 trivial. 0 not checked. [2022-07-22 03:11:44,260 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 03:11:44,260 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [167265018] [2022-07-22 03:11:44,260 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 03:11:44,260 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [974750929] [2022-07-22 03:11:44,260 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [974750929] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 03:11:44,260 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 03:11:44,260 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [25, 24] total 36 [2022-07-22 03:11:44,261 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [323653695] [2022-07-22 03:11:44,261 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 03:11:44,311 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 03:11:44,311 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 37 interpolants. [2022-07-22 03:11:44,312 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=346, Invalid=986, Unknown=0, NotChecked=0, Total=1332 [2022-07-22 03:11:44,312 INFO L87 Difference]: Start difference. First operand 119 states and 126 transitions. cyclomatic complexity: 15 Second operand has 37 states, 36 states have (on average 2.8333333333333335) internal successors, (102), 37 states have internal predecessors, (102), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:45,173 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 03:11:45,173 INFO L93 Difference]: Finished difference Result 231 states and 239 transitions. [2022-07-22 03:11:45,174 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 34 states. [2022-07-22 03:11:45,174 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 231 states and 239 transitions. [2022-07-22 03:11:45,175 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:11:45,177 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 231 states to 123 states and 130 transitions. [2022-07-22 03:11:45,177 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 34 [2022-07-22 03:11:45,177 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 34 [2022-07-22 03:11:45,177 INFO L73 IsDeterministic]: Start isDeterministic. Operand 123 states and 130 transitions. [2022-07-22 03:11:45,177 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 03:11:45,177 INFO L369 hiAutomatonCegarLoop]: Abstraction has 123 states and 130 transitions. [2022-07-22 03:11:45,177 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 123 states and 130 transitions. [2022-07-22 03:11:45,179 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 123 to 121. [2022-07-22 03:11:45,180 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 121 states, 121 states have (on average 1.0578512396694215) internal successors, (128), 120 states have internal predecessors, (128), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:45,180 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 121 states to 121 states and 128 transitions. [2022-07-22 03:11:45,180 INFO L392 hiAutomatonCegarLoop]: Abstraction has 121 states and 128 transitions. [2022-07-22 03:11:45,180 INFO L374 stractBuchiCegarLoop]: Abstraction has 121 states and 128 transitions. [2022-07-22 03:11:45,180 INFO L287 stractBuchiCegarLoop]: ======== Iteration 26 ============ [2022-07-22 03:11:45,181 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 121 states and 128 transitions. [2022-07-22 03:11:45,181 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:11:45,181 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 03:11:45,181 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 03:11:45,182 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [11, 11, 10, 10, 10, 9, 6, 6, 4, 3, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 03:11:45,182 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-22 03:11:45,182 INFO L752 eck$LassoCheckResult]: Stem: 14038#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);~N~0 := 0; 14039#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem12#1, main_#t~post11#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 14045#L44 assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet2#1, init_nondet_#t~post1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0; 14046#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 14059#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 14060#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 14061#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 14130#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 14129#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 14128#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 14127#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 14126#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 14125#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 14124#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 14123#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 14122#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 14121#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 14120#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 14119#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 14118#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 14117#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 14116#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 14115#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 14114#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 14068#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 14067#L18-3 assume !(init_nondet_~i~0#1 < ~N~0); 14024#L16 assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 14025#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 14057#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 14094#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 14058#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 14032#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 14033#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 14066#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 14090#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 14089#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 14088#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 14086#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 14084#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 14082#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 14080#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 14078#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 14076#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 14070#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 14074#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 14069#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 14030#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 14031#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 14087#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 14085#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 14083#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 14081#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 14079#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 14077#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 14075#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 14072#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 14073#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 14071#L29-3 assume !(rangesum_~i~1#1 < ~N~0); 14040#L29-4 assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296); 14041#L38 main_#t~ret6#1 := rangesum_#res#1;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 14054#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 14055#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 14063#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 14056#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 14028#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 14029#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 14064#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 14113#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 14112#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 14111#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 14110#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 14109#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 14108#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 14107#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 14106#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 14104#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 14105#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 14103#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 14102#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 14026#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 14027#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 14101#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 14100#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 14099#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 14098#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 14097#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 14096#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 14095#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 14092#L30-2 [2022-07-22 03:11:45,183 INFO L754 eck$LassoCheckResult]: Loop: 14092#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 14093#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 14091#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 14092#L30-2 [2022-07-22 03:11:45,183 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:45,183 INFO L85 PathProgramCache]: Analyzing trace with hash 602132313, now seen corresponding path program 18 times [2022-07-22 03:11:45,183 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:45,183 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1451129920] [2022-07-22 03:11:45,183 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:45,184 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:45,201 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:11:45,201 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [92153837] [2022-07-22 03:11:45,201 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-07-22 03:11:45,202 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:11:45,202 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:45,207 INFO L229 MonitoredProcess]: Starting monitored process 103 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:11:45,232 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (103)] Waiting until timeout for monitored process [2022-07-22 03:11:45,611 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 12 check-sat command(s) [2022-07-22 03:11:45,611 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 03:11:45,614 INFO L263 TraceCheckSpWp]: Trace formula consists of 350 conjuncts, 24 conjunts are in the unsatisfiable core [2022-07-22 03:11:45,616 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:11:45,885 INFO L134 CoverageAnalysis]: Checked inductivity of 383 backedges. 100 proven. 166 refuted. 0 times theorem prover too weak. 117 trivial. 0 not checked. [2022-07-22 03:11:45,885 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 03:11:46,157 INFO L134 CoverageAnalysis]: Checked inductivity of 383 backedges. 100 proven. 166 refuted. 0 times theorem prover too weak. 117 trivial. 0 not checked. [2022-07-22 03:11:46,157 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 03:11:46,157 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1451129920] [2022-07-22 03:11:46,157 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 03:11:46,158 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [92153837] [2022-07-22 03:11:46,158 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [92153837] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 03:11:46,158 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 03:11:46,158 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [25, 25] total 36 [2022-07-22 03:11:46,158 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [631753982] [2022-07-22 03:11:46,158 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 03:11:46,159 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 03:11:46,159 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:46,159 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 14 times [2022-07-22 03:11:46,159 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:46,159 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1509864432] [2022-07-22 03:11:46,159 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:46,160 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:46,163 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:46,163 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:11:46,165 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:46,166 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:11:46,232 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 03:11:46,232 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 36 interpolants. [2022-07-22 03:11:46,233 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=311, Invalid=949, Unknown=0, NotChecked=0, Total=1260 [2022-07-22 03:11:46,233 INFO L87 Difference]: Start difference. First operand 121 states and 128 transitions. cyclomatic complexity: 15 Second operand has 36 states, 36 states have (on average 2.6666666666666665) internal successors, (96), 36 states have internal predecessors, (96), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:47,251 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 03:11:47,252 INFO L93 Difference]: Finished difference Result 316 states and 339 transitions. [2022-07-22 03:11:47,252 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 46 states. [2022-07-22 03:11:47,253 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 316 states and 339 transitions. [2022-07-22 03:11:47,254 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:11:47,255 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 316 states to 316 states and 339 transitions. [2022-07-22 03:11:47,255 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 138 [2022-07-22 03:11:47,256 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 138 [2022-07-22 03:11:47,256 INFO L73 IsDeterministic]: Start isDeterministic. Operand 316 states and 339 transitions. [2022-07-22 03:11:47,256 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 03:11:47,256 INFO L369 hiAutomatonCegarLoop]: Abstraction has 316 states and 339 transitions. [2022-07-22 03:11:47,256 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 316 states and 339 transitions. [2022-07-22 03:11:47,258 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 316 to 127. [2022-07-22 03:11:47,258 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 127 states, 127 states have (on average 1.0551181102362204) internal successors, (134), 126 states have internal predecessors, (134), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:47,259 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 127 states to 127 states and 134 transitions. [2022-07-22 03:11:47,259 INFO L392 hiAutomatonCegarLoop]: Abstraction has 127 states and 134 transitions. [2022-07-22 03:11:47,259 INFO L374 stractBuchiCegarLoop]: Abstraction has 127 states and 134 transitions. [2022-07-22 03:11:47,259 INFO L287 stractBuchiCegarLoop]: ======== Iteration 27 ============ [2022-07-22 03:11:47,259 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 127 states and 134 transitions. [2022-07-22 03:11:47,260 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:11:47,260 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 03:11:47,260 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 03:11:47,261 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [11, 11, 11, 11, 11, 10, 6, 6, 5, 4, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 03:11:47,261 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-22 03:11:47,261 INFO L752 eck$LassoCheckResult]: Stem: 15102#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);~N~0 := 0; 15103#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem12#1, main_#t~post11#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 15110#L44 assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet2#1, init_nondet_#t~post1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0; 15111#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 15122#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 15123#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 15124#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 15154#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 15153#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 15152#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 15151#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 15150#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 15149#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 15148#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 15147#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 15146#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 15145#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 15144#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 15143#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 15142#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 15141#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 15140#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 15139#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 15134#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 15130#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 15129#L18-3 assume !(init_nondet_~i~0#1 < ~N~0); 15088#L16 assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 15089#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 15120#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 15193#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 15121#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 15096#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 15097#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 15128#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 15191#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 15190#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 15189#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 15188#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 15187#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 15186#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 15185#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 15184#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 15181#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 15177#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 15179#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 15176#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 15094#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 15095#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 15173#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 15171#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 15169#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 15167#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 15165#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 15163#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 15161#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 15159#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 15156#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 15155#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 15132#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 15133#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 15131#L29-3 assume !(rangesum_~i~1#1 < ~N~0); 15104#L29-4 assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296); 15105#L38 main_#t~ret6#1 := rangesum_#res#1;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 15118#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 15090#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 15091#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 15126#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 15192#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 15194#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 15195#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 15182#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 15183#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 15200#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 15199#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 15198#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 15197#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 15196#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 15127#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 15119#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 15092#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 15093#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 15180#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 15178#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 15175#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 15174#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 15172#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 15170#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 15168#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 15166#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 15164#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 15162#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 15160#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 15158#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 15157#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 15136#L30-2 [2022-07-22 03:11:47,261 INFO L754 eck$LassoCheckResult]: Loop: 15136#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 15138#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 15135#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 15136#L30-2 [2022-07-22 03:11:47,261 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:47,262 INFO L85 PathProgramCache]: Analyzing trace with hash -530614410, now seen corresponding path program 19 times [2022-07-22 03:11:47,262 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:47,262 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [793962491] [2022-07-22 03:11:47,262 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:47,262 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:47,277 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:11:47,277 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [375568317] [2022-07-22 03:11:47,278 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2022-07-22 03:11:47,278 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:11:47,278 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:47,283 INFO L229 MonitoredProcess]: Starting monitored process 104 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:11:47,307 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (104)] Waiting until timeout for monitored process [2022-07-22 03:11:47,475 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:47,475 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:11:47,549 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:47,572 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:11:47,573 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:47,573 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 15 times [2022-07-22 03:11:47,573 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:47,573 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [186060376] [2022-07-22 03:11:47,573 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:47,574 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:47,577 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:47,577 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:11:47,578 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:47,580 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:11:47,580 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:47,581 INFO L85 PathProgramCache]: Analyzing trace with hash -2054184294, now seen corresponding path program 20 times [2022-07-22 03:11:47,581 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:47,581 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [859086006] [2022-07-22 03:11:47,581 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:47,581 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:47,609 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:11:47,609 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2000362049] [2022-07-22 03:11:47,610 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-07-22 03:11:47,610 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:11:47,610 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:47,612 INFO L229 MonitoredProcess]: Starting monitored process 105 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:11:47,643 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (105)] Waiting until timeout for monitored process [2022-07-22 03:11:47,740 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-07-22 03:11:47,740 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 03:11:47,742 INFO L263 TraceCheckSpWp]: Trace formula consists of 386 conjuncts, 26 conjunts are in the unsatisfiable core [2022-07-22 03:11:47,743 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:11:48,052 INFO L134 CoverageAnalysis]: Checked inductivity of 473 backedges. 176 proven. 121 refuted. 0 times theorem prover too weak. 176 trivial. 0 not checked. [2022-07-22 03:11:48,052 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 03:11:48,423 INFO L134 CoverageAnalysis]: Checked inductivity of 473 backedges. 176 proven. 121 refuted. 0 times theorem prover too weak. 176 trivial. 0 not checked. [2022-07-22 03:11:48,423 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 03:11:48,423 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [859086006] [2022-07-22 03:11:48,423 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 03:11:48,423 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2000362049] [2022-07-22 03:11:48,423 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2000362049] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 03:11:48,424 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 03:11:48,424 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [26, 26] total 38 [2022-07-22 03:11:48,424 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1751376757] [2022-07-22 03:11:48,424 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 03:11:48,480 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 03:11:48,481 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 39 interpolants. [2022-07-22 03:11:48,481 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=363, Invalid=1119, Unknown=0, NotChecked=0, Total=1482 [2022-07-22 03:11:48,481 INFO L87 Difference]: Start difference. First operand 127 states and 134 transitions. cyclomatic complexity: 15 Second operand has 39 states, 38 states have (on average 2.710526315789474) internal successors, (103), 39 states have internal predecessors, (103), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:49,190 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 03:11:49,190 INFO L93 Difference]: Finished difference Result 247 states and 255 transitions. [2022-07-22 03:11:49,190 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2022-07-22 03:11:49,190 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 247 states and 255 transitions. [2022-07-22 03:11:49,192 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:11:49,192 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 247 states to 130 states and 137 transitions. [2022-07-22 03:11:49,192 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 36 [2022-07-22 03:11:49,192 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 36 [2022-07-22 03:11:49,192 INFO L73 IsDeterministic]: Start isDeterministic. Operand 130 states and 137 transitions. [2022-07-22 03:11:49,192 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 03:11:49,192 INFO L369 hiAutomatonCegarLoop]: Abstraction has 130 states and 137 transitions. [2022-07-22 03:11:49,193 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 130 states and 137 transitions. [2022-07-22 03:11:49,194 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 130 to 129. [2022-07-22 03:11:49,194 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 129 states, 129 states have (on average 1.054263565891473) internal successors, (136), 128 states have internal predecessors, (136), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:49,194 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 129 states to 129 states and 136 transitions. [2022-07-22 03:11:49,195 INFO L392 hiAutomatonCegarLoop]: Abstraction has 129 states and 136 transitions. [2022-07-22 03:11:49,195 INFO L374 stractBuchiCegarLoop]: Abstraction has 129 states and 136 transitions. [2022-07-22 03:11:49,195 INFO L287 stractBuchiCegarLoop]: ======== Iteration 28 ============ [2022-07-22 03:11:49,195 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 129 states and 136 transitions. [2022-07-22 03:11:49,195 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:11:49,196 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 03:11:49,196 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 03:11:49,196 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [12, 12, 11, 11, 11, 10, 6, 6, 5, 4, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 03:11:49,197 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-22 03:11:49,197 INFO L752 eck$LassoCheckResult]: Stem: 16122#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);~N~0 := 0; 16123#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem12#1, main_#t~post11#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 16129#L44 assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet2#1, init_nondet_#t~post1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0; 16130#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 16143#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 16144#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 16141#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 16142#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 16236#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 16235#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 16234#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 16233#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 16232#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 16231#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 16230#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 16229#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 16228#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 16227#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 16226#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 16225#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 16224#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 16223#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 16222#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 16221#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 16220#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 16219#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 16152#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 16151#L18-3 assume !(init_nondet_~i~0#1 < ~N~0); 16108#L16 assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 16109#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 16116#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 16117#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 16139#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 16140#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 16179#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 16178#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 16176#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 16174#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 16172#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 16170#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 16168#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 16166#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 16164#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 16162#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 16160#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 16154#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 16158#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 16153#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 16114#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 16115#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 16177#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 16175#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 16173#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 16171#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 16169#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 16167#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 16165#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 16163#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 16161#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 16159#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 16156#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 16157#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 16155#L29-3 assume !(rangesum_~i~1#1 < ~N~0); 16124#L29-4 assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296); 16125#L38 main_#t~ret6#1 := rangesum_#res#1;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 16146#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 16204#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 16147#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 16148#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 16218#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 16149#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 16138#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 16112#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 16113#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 16217#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 16216#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 16215#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 16214#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 16213#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 16212#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 16208#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 16210#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 16207#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 16137#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 16110#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 16111#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 16201#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 16199#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 16197#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 16195#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 16193#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 16191#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 16190#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 16189#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 16188#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 16186#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 16184#L30-2 [2022-07-22 03:11:49,197 INFO L754 eck$LassoCheckResult]: Loop: 16184#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 16185#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 16183#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 16184#L30-2 [2022-07-22 03:11:49,197 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:49,197 INFO L85 PathProgramCache]: Analyzing trace with hash 486310164, now seen corresponding path program 21 times [2022-07-22 03:11:49,198 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:49,198 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1265290366] [2022-07-22 03:11:49,198 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:49,198 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:49,215 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:11:49,215 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1742383264] [2022-07-22 03:11:49,215 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-07-22 03:11:49,216 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:11:49,216 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:49,223 INFO L229 MonitoredProcess]: Starting monitored process 106 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:11:49,243 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (106)] Waiting until timeout for monitored process [2022-07-22 03:11:49,520 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 13 check-sat command(s) [2022-07-22 03:11:49,521 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 03:11:49,524 INFO L263 TraceCheckSpWp]: Trace formula consists of 385 conjuncts, 29 conjunts are in the unsatisfiable core [2022-07-22 03:11:49,525 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:11:50,073 INFO L134 CoverageAnalysis]: Checked inductivity of 465 backedges. 290 proven. 120 refuted. 0 times theorem prover too weak. 55 trivial. 0 not checked. [2022-07-22 03:11:50,073 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 03:11:50,809 INFO L134 CoverageAnalysis]: Checked inductivity of 465 backedges. 194 proven. 216 refuted. 0 times theorem prover too weak. 55 trivial. 0 not checked. [2022-07-22 03:11:50,809 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 03:11:50,810 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1265290366] [2022-07-22 03:11:50,810 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 03:11:50,810 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1742383264] [2022-07-22 03:11:50,810 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1742383264] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 03:11:50,810 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 03:11:50,810 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [30, 29] total 44 [2022-07-22 03:11:50,810 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [351760935] [2022-07-22 03:11:50,811 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 03:11:50,811 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 03:11:50,811 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:50,811 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 16 times [2022-07-22 03:11:50,811 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:50,812 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1626809894] [2022-07-22 03:11:50,812 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:50,812 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:50,816 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:50,816 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:11:50,818 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:50,820 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:11:50,899 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 03:11:50,899 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 44 interpolants. [2022-07-22 03:11:50,900 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=447, Invalid=1445, Unknown=0, NotChecked=0, Total=1892 [2022-07-22 03:11:50,900 INFO L87 Difference]: Start difference. First operand 129 states and 136 transitions. cyclomatic complexity: 15 Second operand has 44 states, 44 states have (on average 2.6136363636363638) internal successors, (115), 44 states have internal predecessors, (115), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:51,997 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 03:11:51,997 INFO L93 Difference]: Finished difference Result 263 states and 276 transitions. [2022-07-22 03:11:51,998 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 41 states. [2022-07-22 03:11:51,998 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 263 states and 276 transitions. [2022-07-22 03:11:51,999 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 12 [2022-07-22 03:11:52,000 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 263 states to 256 states and 269 transitions. [2022-07-22 03:11:52,000 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 99 [2022-07-22 03:11:52,001 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 99 [2022-07-22 03:11:52,001 INFO L73 IsDeterministic]: Start isDeterministic. Operand 256 states and 269 transitions. [2022-07-22 03:11:52,001 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 03:11:52,001 INFO L369 hiAutomatonCegarLoop]: Abstraction has 256 states and 269 transitions. [2022-07-22 03:11:52,001 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 256 states and 269 transitions. [2022-07-22 03:11:52,003 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 256 to 138. [2022-07-22 03:11:52,003 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 138 states, 138 states have (on average 1.0507246376811594) internal successors, (145), 137 states have internal predecessors, (145), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:52,003 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 138 states to 138 states and 145 transitions. [2022-07-22 03:11:52,003 INFO L392 hiAutomatonCegarLoop]: Abstraction has 138 states and 145 transitions. [2022-07-22 03:11:52,004 INFO L374 stractBuchiCegarLoop]: Abstraction has 138 states and 145 transitions. [2022-07-22 03:11:52,004 INFO L287 stractBuchiCegarLoop]: ======== Iteration 29 ============ [2022-07-22 03:11:52,004 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 138 states and 145 transitions. [2022-07-22 03:11:52,004 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:11:52,004 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 03:11:52,005 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 03:11:52,005 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [12, 12, 12, 12, 12, 11, 7, 7, 5, 4, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 03:11:52,005 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-22 03:11:52,006 INFO L752 eck$LassoCheckResult]: Stem: 17185#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);~N~0 := 0; 17186#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem12#1, main_#t~post11#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 17192#L44 assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet2#1, init_nondet_#t~post1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0; 17193#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 17207#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 17208#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 17209#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 17239#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 17238#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 17237#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 17236#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 17235#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 17234#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 17233#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 17232#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 17231#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 17230#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 17229#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 17228#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 17227#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 17226#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 17225#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 17224#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 17223#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 17222#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 17221#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 17217#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 17216#L18-3 assume !(init_nondet_~i~0#1 < ~N~0); 17171#L16 assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 17172#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 17204#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 17262#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 17261#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 17260#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 17259#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 17258#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 17257#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 17256#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 17255#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 17254#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 17253#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 17252#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 17251#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 17250#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 17248#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 17247#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 17246#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 17245#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 17219#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 17220#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 17218#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 17177#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 17178#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 17215#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 17179#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 17180#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 17263#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 17264#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 17268#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 17267#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 17266#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 17265#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 17205#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 17206#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 17243#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 17242#L29-3 assume !(rangesum_~i~1#1 < ~N~0); 17187#L29-4 assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296); 17188#L38 main_#t~ret6#1 := rangesum_#res#1;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 17200#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 17201#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 17211#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 17202#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 17203#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 17212#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 17213#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 17175#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 17176#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 17291#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 17290#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 17289#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 17288#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 17287#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 17286#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 17285#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 17284#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 17283#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 17281#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 17282#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 17280#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 17279#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 17173#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 17174#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 17278#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 17277#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 17276#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 17275#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 17274#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 17273#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 17272#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 17271#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 17270#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 17269#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 17241#L30-2 [2022-07-22 03:11:52,006 INFO L754 eck$LassoCheckResult]: Loop: 17241#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 17249#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 17240#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 17241#L30-2 [2022-07-22 03:11:52,006 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:52,006 INFO L85 PathProgramCache]: Analyzing trace with hash -1653131305, now seen corresponding path program 22 times [2022-07-22 03:11:52,006 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:52,006 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1631361345] [2022-07-22 03:11:52,007 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:52,007 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:52,024 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:11:52,025 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1487349247] [2022-07-22 03:11:52,025 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-07-22 03:11:52,025 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:11:52,025 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:52,031 INFO L229 MonitoredProcess]: Starting monitored process 107 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:11:52,051 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (107)] Waiting until timeout for monitored process [2022-07-22 03:11:52,227 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-07-22 03:11:52,227 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-07-22 03:11:52,227 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:11:52,378 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:52,402 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:11:52,402 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:52,402 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 17 times [2022-07-22 03:11:52,402 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:52,402 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [463101658] [2022-07-22 03:11:52,402 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:52,403 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:52,406 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:52,406 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:11:52,407 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:52,409 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:11:52,409 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:52,410 INFO L85 PathProgramCache]: Analyzing trace with hash 1955330713, now seen corresponding path program 23 times [2022-07-22 03:11:52,410 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:52,410 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [392571076] [2022-07-22 03:11:52,410 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:52,410 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:52,425 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:11:52,426 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [634462365] [2022-07-22 03:11:52,426 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-07-22 03:11:52,426 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:11:52,426 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:52,428 INFO L229 MonitoredProcess]: Starting monitored process 108 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:11:52,460 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (108)] Waiting until timeout for monitored process [2022-07-22 03:11:52,624 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 13 check-sat command(s) [2022-07-22 03:11:52,625 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 03:11:52,627 INFO L263 TraceCheckSpWp]: Trace formula consists of 405 conjuncts, 15 conjunts are in the unsatisfiable core [2022-07-22 03:11:52,629 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:11:53,307 INFO L134 CoverageAnalysis]: Checked inductivity of 564 backedges. 246 proven. 40 refuted. 0 times theorem prover too weak. 278 trivial. 0 not checked. [2022-07-22 03:11:53,307 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 03:11:53,803 INFO L134 CoverageAnalysis]: Checked inductivity of 564 backedges. 139 proven. 147 refuted. 0 times theorem prover too weak. 278 trivial. 0 not checked. [2022-07-22 03:11:53,803 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 03:11:53,804 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [392571076] [2022-07-22 03:11:53,804 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 03:11:53,804 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [634462365] [2022-07-22 03:11:53,804 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [634462365] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 03:11:53,804 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 03:11:53,804 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 15] total 28 [2022-07-22 03:11:53,804 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [199575928] [2022-07-22 03:11:53,804 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 03:11:53,865 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 03:11:53,866 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 29 interpolants. [2022-07-22 03:11:53,866 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=231, Invalid=581, Unknown=0, NotChecked=0, Total=812 [2022-07-22 03:11:53,866 INFO L87 Difference]: Start difference. First operand 138 states and 145 transitions. cyclomatic complexity: 15 Second operand has 29 states, 28 states have (on average 2.892857142857143) internal successors, (81), 29 states have internal predecessors, (81), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:54,579 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 03:11:54,579 INFO L93 Difference]: Finished difference Result 257 states and 269 transitions. [2022-07-22 03:11:54,580 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-07-22 03:11:54,580 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 257 states and 269 transitions. [2022-07-22 03:11:54,581 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:11:54,582 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 257 states to 165 states and 172 transitions. [2022-07-22 03:11:54,582 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 58 [2022-07-22 03:11:54,582 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 58 [2022-07-22 03:11:54,582 INFO L73 IsDeterministic]: Start isDeterministic. Operand 165 states and 172 transitions. [2022-07-22 03:11:54,582 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 03:11:54,582 INFO L369 hiAutomatonCegarLoop]: Abstraction has 165 states and 172 transitions. [2022-07-22 03:11:54,582 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 165 states and 172 transitions. [2022-07-22 03:11:54,584 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 165 to 144. [2022-07-22 03:11:54,584 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 144 states, 144 states have (on average 1.0486111111111112) internal successors, (151), 143 states have internal predecessors, (151), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:54,584 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 144 states to 144 states and 151 transitions. [2022-07-22 03:11:54,584 INFO L392 hiAutomatonCegarLoop]: Abstraction has 144 states and 151 transitions. [2022-07-22 03:11:54,585 INFO L374 stractBuchiCegarLoop]: Abstraction has 144 states and 151 transitions. [2022-07-22 03:11:54,585 INFO L287 stractBuchiCegarLoop]: ======== Iteration 30 ============ [2022-07-22 03:11:54,585 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 144 states and 151 transitions. [2022-07-22 03:11:54,585 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:11:54,585 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 03:11:54,586 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 03:11:54,586 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [13, 13, 13, 12, 12, 12, 7, 7, 6, 5, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 03:11:54,586 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-22 03:11:54,587 INFO L752 eck$LassoCheckResult]: Stem: 18250#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);~N~0 := 0; 18251#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem12#1, main_#t~post11#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 18266#L44 assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet2#1, init_nondet_#t~post1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0; 18267#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 18280#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 18281#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 18282#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 18334#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 18333#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 18332#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 18331#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 18330#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 18329#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 18328#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 18326#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 18324#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 18322#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 18320#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 18318#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 18316#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 18314#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 18312#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 18310#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 18308#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 18291#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 18290#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 18289#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 18288#L18-3 assume !(init_nondet_~i~0#1 < ~N~0); 18244#L16 assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 18245#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 18277#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 18327#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 18325#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 18323#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 18321#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 18319#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 18317#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 18315#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 18313#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 18311#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 18309#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 18307#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 18306#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 18304#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 18301#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 18300#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 18298#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 18295#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 18293#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 18294#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 18292#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 18252#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 18253#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 18367#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 18254#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 18255#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 18278#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 18279#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 18370#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 18369#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 18368#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 18286#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 18287#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 18366#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 18365#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 18363#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 18297#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 18299#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 18296#L29-3 assume !(rangesum_~i~1#1 < ~N~0); 18264#L29-4 assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296); 18265#L38 main_#t~ret6#1 := rangesum_#res#1;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 18275#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 18246#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 18247#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 18284#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 18364#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 18285#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 18276#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 18248#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 18249#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 18362#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 18361#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 18360#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 18359#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 18358#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 18357#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 18356#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 18355#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 18354#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 18352#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 18353#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 18351#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 18350#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 18349#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 18348#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 18347#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 18346#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 18345#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 18344#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 18343#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 18342#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 18341#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 18340#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 18339#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 18338#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 18337#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 18336#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 18335#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 18303#L30-2 [2022-07-22 03:11:54,587 INFO L754 eck$LassoCheckResult]: Loop: 18303#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 18305#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 18302#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 18303#L30-2 [2022-07-22 03:11:54,587 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:54,587 INFO L85 PathProgramCache]: Analyzing trace with hash -69138192, now seen corresponding path program 24 times [2022-07-22 03:11:54,588 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:54,588 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1129312719] [2022-07-22 03:11:54,588 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:54,588 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:54,606 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:11:54,606 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1386457602] [2022-07-22 03:11:54,606 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-07-22 03:11:54,606 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:11:54,607 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:54,613 INFO L229 MonitoredProcess]: Starting monitored process 109 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:11:54,614 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (109)] Waiting until timeout for monitored process [2022-07-22 03:11:55,033 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 14 check-sat command(s) [2022-07-22 03:11:55,033 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 03:11:55,037 INFO L263 TraceCheckSpWp]: Trace formula consists of 417 conjuncts, 28 conjunts are in the unsatisfiable core [2022-07-22 03:11:55,038 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:11:55,347 INFO L134 CoverageAnalysis]: Checked inductivity of 601 backedges. 247 proven. 144 refuted. 0 times theorem prover too weak. 210 trivial. 0 not checked. [2022-07-22 03:11:55,348 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 03:11:55,768 INFO L134 CoverageAnalysis]: Checked inductivity of 601 backedges. 247 proven. 144 refuted. 0 times theorem prover too weak. 210 trivial. 0 not checked. [2022-07-22 03:11:55,768 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 03:11:55,768 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1129312719] [2022-07-22 03:11:55,768 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 03:11:55,768 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1386457602] [2022-07-22 03:11:55,768 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1386457602] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 03:11:55,768 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 03:11:55,768 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [29, 29] total 42 [2022-07-22 03:11:55,768 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [926173489] [2022-07-22 03:11:55,769 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 03:11:55,769 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 03:11:55,769 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:55,769 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 18 times [2022-07-22 03:11:55,769 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:55,769 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [666106846] [2022-07-22 03:11:55,769 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:55,769 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:55,773 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:55,773 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:11:55,775 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:55,777 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:11:55,837 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 03:11:55,838 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 42 interpolants. [2022-07-22 03:11:55,838 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=419, Invalid=1303, Unknown=0, NotChecked=0, Total=1722 [2022-07-22 03:11:55,839 INFO L87 Difference]: Start difference. First operand 144 states and 151 transitions. cyclomatic complexity: 15 Second operand has 42 states, 42 states have (on average 2.6904761904761907) internal successors, (113), 42 states have internal predecessors, (113), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:56,333 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 03:11:56,333 INFO L93 Difference]: Finished difference Result 186 states and 193 transitions. [2022-07-22 03:11:56,333 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 31 states. [2022-07-22 03:11:56,334 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 186 states and 193 transitions. [2022-07-22 03:11:56,334 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:11:56,335 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 186 states to 147 states and 154 transitions. [2022-07-22 03:11:56,335 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 39 [2022-07-22 03:11:56,335 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 39 [2022-07-22 03:11:56,335 INFO L73 IsDeterministic]: Start isDeterministic. Operand 147 states and 154 transitions. [2022-07-22 03:11:56,335 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 03:11:56,335 INFO L369 hiAutomatonCegarLoop]: Abstraction has 147 states and 154 transitions. [2022-07-22 03:11:56,336 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 147 states and 154 transitions. [2022-07-22 03:11:56,337 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 147 to 146. [2022-07-22 03:11:56,337 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 146 states, 146 states have (on average 1.047945205479452) internal successors, (153), 145 states have internal predecessors, (153), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:56,337 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 146 states to 146 states and 153 transitions. [2022-07-22 03:11:56,338 INFO L392 hiAutomatonCegarLoop]: Abstraction has 146 states and 153 transitions. [2022-07-22 03:11:56,338 INFO L374 stractBuchiCegarLoop]: Abstraction has 146 states and 153 transitions. [2022-07-22 03:11:56,338 INFO L287 stractBuchiCegarLoop]: ======== Iteration 31 ============ [2022-07-22 03:11:56,338 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 146 states and 153 transitions. [2022-07-22 03:11:56,338 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:11:56,339 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 03:11:56,339 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 03:11:56,339 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [13, 13, 13, 13, 13, 12, 7, 7, 6, 5, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 03:11:56,339 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-22 03:11:56,340 INFO L752 eck$LassoCheckResult]: Stem: 19303#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);~N~0 := 0; 19304#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem12#1, main_#t~post11#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 19310#L44 assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet2#1, init_nondet_#t~post1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0; 19311#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 19325#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 19326#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 19323#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 19324#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 19434#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 19433#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 19432#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 19431#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 19430#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 19429#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 19428#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 19427#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 19426#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 19425#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 19424#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 19423#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 19422#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 19421#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 19420#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 19419#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 19418#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 19417#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 19416#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 19415#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 19334#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 19333#L18-3 assume !(init_nondet_~i~0#1 < ~N~0); 19289#L16 assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 19290#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 19297#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 19298#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 19321#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 19322#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 19367#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 19366#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 19364#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 19362#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 19360#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 19358#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 19356#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 19354#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 19352#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 19350#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 19348#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 19346#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 19344#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 19342#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 19336#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 19340#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 19335#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 19295#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 19296#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 19365#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 19363#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 19361#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 19359#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 19357#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 19355#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 19353#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 19351#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 19349#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 19347#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 19345#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 19343#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 19341#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 19338#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 19339#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 19337#L29-3 assume !(rangesum_~i~1#1 < ~N~0); 19305#L29-4 assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296); 19306#L38 main_#t~ret6#1 := rangesum_#res#1;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 19328#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 19397#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 19329#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 19319#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 19320#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 19330#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 19331#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 19293#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 19294#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 19414#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 19413#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 19412#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 19411#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 19410#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 19409#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 19408#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 19407#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 19406#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 19401#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 19403#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 19400#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 19318#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 19291#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 19292#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 19394#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 19392#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 19390#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 19388#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 19386#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 19384#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 19382#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 19380#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 19379#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 19378#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 19377#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 19376#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 19374#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 19372#L30-2 [2022-07-22 03:11:56,340 INFO L754 eck$LassoCheckResult]: Loop: 19372#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 19373#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 19371#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 19372#L30-2 [2022-07-22 03:11:56,340 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:56,340 INFO L85 PathProgramCache]: Analyzing trace with hash -1914313202, now seen corresponding path program 25 times [2022-07-22 03:11:56,341 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:56,341 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [495256813] [2022-07-22 03:11:56,341 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:56,341 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:56,360 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:11:56,361 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [886005459] [2022-07-22 03:11:56,361 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2022-07-22 03:11:56,361 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:11:56,361 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:56,367 INFO L229 MonitoredProcess]: Starting monitored process 110 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:11:56,388 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (110)] Waiting until timeout for monitored process [2022-07-22 03:11:56,606 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:56,606 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:11:56,841 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:56,871 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:11:56,871 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:56,871 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 19 times [2022-07-22 03:11:56,871 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:56,871 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2021849989] [2022-07-22 03:11:56,871 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:56,871 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:56,874 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:56,875 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:11:56,876 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:11:56,878 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:11:56,878 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:56,879 INFO L85 PathProgramCache]: Analyzing trace with hash -728789758, now seen corresponding path program 26 times [2022-07-22 03:11:56,879 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:56,879 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [971270905] [2022-07-22 03:11:56,879 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:56,879 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:56,897 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:11:56,897 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1823269170] [2022-07-22 03:11:56,897 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-07-22 03:11:56,897 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:11:56,897 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:56,903 INFO L229 MonitoredProcess]: Starting monitored process 111 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:11:56,923 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (111)] Waiting until timeout for monitored process [2022-07-22 03:11:57,040 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-07-22 03:11:57,041 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 03:11:57,043 INFO L263 TraceCheckSpWp]: Trace formula consists of 440 conjuncts, 30 conjunts are in the unsatisfiable core [2022-07-22 03:11:57,044 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:11:57,449 INFO L134 CoverageAnalysis]: Checked inductivity of 663 backedges. 247 proven. 169 refuted. 0 times theorem prover too weak. 247 trivial. 0 not checked. [2022-07-22 03:11:57,449 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 03:11:58,004 INFO L134 CoverageAnalysis]: Checked inductivity of 663 backedges. 247 proven. 169 refuted. 0 times theorem prover too weak. 247 trivial. 0 not checked. [2022-07-22 03:11:58,004 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 03:11:58,004 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [971270905] [2022-07-22 03:11:58,004 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 03:11:58,004 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1823269170] [2022-07-22 03:11:58,004 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1823269170] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 03:11:58,004 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 03:11:58,004 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [30, 30] total 44 [2022-07-22 03:11:58,005 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1215456594] [2022-07-22 03:11:58,005 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 03:11:58,063 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 03:11:58,063 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 45 interpolants. [2022-07-22 03:11:58,064 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=479, Invalid=1501, Unknown=0, NotChecked=0, Total=1980 [2022-07-22 03:11:58,064 INFO L87 Difference]: Start difference. First operand 146 states and 153 transitions. cyclomatic complexity: 15 Second operand has 45 states, 44 states have (on average 2.7045454545454546) internal successors, (119), 45 states have internal predecessors, (119), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:59,117 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 03:11:59,117 INFO L93 Difference]: Finished difference Result 284 states and 292 transitions. [2022-07-22 03:11:59,118 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 33 states. [2022-07-22 03:11:59,118 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 284 states and 292 transitions. [2022-07-22 03:11:59,119 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:11:59,120 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 284 states to 149 states and 156 transitions. [2022-07-22 03:11:59,120 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 39 [2022-07-22 03:11:59,120 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 39 [2022-07-22 03:11:59,120 INFO L73 IsDeterministic]: Start isDeterministic. Operand 149 states and 156 transitions. [2022-07-22 03:11:59,120 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 03:11:59,120 INFO L369 hiAutomatonCegarLoop]: Abstraction has 149 states and 156 transitions. [2022-07-22 03:11:59,120 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 149 states and 156 transitions. [2022-07-22 03:11:59,122 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 149 to 148. [2022-07-22 03:11:59,122 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 148 states, 148 states have (on average 1.0472972972972974) internal successors, (155), 147 states have internal predecessors, (155), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:11:59,122 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 148 states to 148 states and 155 transitions. [2022-07-22 03:11:59,122 INFO L392 hiAutomatonCegarLoop]: Abstraction has 148 states and 155 transitions. [2022-07-22 03:11:59,122 INFO L374 stractBuchiCegarLoop]: Abstraction has 148 states and 155 transitions. [2022-07-22 03:11:59,122 INFO L287 stractBuchiCegarLoop]: ======== Iteration 32 ============ [2022-07-22 03:11:59,122 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 148 states and 155 transitions. [2022-07-22 03:11:59,123 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:11:59,123 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 03:11:59,123 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 03:11:59,124 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [14, 14, 13, 13, 13, 12, 7, 7, 6, 5, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 03:11:59,124 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-22 03:11:59,124 INFO L752 eck$LassoCheckResult]: Stem: 20485#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);~N~0 := 0; 20486#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem12#1, main_#t~post11#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 20492#L44 assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet2#1, init_nondet_#t~post1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0; 20493#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 20507#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 20508#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 20505#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 20506#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 20618#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 20617#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 20616#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 20615#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 20614#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 20613#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 20612#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 20611#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 20610#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 20609#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 20608#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 20607#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 20606#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 20605#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 20604#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 20603#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 20602#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 20601#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 20600#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 20599#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 20598#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 20597#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 20516#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 20515#L18-3 assume !(init_nondet_~i~0#1 < ~N~0); 20471#L16 assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 20472#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 20479#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 20480#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 20503#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 20504#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 20549#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 20548#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 20546#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 20544#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 20542#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 20540#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 20538#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 20536#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 20534#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 20532#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 20530#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 20528#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 20526#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 20524#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 20518#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 20522#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 20517#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 20477#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 20478#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 20547#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 20545#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 20543#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 20541#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 20539#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 20537#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 20535#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 20533#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 20531#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 20529#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 20527#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 20525#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 20523#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 20520#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 20521#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 20519#L29-3 assume !(rangesum_~i~1#1 < ~N~0); 20487#L29-4 assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296); 20488#L38 main_#t~ret6#1 := rangesum_#res#1;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 20510#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 20579#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 20511#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 20501#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 20502#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 20512#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 20513#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 20475#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 20476#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 20596#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 20595#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 20594#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 20593#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 20592#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 20591#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 20590#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 20589#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 20588#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 20583#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 20585#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 20582#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 20500#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 20473#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 20474#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 20576#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 20574#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 20572#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 20570#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 20568#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 20566#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 20564#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 20562#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 20561#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 20560#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 20559#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 20558#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 20556#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 20554#L30-2 [2022-07-22 03:11:59,124 INFO L754 eck$LassoCheckResult]: Loop: 20554#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 20555#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 20553#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 20554#L30-2 [2022-07-22 03:11:59,124 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:11:59,124 INFO L85 PathProgramCache]: Analyzing trace with hash -1306004564, now seen corresponding path program 27 times [2022-07-22 03:11:59,125 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:11:59,125 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [295612823] [2022-07-22 03:11:59,125 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:11:59,125 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:11:59,142 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:11:59,142 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2119116437] [2022-07-22 03:11:59,143 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-07-22 03:11:59,143 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:11:59,143 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:11:59,149 INFO L229 MonitoredProcess]: Starting monitored process 112 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:11:59,150 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (112)] Waiting until timeout for monitored process [2022-07-22 03:11:59,564 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 15 check-sat command(s) [2022-07-22 03:11:59,564 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 03:11:59,568 INFO L263 TraceCheckSpWp]: Trace formula consists of 439 conjuncts, 33 conjunts are in the unsatisfiable core [2022-07-22 03:11:59,570 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:12:00,274 INFO L134 CoverageAnalysis]: Checked inductivity of 653 backedges. 409 proven. 161 refuted. 0 times theorem prover too weak. 83 trivial. 0 not checked. [2022-07-22 03:12:00,274 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 03:12:01,187 INFO L134 CoverageAnalysis]: Checked inductivity of 653 backedges. 276 proven. 294 refuted. 0 times theorem prover too weak. 83 trivial. 0 not checked. [2022-07-22 03:12:01,187 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 03:12:01,187 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [295612823] [2022-07-22 03:12:01,188 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 03:12:01,188 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2119116437] [2022-07-22 03:12:01,188 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2119116437] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 03:12:01,188 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 03:12:01,188 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [34, 33] total 50 [2022-07-22 03:12:01,188 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [441369900] [2022-07-22 03:12:01,188 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 03:12:01,188 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 03:12:01,188 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:12:01,188 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 20 times [2022-07-22 03:12:01,188 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:12:01,189 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [938399284] [2022-07-22 03:12:01,189 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:12:01,189 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:12:01,192 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:12:01,192 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:12:01,194 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:12:01,196 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:12:01,253 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 03:12:01,254 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 50 interpolants. [2022-07-22 03:12:01,254 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=570, Invalid=1880, Unknown=0, NotChecked=0, Total=2450 [2022-07-22 03:12:01,255 INFO L87 Difference]: Start difference. First operand 148 states and 155 transitions. cyclomatic complexity: 15 Second operand has 50 states, 50 states have (on average 2.62) internal successors, (131), 50 states have internal predecessors, (131), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:12:02,686 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 03:12:02,686 INFO L93 Difference]: Finished difference Result 297 states and 310 transitions. [2022-07-22 03:12:02,687 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 47 states. [2022-07-22 03:12:02,687 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 297 states and 310 transitions. [2022-07-22 03:12:02,688 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 12 [2022-07-22 03:12:02,689 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 297 states to 290 states and 303 transitions. [2022-07-22 03:12:02,689 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 111 [2022-07-22 03:12:02,689 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 111 [2022-07-22 03:12:02,689 INFO L73 IsDeterministic]: Start isDeterministic. Operand 290 states and 303 transitions. [2022-07-22 03:12:02,689 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 03:12:02,689 INFO L369 hiAutomatonCegarLoop]: Abstraction has 290 states and 303 transitions. [2022-07-22 03:12:02,689 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 290 states and 303 transitions. [2022-07-22 03:12:02,695 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 290 to 157. [2022-07-22 03:12:02,695 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 157 states, 157 states have (on average 1.0445859872611465) internal successors, (164), 156 states have internal predecessors, (164), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:12:02,695 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 157 states to 157 states and 164 transitions. [2022-07-22 03:12:02,695 INFO L392 hiAutomatonCegarLoop]: Abstraction has 157 states and 164 transitions. [2022-07-22 03:12:02,695 INFO L374 stractBuchiCegarLoop]: Abstraction has 157 states and 164 transitions. [2022-07-22 03:12:02,695 INFO L287 stractBuchiCegarLoop]: ======== Iteration 33 ============ [2022-07-22 03:12:02,695 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 157 states and 164 transitions. [2022-07-22 03:12:02,696 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:12:02,696 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 03:12:02,696 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 03:12:02,696 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [14, 14, 14, 14, 14, 13, 8, 8, 6, 5, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 03:12:02,696 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-22 03:12:02,697 INFO L752 eck$LassoCheckResult]: Stem: 21707#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);~N~0 := 0; 21708#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem12#1, main_#t~post11#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 21718#L44 assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet2#1, init_nondet_#t~post1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0; 21719#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 21732#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 21733#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 21734#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 21767#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 21766#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 21765#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 21764#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 21763#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 21762#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 21761#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 21760#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 21759#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 21758#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 21757#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 21756#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 21755#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 21754#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 21753#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 21752#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 21751#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 21750#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 21749#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 21748#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 21747#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 21746#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 21744#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 21741#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 21740#L18-3 assume !(init_nondet_~i~0#1 < ~N~0); 21697#L16 assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 21698#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 21729#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 21791#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 21790#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 21789#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 21788#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 21787#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 21786#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 21785#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 21784#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 21783#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 21782#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 21781#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 21780#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 21779#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 21778#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 21777#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 21776#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 21775#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 21774#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 21773#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 21772#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 21743#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 21745#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 21742#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 21709#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 21710#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 21803#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 21711#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 21712#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 21730#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 21731#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 21802#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 21801#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 21800#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 21799#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 21798#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 21797#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 21796#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 21795#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 21770#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 21771#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 21769#L29-3 assume !(rangesum_~i~1#1 < ~N~0); 21716#L29-4 assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296); 21717#L38 main_#t~ret6#1 := rangesum_#res#1;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 21726#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 21727#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 21736#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 21737#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 21833#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 21738#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 21728#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 21701#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 21702#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 21832#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 21831#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 21830#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 21829#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 21828#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 21827#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 21826#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 21825#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 21824#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 21823#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 21822#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 21821#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 21819#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 21820#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 21818#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 21817#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 21699#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 21700#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 21816#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 21815#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 21814#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 21813#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 21812#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 21811#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 21810#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 21809#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 21808#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 21807#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 21806#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 21805#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 21804#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 21793#L30-2 [2022-07-22 03:12:02,697 INFO L754 eck$LassoCheckResult]: Loop: 21793#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 21794#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 21792#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 21793#L30-2 [2022-07-22 03:12:02,697 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:12:02,697 INFO L85 PathProgramCache]: Analyzing trace with hash 451302003, now seen corresponding path program 28 times [2022-07-22 03:12:02,697 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:12:02,697 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2045861666] [2022-07-22 03:12:02,697 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:12:02,697 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:12:02,723 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:12:02,723 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [761034239] [2022-07-22 03:12:02,723 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-07-22 03:12:02,723 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:12:02,723 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:12:02,729 INFO L229 MonitoredProcess]: Starting monitored process 113 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:12:02,730 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (113)] Waiting until timeout for monitored process [2022-07-22 03:12:03,029 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-07-22 03:12:03,029 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-07-22 03:12:03,029 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:12:03,220 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:12:03,250 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:12:03,250 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:12:03,250 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 21 times [2022-07-22 03:12:03,250 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:12:03,250 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [95637855] [2022-07-22 03:12:03,250 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:12:03,250 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:12:03,254 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:12:03,254 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:12:03,255 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:12:03,257 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:12:03,257 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:12:03,258 INFO L85 PathProgramCache]: Analyzing trace with hash 1490389629, now seen corresponding path program 29 times [2022-07-22 03:12:03,258 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:12:03,258 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [873207933] [2022-07-22 03:12:03,258 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:12:03,258 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:12:03,281 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:12:03,281 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1187713756] [2022-07-22 03:12:03,281 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-07-22 03:12:03,282 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:12:03,282 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:12:03,287 INFO L229 MonitoredProcess]: Starting monitored process 114 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:12:03,310 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (114)] Waiting until timeout for monitored process [2022-07-22 03:12:03,516 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 15 check-sat command(s) [2022-07-22 03:12:03,516 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 03:12:03,519 INFO L263 TraceCheckSpWp]: Trace formula consists of 459 conjuncts, 17 conjunts are in the unsatisfiable core [2022-07-22 03:12:03,521 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:12:04,575 INFO L134 CoverageAnalysis]: Checked inductivity of 770 backedges. 340 proven. 57 refuted. 0 times theorem prover too weak. 373 trivial. 0 not checked. [2022-07-22 03:12:04,575 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 03:12:05,454 INFO L134 CoverageAnalysis]: Checked inductivity of 770 backedges. 193 proven. 204 refuted. 0 times theorem prover too weak. 373 trivial. 0 not checked. [2022-07-22 03:12:05,454 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 03:12:05,454 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [873207933] [2022-07-22 03:12:05,454 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 03:12:05,454 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1187713756] [2022-07-22 03:12:05,454 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1187713756] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 03:12:05,454 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 03:12:05,454 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 17] total 32 [2022-07-22 03:12:05,454 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [23974005] [2022-07-22 03:12:05,454 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 03:12:05,510 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 03:12:05,510 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 33 interpolants. [2022-07-22 03:12:05,511 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=296, Invalid=760, Unknown=0, NotChecked=0, Total=1056 [2022-07-22 03:12:05,511 INFO L87 Difference]: Start difference. First operand 157 states and 164 transitions. cyclomatic complexity: 15 Second operand has 33 states, 32 states have (on average 2.90625) internal successors, (93), 33 states have internal predecessors, (93), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:12:06,608 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 03:12:06,608 INFO L93 Difference]: Finished difference Result 291 states and 303 transitions. [2022-07-22 03:12:06,609 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 25 states. [2022-07-22 03:12:06,609 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 291 states and 303 transitions. [2022-07-22 03:12:06,610 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:12:06,611 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 291 states to 187 states and 194 transitions. [2022-07-22 03:12:06,611 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 64 [2022-07-22 03:12:06,611 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 64 [2022-07-22 03:12:06,611 INFO L73 IsDeterministic]: Start isDeterministic. Operand 187 states and 194 transitions. [2022-07-22 03:12:06,611 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 03:12:06,611 INFO L369 hiAutomatonCegarLoop]: Abstraction has 187 states and 194 transitions. [2022-07-22 03:12:06,611 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 187 states and 194 transitions. [2022-07-22 03:12:06,613 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 187 to 163. [2022-07-22 03:12:06,613 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 163 states, 163 states have (on average 1.0429447852760736) internal successors, (170), 162 states have internal predecessors, (170), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:12:06,613 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 163 states to 163 states and 170 transitions. [2022-07-22 03:12:06,613 INFO L392 hiAutomatonCegarLoop]: Abstraction has 163 states and 170 transitions. [2022-07-22 03:12:06,613 INFO L374 stractBuchiCegarLoop]: Abstraction has 163 states and 170 transitions. [2022-07-22 03:12:06,613 INFO L287 stractBuchiCegarLoop]: ======== Iteration 34 ============ [2022-07-22 03:12:06,613 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 163 states and 170 transitions. [2022-07-22 03:12:06,614 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:12:06,614 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 03:12:06,614 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 03:12:06,615 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [15, 15, 15, 14, 14, 14, 8, 8, 7, 6, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 03:12:06,615 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-22 03:12:06,615 INFO L752 eck$LassoCheckResult]: Stem: 22935#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);~N~0 := 0; 22936#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem12#1, main_#t~post11#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 22947#L44 assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet2#1, init_nondet_#t~post1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0; 22948#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 22961#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 22962#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 22963#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 23020#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 23018#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 23016#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 23014#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 23012#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 23010#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 23008#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 23006#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 23004#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 23002#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 23000#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 22998#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 22996#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 22994#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 22992#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 22990#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 22988#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 22986#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 22984#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 22983#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 22973#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 22972#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 22971#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 22969#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 22968#L18-3 assume !(init_nondet_~i~0#1 < ~N~0); 22925#L16 assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 22926#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 22959#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 23022#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 23021#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 23019#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 23017#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 23015#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 23013#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 23011#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 23009#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 23007#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 23005#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 23003#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 23001#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 22999#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 22997#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 22995#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 22993#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 22991#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 22989#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 22987#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 22985#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 22980#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 22982#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 22979#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 22937#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 22938#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 22960#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 22939#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 22940#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 23035#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 23034#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 23033#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 23032#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 23031#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 23030#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 23029#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 23028#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 23027#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 23026#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 23025#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 23024#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 23023#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 22975#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 22976#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 22974#L29-3 assume !(rangesum_~i~1#1 < ~N~0); 22945#L29-4 assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296); 22946#L38 main_#t~ret6#1 := rangesum_#res#1;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 22955#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 22956#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 22965#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 22957#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 22958#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 22966#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 22967#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 22929#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 22930#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 23067#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 23066#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 23065#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 23064#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 23063#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 23062#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 23061#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 23060#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 23059#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 23058#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 23057#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 23056#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 23054#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 23055#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 23053#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 23052#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 22927#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 22928#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 23051#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 23050#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 23049#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 23048#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 23047#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 23046#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 23045#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 23044#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 23043#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 23042#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 23041#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 23040#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 23039#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 23038#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 23037#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 23036#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 22978#L30-2 [2022-07-22 03:12:06,615 INFO L754 eck$LassoCheckResult]: Loop: 22978#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 22981#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 22977#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 22978#L30-2 [2022-07-22 03:12:06,615 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:12:06,615 INFO L85 PathProgramCache]: Analyzing trace with hash -1183701744, now seen corresponding path program 30 times [2022-07-22 03:12:06,616 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:12:06,616 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1875428485] [2022-07-22 03:12:06,616 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:12:06,616 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:12:06,640 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:12:06,640 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [419635405] [2022-07-22 03:12:06,640 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-07-22 03:12:06,640 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:12:06,641 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:12:06,643 INFO L229 MonitoredProcess]: Starting monitored process 115 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:12:06,644 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (115)] Waiting until timeout for monitored process [2022-07-22 03:12:07,043 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 16 check-sat command(s) [2022-07-22 03:12:07,043 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 03:12:07,048 INFO L263 TraceCheckSpWp]: Trace formula consists of 471 conjuncts, 32 conjunts are in the unsatisfiable core [2022-07-22 03:12:07,050 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:12:07,498 INFO L134 CoverageAnalysis]: Checked inductivity of 813 backedges. 287 proven. 196 refuted. 0 times theorem prover too weak. 330 trivial. 0 not checked. [2022-07-22 03:12:07,498 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 03:12:08,169 INFO L134 CoverageAnalysis]: Checked inductivity of 813 backedges. 287 proven. 196 refuted. 0 times theorem prover too weak. 330 trivial. 0 not checked. [2022-07-22 03:12:08,169 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 03:12:08,169 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1875428485] [2022-07-22 03:12:08,169 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 03:12:08,169 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [419635405] [2022-07-22 03:12:08,169 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [419635405] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 03:12:08,170 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 03:12:08,170 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [32, 32] total 47 [2022-07-22 03:12:08,170 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [676080998] [2022-07-22 03:12:08,170 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 03:12:08,170 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 03:12:08,171 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:12:08,171 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 22 times [2022-07-22 03:12:08,171 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:12:08,171 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1458361999] [2022-07-22 03:12:08,171 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:12:08,171 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:12:08,175 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:12:08,176 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:12:08,177 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:12:08,180 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:12:08,255 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 03:12:08,257 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 48 interpolants. [2022-07-22 03:12:08,257 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=543, Invalid=1713, Unknown=0, NotChecked=0, Total=2256 [2022-07-22 03:12:08,258 INFO L87 Difference]: Start difference. First operand 163 states and 170 transitions. cyclomatic complexity: 15 Second operand has 48 states, 47 states have (on average 2.702127659574468) internal successors, (127), 48 states have internal predecessors, (127), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:12:08,913 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 03:12:08,913 INFO L93 Difference]: Finished difference Result 211 states and 218 transitions. [2022-07-22 03:12:08,914 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 35 states. [2022-07-22 03:12:08,914 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 211 states and 218 transitions. [2022-07-22 03:12:08,915 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:12:08,916 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 211 states to 166 states and 173 transitions. [2022-07-22 03:12:08,916 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 42 [2022-07-22 03:12:08,916 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 42 [2022-07-22 03:12:08,916 INFO L73 IsDeterministic]: Start isDeterministic. Operand 166 states and 173 transitions. [2022-07-22 03:12:08,916 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 03:12:08,916 INFO L369 hiAutomatonCegarLoop]: Abstraction has 166 states and 173 transitions. [2022-07-22 03:12:08,916 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 166 states and 173 transitions. [2022-07-22 03:12:08,917 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 166 to 165. [2022-07-22 03:12:08,918 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 165 states, 165 states have (on average 1.0424242424242425) internal successors, (172), 164 states have internal predecessors, (172), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:12:08,918 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 165 states to 165 states and 172 transitions. [2022-07-22 03:12:08,918 INFO L392 hiAutomatonCegarLoop]: Abstraction has 165 states and 172 transitions. [2022-07-22 03:12:08,918 INFO L374 stractBuchiCegarLoop]: Abstraction has 165 states and 172 transitions. [2022-07-22 03:12:08,918 INFO L287 stractBuchiCegarLoop]: ======== Iteration 35 ============ [2022-07-22 03:12:08,918 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 165 states and 172 transitions. [2022-07-22 03:12:08,919 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:12:08,919 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 03:12:08,919 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 03:12:08,920 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [15, 15, 15, 15, 15, 14, 8, 8, 7, 6, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 03:12:08,920 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-22 03:12:08,920 INFO L752 eck$LassoCheckResult]: Stem: 24130#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);~N~0 := 0; 24131#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem12#1, main_#t~post11#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 24141#L44 assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet2#1, init_nondet_#t~post1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0; 24142#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 24153#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 24154#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 24155#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 24262#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 24260#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 24258#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 24256#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 24254#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 24252#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 24250#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 24248#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 24246#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 24245#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 24244#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 24243#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 24242#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 24240#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 24238#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 24236#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 24234#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 24232#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 24230#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 24228#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 24226#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 24224#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 24222#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 24220#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 24217#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 24161#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 24160#L18-3 assume !(init_nondet_~i~0#1 < ~N~0); 24120#L16 assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 24121#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 24151#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 24159#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 24152#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 24134#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 24135#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 24275#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 24273#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 24271#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 24269#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 24267#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 24265#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 24264#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 24263#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 24261#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 24259#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 24257#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 24255#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 24253#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 24251#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 24249#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 24247#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 24214#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 24218#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 24213#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 24132#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 24133#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 24204#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 24202#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 24200#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 24198#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 24196#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 24194#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 24192#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 24190#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 24188#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 24186#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 24184#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 24182#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 24180#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 24178#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 24176#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 24174#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 24170#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 24171#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 24169#L29-3 assume !(rangesum_~i~1#1 < ~N~0); 24139#L29-4 assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296); 24140#L38 main_#t~ret6#1 := rangesum_#res#1;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 24149#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 24122#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 24123#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 24150#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 24124#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 24125#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 24157#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 24241#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 24239#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 24237#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 24235#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 24233#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 24231#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 24229#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 24227#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 24225#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 24223#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 24221#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 24212#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 24211#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 24210#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 24208#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 24209#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 24207#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 24206#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 24205#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 24203#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 24201#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 24199#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 24197#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 24195#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 24193#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 24191#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 24189#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 24187#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 24185#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 24183#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 24181#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 24179#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 24177#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 24175#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 24173#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 24172#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 24167#L30-2 [2022-07-22 03:12:08,920 INFO L754 eck$LassoCheckResult]: Loop: 24167#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 24168#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 24166#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 24167#L30-2 [2022-07-22 03:12:08,920 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:12:08,920 INFO L85 PathProgramCache]: Analyzing trace with hash -603650514, now seen corresponding path program 31 times [2022-07-22 03:12:08,920 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:12:08,920 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [947417826] [2022-07-22 03:12:08,921 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:12:08,921 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:12:08,940 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:12:08,940 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [849152927] [2022-07-22 03:12:08,940 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2022-07-22 03:12:08,940 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:12:08,940 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:12:08,947 INFO L229 MonitoredProcess]: Starting monitored process 116 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:12:08,965 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (116)] Waiting until timeout for monitored process [2022-07-22 03:12:09,232 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:12:09,232 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:12:09,541 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:12:09,575 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:12:09,575 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:12:09,575 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 23 times [2022-07-22 03:12:09,576 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:12:09,576 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [58908133] [2022-07-22 03:12:09,576 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:12:09,576 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:12:09,580 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:12:09,580 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:12:09,582 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:12:09,584 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:12:09,585 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:12:09,585 INFO L85 PathProgramCache]: Analyzing trace with hash -324339486, now seen corresponding path program 32 times [2022-07-22 03:12:09,585 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:12:09,585 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1976682239] [2022-07-22 03:12:09,585 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:12:09,586 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:12:09,604 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:12:09,605 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1185648017] [2022-07-22 03:12:09,605 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-07-22 03:12:09,605 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:12:09,605 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:12:09,611 INFO L229 MonitoredProcess]: Starting monitored process 117 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:12:09,625 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (117)] Waiting until timeout for monitored process [2022-07-22 03:12:09,773 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-07-22 03:12:09,773 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 03:12:09,775 INFO L263 TraceCheckSpWp]: Trace formula consists of 494 conjuncts, 34 conjunts are in the unsatisfiable core [2022-07-22 03:12:09,777 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:12:10,270 INFO L134 CoverageAnalysis]: Checked inductivity of 885 backedges. 330 proven. 225 refuted. 0 times theorem prover too weak. 330 trivial. 0 not checked. [2022-07-22 03:12:10,271 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 03:12:11,040 INFO L134 CoverageAnalysis]: Checked inductivity of 885 backedges. 330 proven. 225 refuted. 0 times theorem prover too weak. 330 trivial. 0 not checked. [2022-07-22 03:12:11,041 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 03:12:11,041 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1976682239] [2022-07-22 03:12:11,041 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 03:12:11,041 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1185648017] [2022-07-22 03:12:11,041 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1185648017] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 03:12:11,041 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 03:12:11,042 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [34, 34] total 50 [2022-07-22 03:12:11,042 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [674844225] [2022-07-22 03:12:11,042 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 03:12:11,098 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 03:12:11,099 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 51 interpolants. [2022-07-22 03:12:11,100 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=611, Invalid=1939, Unknown=0, NotChecked=0, Total=2550 [2022-07-22 03:12:11,100 INFO L87 Difference]: Start difference. First operand 165 states and 172 transitions. cyclomatic complexity: 15 Second operand has 51 states, 50 states have (on average 2.7) internal successors, (135), 51 states have internal predecessors, (135), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:12:12,464 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 03:12:12,464 INFO L93 Difference]: Finished difference Result 321 states and 329 transitions. [2022-07-22 03:12:12,465 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 37 states. [2022-07-22 03:12:12,465 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 321 states and 329 transitions. [2022-07-22 03:12:12,466 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:12:12,467 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 321 states to 168 states and 175 transitions. [2022-07-22 03:12:12,467 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 42 [2022-07-22 03:12:12,467 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 42 [2022-07-22 03:12:12,467 INFO L73 IsDeterministic]: Start isDeterministic. Operand 168 states and 175 transitions. [2022-07-22 03:12:12,468 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 03:12:12,468 INFO L369 hiAutomatonCegarLoop]: Abstraction has 168 states and 175 transitions. [2022-07-22 03:12:12,468 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 168 states and 175 transitions. [2022-07-22 03:12:12,470 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 168 to 167. [2022-07-22 03:12:12,470 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 167 states, 167 states have (on average 1.0419161676646707) internal successors, (174), 166 states have internal predecessors, (174), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:12:12,471 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 167 states to 167 states and 174 transitions. [2022-07-22 03:12:12,471 INFO L392 hiAutomatonCegarLoop]: Abstraction has 167 states and 174 transitions. [2022-07-22 03:12:12,471 INFO L374 stractBuchiCegarLoop]: Abstraction has 167 states and 174 transitions. [2022-07-22 03:12:12,471 INFO L287 stractBuchiCegarLoop]: ======== Iteration 36 ============ [2022-07-22 03:12:12,471 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 167 states and 174 transitions. [2022-07-22 03:12:12,472 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:12:12,472 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 03:12:12,472 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 03:12:12,473 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [16, 16, 15, 15, 15, 14, 8, 8, 7, 6, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 03:12:12,473 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-22 03:12:12,473 INFO L752 eck$LassoCheckResult]: Stem: 25470#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);~N~0 := 0; 25471#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem12#1, main_#t~post11#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 25485#L44 assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet2#1, init_nondet_#t~post1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0; 25486#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 25501#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 25502#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 25499#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 25500#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 25630#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 25629#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 25628#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 25627#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 25626#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 25625#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 25624#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 25623#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 25622#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 25621#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 25620#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 25619#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 25618#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 25617#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 25616#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 25615#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 25614#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 25613#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 25612#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 25611#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 25610#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 25609#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 25608#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 25607#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 25606#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 25605#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 25509#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 25508#L18-3 assume !(init_nondet_~i~0#1 < ~N~0); 25464#L16 assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 25465#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 25478#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 25479#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 25497#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 25498#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 25587#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 25586#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 25584#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 25582#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 25580#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 25578#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 25576#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 25574#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 25572#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 25570#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 25568#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 25566#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 25564#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 25562#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 25561#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 25559#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 25556#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 25553#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 25554#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 25552#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 25476#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 25477#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 25546#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 25544#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 25542#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 25540#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 25538#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 25536#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 25534#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 25532#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 25530#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 25528#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 25526#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 25524#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 25523#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 25521#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 25518#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 25517#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 25514#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 25516#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 25513#L29-3 assume !(rangesum_~i~1#1 < ~N~0); 25483#L29-4 assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296); 25484#L38 main_#t~ret6#1 := rangesum_#res#1;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 25494#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 25495#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 25504#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 25505#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 25588#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 25506#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 25496#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 25468#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 25469#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 25585#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 25583#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 25581#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 25579#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 25577#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 25575#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 25573#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 25571#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 25569#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 25567#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 25565#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 25563#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 25558#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 25560#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 25557#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 25555#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 25466#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 25467#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 25551#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 25550#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 25549#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 25548#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 25547#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 25545#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 25543#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 25541#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 25539#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 25537#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 25535#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 25533#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 25531#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 25529#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 25527#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 25525#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 25520#L30-2 [2022-07-22 03:12:12,474 INFO L754 eck$LassoCheckResult]: Loop: 25520#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 25522#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 25519#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 25520#L30-2 [2022-07-22 03:12:12,474 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:12:12,474 INFO L85 PathProgramCache]: Analyzing trace with hash -1520166964, now seen corresponding path program 33 times [2022-07-22 03:12:12,474 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:12:12,474 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [371985341] [2022-07-22 03:12:12,475 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:12:12,475 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:12:12,496 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:12:12,497 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1247452780] [2022-07-22 03:12:12,497 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-07-22 03:12:12,497 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:12:12,497 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:12:12,503 INFO L229 MonitoredProcess]: Starting monitored process 118 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:12:12,523 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (118)] Waiting until timeout for monitored process [2022-07-22 03:12:13,276 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 17 check-sat command(s) [2022-07-22 03:12:13,277 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 03:12:13,283 INFO L263 TraceCheckSpWp]: Trace formula consists of 493 conjuncts, 55 conjunts are in the unsatisfiable core [2022-07-22 03:12:13,286 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:12:14,589 INFO L134 CoverageAnalysis]: Checked inductivity of 873 backedges. 548 proven. 208 refuted. 0 times theorem prover too weak. 117 trivial. 0 not checked. [2022-07-22 03:12:14,590 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 03:12:16,021 INFO L134 CoverageAnalysis]: Checked inductivity of 873 backedges. 372 proven. 384 refuted. 0 times theorem prover too weak. 117 trivial. 0 not checked. [2022-07-22 03:12:16,022 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 03:12:16,022 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [371985341] [2022-07-22 03:12:16,022 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 03:12:16,022 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1247452780] [2022-07-22 03:12:16,022 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1247452780] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 03:12:16,022 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 03:12:16,022 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [38, 37] total 56 [2022-07-22 03:12:16,022 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [566194791] [2022-07-22 03:12:16,023 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 03:12:16,023 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 03:12:16,023 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:12:16,023 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 24 times [2022-07-22 03:12:16,023 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:12:16,024 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1974317700] [2022-07-22 03:12:16,024 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:12:16,024 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:12:16,027 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:12:16,027 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:12:16,029 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:12:16,032 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:12:16,107 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 03:12:16,108 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 56 interpolants. [2022-07-22 03:12:16,108 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=708, Invalid=2372, Unknown=0, NotChecked=0, Total=3080 [2022-07-22 03:12:16,109 INFO L87 Difference]: Start difference. First operand 167 states and 174 transitions. cyclomatic complexity: 15 Second operand has 56 states, 56 states have (on average 2.625) internal successors, (147), 56 states have internal predecessors, (147), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:12:18,637 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 03:12:18,637 INFO L93 Difference]: Finished difference Result 331 states and 344 transitions. [2022-07-22 03:12:18,637 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 53 states. [2022-07-22 03:12:18,637 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 331 states and 344 transitions. [2022-07-22 03:12:18,638 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 12 [2022-07-22 03:12:18,639 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 331 states to 324 states and 337 transitions. [2022-07-22 03:12:18,639 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 123 [2022-07-22 03:12:18,639 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 123 [2022-07-22 03:12:18,639 INFO L73 IsDeterministic]: Start isDeterministic. Operand 324 states and 337 transitions. [2022-07-22 03:12:18,639 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 03:12:18,640 INFO L369 hiAutomatonCegarLoop]: Abstraction has 324 states and 337 transitions. [2022-07-22 03:12:18,640 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 324 states and 337 transitions. [2022-07-22 03:12:18,641 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 324 to 176. [2022-07-22 03:12:18,641 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 176 states, 176 states have (on average 1.0397727272727273) internal successors, (183), 175 states have internal predecessors, (183), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:12:18,642 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 176 states to 176 states and 183 transitions. [2022-07-22 03:12:18,642 INFO L392 hiAutomatonCegarLoop]: Abstraction has 176 states and 183 transitions. [2022-07-22 03:12:18,642 INFO L374 stractBuchiCegarLoop]: Abstraction has 176 states and 183 transitions. [2022-07-22 03:12:18,642 INFO L287 stractBuchiCegarLoop]: ======== Iteration 37 ============ [2022-07-22 03:12:18,642 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 176 states and 183 transitions. [2022-07-22 03:12:18,642 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:12:18,642 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 03:12:18,642 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 03:12:18,643 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [16, 16, 16, 16, 16, 15, 9, 9, 7, 6, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 03:12:18,643 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-22 03:12:18,643 INFO L752 eck$LassoCheckResult]: Stem: 26863#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);~N~0 := 0; 26864#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem12#1, main_#t~post11#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 26874#L44 assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet2#1, init_nondet_#t~post1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0; 26875#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 26888#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 26889#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 26890#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 26929#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 26928#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 26927#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 26926#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 26925#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 26924#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 26923#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 26922#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 26921#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 26920#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 26919#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 26918#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 26917#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 26916#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 26915#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 26914#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 26913#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 26912#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 26911#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 26910#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 26909#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 26908#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 26907#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 26906#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 26905#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 26904#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 26902#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 26899#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 26898#L18-3 assume !(init_nondet_~i~0#1 < ~N~0); 26853#L16 assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 26854#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 26885#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 26956#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 26955#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 26954#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 26953#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 26952#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 26951#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 26950#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 26949#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 26948#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 26947#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 26946#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 26945#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 26944#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 26943#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 26942#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 26941#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 26940#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 26939#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 26938#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 26937#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 26936#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 26935#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 26934#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 26901#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 26903#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 26900#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 26865#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 26866#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 26897#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 26867#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 26868#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 26886#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 26887#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 26970#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 26969#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 26968#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 26967#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 26966#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 26965#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 26964#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 26963#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 26962#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 26961#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 26960#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 26932#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 26933#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 26931#L29-3 assume !(rangesum_~i~1#1 < ~N~0); 26872#L29-4 assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296); 26873#L38 main_#t~ret6#1 := rangesum_#res#1;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 26892#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 26987#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 26893#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 26894#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 27028#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 26895#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 26884#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 26857#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 26858#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 27027#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 27026#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 27025#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 27024#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 27023#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 27022#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 27021#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 27020#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 27019#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 27018#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 27017#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 27016#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 27015#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 27014#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 27012#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 26991#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 26993#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 26990#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 26883#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 26855#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 26856#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 26986#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 26985#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 26984#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 26983#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 26982#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 26981#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 26980#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 26979#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 26978#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 26977#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 26976#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 26975#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 26974#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 26973#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 26972#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 26971#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 26958#L30-2 [2022-07-22 03:12:18,643 INFO L754 eck$LassoCheckResult]: Loop: 26958#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 26959#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 26957#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 26958#L30-2 [2022-07-22 03:12:18,643 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:12:18,644 INFO L85 PathProgramCache]: Analyzing trace with hash -206814833, now seen corresponding path program 34 times [2022-07-22 03:12:18,644 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:12:18,644 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1762506262] [2022-07-22 03:12:18,644 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:12:18,644 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:12:18,662 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:12:18,662 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1026008417] [2022-07-22 03:12:18,662 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-07-22 03:12:18,662 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:12:18,663 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:12:18,665 INFO L229 MonitoredProcess]: Starting monitored process 119 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:12:18,666 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (119)] Waiting until timeout for monitored process [2022-07-22 03:12:19,102 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-07-22 03:12:19,102 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-07-22 03:12:19,102 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:12:19,488 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:12:19,535 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:12:19,536 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:12:19,536 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 25 times [2022-07-22 03:12:19,536 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:12:19,536 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1000133997] [2022-07-22 03:12:19,536 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:12:19,536 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:12:19,540 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:12:19,540 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:12:19,542 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:12:19,545 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:12:19,545 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:12:19,545 INFO L85 PathProgramCache]: Analyzing trace with hash 2057434593, now seen corresponding path program 35 times [2022-07-22 03:12:19,545 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:12:19,545 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1781130339] [2022-07-22 03:12:19,545 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:12:19,546 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:12:19,566 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:12:19,567 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1737347529] [2022-07-22 03:12:19,567 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-07-22 03:12:19,567 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:12:19,567 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:12:19,569 INFO L229 MonitoredProcess]: Starting monitored process 120 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:12:19,571 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (120)] Waiting until timeout for monitored process [2022-07-22 03:12:19,897 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 17 check-sat command(s) [2022-07-22 03:12:19,898 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 03:12:19,902 INFO L263 TraceCheckSpWp]: Trace formula consists of 513 conjuncts, 37 conjunts are in the unsatisfiable core [2022-07-22 03:12:19,904 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:12:20,992 INFO L134 CoverageAnalysis]: Checked inductivity of 1008 backedges. 350 proven. 455 refuted. 0 times theorem prover too weak. 203 trivial. 0 not checked. [2022-07-22 03:12:20,992 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 03:12:22,397 INFO L134 CoverageAnalysis]: Checked inductivity of 1008 backedges. 356 proven. 449 refuted. 0 times theorem prover too weak. 203 trivial. 0 not checked. [2022-07-22 03:12:22,397 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 03:12:22,397 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1781130339] [2022-07-22 03:12:22,397 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 03:12:22,397 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1737347529] [2022-07-22 03:12:22,397 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1737347529] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 03:12:22,397 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 03:12:22,397 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [37, 36] total 54 [2022-07-22 03:12:22,398 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [200709345] [2022-07-22 03:12:22,398 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 03:12:22,461 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 03:12:22,462 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 55 interpolants. [2022-07-22 03:12:22,462 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=748, Invalid=2222, Unknown=0, NotChecked=0, Total=2970 [2022-07-22 03:12:22,463 INFO L87 Difference]: Start difference. First operand 176 states and 183 transitions. cyclomatic complexity: 15 Second operand has 55 states, 54 states have (on average 2.7777777777777777) internal successors, (150), 55 states have internal predecessors, (150), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:12:24,503 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 03:12:24,503 INFO L93 Difference]: Finished difference Result 342 states and 350 transitions. [2022-07-22 03:12:24,504 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 49 states. [2022-07-22 03:12:24,504 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 342 states and 350 transitions. [2022-07-22 03:12:24,506 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:12:24,506 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 342 states to 180 states and 187 transitions. [2022-07-22 03:12:24,506 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 43 [2022-07-22 03:12:24,506 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 43 [2022-07-22 03:12:24,506 INFO L73 IsDeterministic]: Start isDeterministic. Operand 180 states and 187 transitions. [2022-07-22 03:12:24,507 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 03:12:24,507 INFO L369 hiAutomatonCegarLoop]: Abstraction has 180 states and 187 transitions. [2022-07-22 03:12:24,507 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 180 states and 187 transitions. [2022-07-22 03:12:24,508 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 180 to 178. [2022-07-22 03:12:24,509 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 178 states, 178 states have (on average 1.0393258426966292) internal successors, (185), 177 states have internal predecessors, (185), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:12:24,509 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 178 states to 178 states and 185 transitions. [2022-07-22 03:12:24,509 INFO L392 hiAutomatonCegarLoop]: Abstraction has 178 states and 185 transitions. [2022-07-22 03:12:24,509 INFO L374 stractBuchiCegarLoop]: Abstraction has 178 states and 185 transitions. [2022-07-22 03:12:24,509 INFO L287 stractBuchiCegarLoop]: ======== Iteration 38 ============ [2022-07-22 03:12:24,509 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 178 states and 185 transitions. [2022-07-22 03:12:24,510 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:12:24,510 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 03:12:24,510 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 03:12:24,511 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [17, 17, 16, 16, 16, 15, 9, 9, 7, 6, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 03:12:24,511 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-22 03:12:24,511 INFO L752 eck$LassoCheckResult]: Stem: 28307#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);~N~0 := 0; 28308#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem12#1, main_#t~post11#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 28322#L44 assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet2#1, init_nondet_#t~post1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0; 28323#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 28338#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 28339#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 28336#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 28337#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 28456#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 28455#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 28454#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 28453#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 28452#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 28451#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 28450#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 28449#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 28448#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 28447#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 28446#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 28445#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 28444#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 28443#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 28442#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 28441#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 28440#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 28439#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 28438#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 28437#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 28436#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 28435#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 28434#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 28433#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 28432#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 28431#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 28430#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 28429#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 28345#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 28344#L18-3 assume !(init_nondet_~i~0#1 < ~N~0); 28301#L16 assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 28302#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 28334#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 28343#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 28335#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 28313#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 28314#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 28427#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 28425#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 28423#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 28421#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 28419#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 28417#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 28415#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 28413#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 28411#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 28409#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 28407#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 28405#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 28403#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 28401#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 28399#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 28397#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 28395#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 28394#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 28392#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 28386#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 28388#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 28385#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 28311#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 28312#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 28381#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 28379#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 28377#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 28375#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 28373#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 28371#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 28369#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 28367#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 28365#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 28363#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 28361#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 28359#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 28357#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 28355#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 28353#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 28352#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 28347#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 28348#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 28346#L29-3 assume !(rangesum_~i~1#1 < ~N~0); 28320#L29-4 assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296); 28321#L38 main_#t~ret6#1 := rangesum_#res#1;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 28332#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 28303#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 28304#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 28333#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 28305#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 28306#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 28341#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 28428#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 28426#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 28424#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 28422#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 28420#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 28418#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 28416#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 28414#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 28412#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 28410#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 28408#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 28406#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 28404#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 28402#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 28400#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 28398#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 28396#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 28391#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 28393#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 28390#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 28389#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 28387#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 28384#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 28383#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 28382#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 28380#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 28378#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 28376#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 28374#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 28372#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 28370#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 28368#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 28366#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 28364#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 28362#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 28360#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 28358#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 28356#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 28354#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 28350#L30-2 [2022-07-22 03:12:24,511 INFO L754 eck$LassoCheckResult]: Loop: 28350#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 28351#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 28349#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 28350#L30-2 [2022-07-22 03:12:24,511 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:12:24,512 INFO L85 PathProgramCache]: Analyzing trace with hash -72952531, now seen corresponding path program 36 times [2022-07-22 03:12:24,512 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:12:24,512 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [665180521] [2022-07-22 03:12:24,512 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:12:24,512 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:12:24,538 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:12:24,538 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [618299414] [2022-07-22 03:12:24,538 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-07-22 03:12:24,538 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:12:24,539 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:12:24,541 INFO L229 MonitoredProcess]: Starting monitored process 121 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:12:24,542 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (121)] Waiting until timeout for monitored process [2022-07-22 03:12:25,243 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 18 check-sat command(s) [2022-07-22 03:12:25,243 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 03:12:25,250 INFO L263 TraceCheckSpWp]: Trace formula consists of 512 conjuncts, 39 conjunts are in the unsatisfiable core [2022-07-22 03:12:25,252 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:12:26,036 INFO L134 CoverageAnalysis]: Checked inductivity of 995 backedges. 455 proven. 110 refuted. 0 times theorem prover too weak. 430 trivial. 0 not checked. [2022-07-22 03:12:26,036 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 03:12:27,926 INFO L134 CoverageAnalysis]: Checked inductivity of 995 backedges. 420 proven. 435 refuted. 0 times theorem prover too weak. 140 trivial. 0 not checked. [2022-07-22 03:12:27,927 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 03:12:27,927 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [665180521] [2022-07-22 03:12:27,927 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 03:12:27,927 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [618299414] [2022-07-22 03:12:27,927 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [618299414] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 03:12:27,927 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 03:12:27,927 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [29, 40] total 49 [2022-07-22 03:12:27,927 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1724456041] [2022-07-22 03:12:27,927 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 03:12:27,927 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 03:12:27,928 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:12:27,928 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 26 times [2022-07-22 03:12:27,928 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:12:27,928 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [353942562] [2022-07-22 03:12:27,928 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:12:27,928 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:12:27,931 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:12:27,931 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:12:27,933 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:12:27,936 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:12:28,007 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 03:12:28,008 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 49 interpolants. [2022-07-22 03:12:28,008 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=413, Invalid=1939, Unknown=0, NotChecked=0, Total=2352 [2022-07-22 03:12:28,009 INFO L87 Difference]: Start difference. First operand 178 states and 185 transitions. cyclomatic complexity: 15 Second operand has 49 states, 49 states have (on average 2.5918367346938775) internal successors, (127), 49 states have internal predecessors, (127), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:12:29,913 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 03:12:29,913 INFO L93 Difference]: Finished difference Result 215 states and 222 transitions. [2022-07-22 03:12:29,915 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 38 states. [2022-07-22 03:12:29,915 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 215 states and 222 transitions. [2022-07-22 03:12:29,916 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:12:29,916 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 215 states to 215 states and 222 transitions. [2022-07-22 03:12:29,916 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 70 [2022-07-22 03:12:29,917 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 70 [2022-07-22 03:12:29,917 INFO L73 IsDeterministic]: Start isDeterministic. Operand 215 states and 222 transitions. [2022-07-22 03:12:29,917 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 03:12:29,917 INFO L369 hiAutomatonCegarLoop]: Abstraction has 215 states and 222 transitions. [2022-07-22 03:12:29,917 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 215 states and 222 transitions. [2022-07-22 03:12:29,918 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 215 to 184. [2022-07-22 03:12:29,919 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 184 states, 184 states have (on average 1.0380434782608696) internal successors, (191), 183 states have internal predecessors, (191), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:12:29,919 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 184 states to 184 states and 191 transitions. [2022-07-22 03:12:29,919 INFO L392 hiAutomatonCegarLoop]: Abstraction has 184 states and 191 transitions. [2022-07-22 03:12:29,919 INFO L374 stractBuchiCegarLoop]: Abstraction has 184 states and 191 transitions. [2022-07-22 03:12:29,919 INFO L287 stractBuchiCegarLoop]: ======== Iteration 39 ============ [2022-07-22 03:12:29,920 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 184 states and 191 transitions. [2022-07-22 03:12:29,920 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:12:29,920 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 03:12:29,920 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 03:12:29,921 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [17, 17, 17, 17, 17, 16, 9, 9, 8, 7, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 03:12:29,921 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-22 03:12:29,921 INFO L752 eck$LassoCheckResult]: Stem: 29600#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);~N~0 := 0; 29601#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem12#1, main_#t~post11#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 29615#L44 assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet2#1, init_nondet_#t~post1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0; 29616#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 29631#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 29632#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 29633#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 29679#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 29678#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 29677#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 29676#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 29675#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 29674#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 29673#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 29672#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 29671#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 29670#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 29669#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 29668#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 29667#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 29666#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 29665#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 29664#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 29663#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 29662#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 29661#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 29660#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 29659#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 29658#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 29657#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 29656#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 29654#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 29648#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 29647#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 29646#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 29645#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 29641#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 29640#L18-3 assume !(init_nondet_~i~0#1 < ~N~0); 29594#L16 assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 29595#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 29629#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 29639#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 29630#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 29604#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 29605#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 29740#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 29739#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 29738#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 29737#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 29736#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 29735#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 29734#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 29733#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 29732#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 29731#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 29730#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 29729#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 29728#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 29727#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 29726#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 29725#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 29723#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 29720#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 29719#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 29650#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 29651#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 29649#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 29602#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 29603#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 29698#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 29697#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 29696#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 29695#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 29694#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 29693#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 29692#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 29691#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 29690#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 29689#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 29688#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 29687#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 29686#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 29685#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 29684#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 29683#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 29682#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 29681#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 29680#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 29643#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 29644#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 29642#L29-3 assume !(rangesum_~i~1#1 < ~N~0); 29610#L29-4 assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296); 29611#L38 main_#t~ret6#1 := rangesum_#res#1;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 29635#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 29596#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 29597#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 29627#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 29628#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 29636#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 29637#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 29598#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 29599#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 29755#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 29754#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 29753#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 29752#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 29751#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 29750#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 29749#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 29748#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 29747#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 29746#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 29745#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 29744#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 29743#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 29742#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 29741#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 29722#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 29724#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 29721#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 29625#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 29626#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 29718#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 29717#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 29716#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 29715#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 29714#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 29713#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 29712#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 29711#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 29710#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 29709#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 29708#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 29707#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 29706#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 29705#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 29704#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 29703#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 29702#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 29701#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 29700#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 29699#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 29653#L30-2 [2022-07-22 03:12:29,922 INFO L754 eck$LassoCheckResult]: Loop: 29653#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 29655#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 29652#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 29653#L30-2 [2022-07-22 03:12:29,922 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:12:29,922 INFO L85 PathProgramCache]: Analyzing trace with hash -1436166458, now seen corresponding path program 37 times [2022-07-22 03:12:29,922 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:12:29,922 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1059954406] [2022-07-22 03:12:29,923 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:12:29,923 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:12:29,944 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:12:29,944 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [840047709] [2022-07-22 03:12:29,944 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2022-07-22 03:12:29,945 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:12:29,945 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:12:29,959 INFO L229 MonitoredProcess]: Starting monitored process 122 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:12:29,975 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (122)] Waiting until timeout for monitored process [2022-07-22 03:12:30,321 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:12:30,322 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:12:30,451 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:12:30,486 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:12:30,486 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:12:30,487 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 27 times [2022-07-22 03:12:30,487 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:12:30,487 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [231755922] [2022-07-22 03:12:30,487 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:12:30,487 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:12:30,491 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:12:30,491 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:12:30,493 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:12:30,495 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:12:30,496 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:12:30,496 INFO L85 PathProgramCache]: Analyzing trace with hash 1629307210, now seen corresponding path program 38 times [2022-07-22 03:12:30,496 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:12:30,496 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1052054687] [2022-07-22 03:12:30,496 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:12:30,496 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:12:30,519 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:12:30,519 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1002251559] [2022-07-22 03:12:30,519 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-07-22 03:12:30,519 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:12:30,520 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:12:30,525 INFO L229 MonitoredProcess]: Starting monitored process 123 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:12:30,526 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (123)] Waiting until timeout for monitored process [2022-07-22 03:12:30,725 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-07-22 03:12:30,725 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 03:12:30,728 INFO L263 TraceCheckSpWp]: Trace formula consists of 548 conjuncts, 38 conjunts are in the unsatisfiable core [2022-07-22 03:12:30,730 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:12:31,323 INFO L134 CoverageAnalysis]: Checked inductivity of 1139 backedges. 425 proven. 289 refuted. 0 times theorem prover too weak. 425 trivial. 0 not checked. [2022-07-22 03:12:31,323 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 03:12:32,363 INFO L134 CoverageAnalysis]: Checked inductivity of 1139 backedges. 425 proven. 289 refuted. 0 times theorem prover too weak. 425 trivial. 0 not checked. [2022-07-22 03:12:32,363 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 03:12:32,363 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1052054687] [2022-07-22 03:12:32,363 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 03:12:32,363 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1002251559] [2022-07-22 03:12:32,363 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1002251559] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 03:12:32,363 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 03:12:32,363 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [38, 38] total 56 [2022-07-22 03:12:32,364 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1147244747] [2022-07-22 03:12:32,364 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 03:12:32,444 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 03:12:32,444 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 57 interpolants. [2022-07-22 03:12:32,445 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=759, Invalid=2433, Unknown=0, NotChecked=0, Total=3192 [2022-07-22 03:12:32,445 INFO L87 Difference]: Start difference. First operand 184 states and 191 transitions. cyclomatic complexity: 15 Second operand has 57 states, 56 states have (on average 2.6964285714285716) internal successors, (151), 57 states have internal predecessors, (151), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:12:34,058 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 03:12:34,059 INFO L93 Difference]: Finished difference Result 358 states and 366 transitions. [2022-07-22 03:12:34,059 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 41 states. [2022-07-22 03:12:34,059 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 358 states and 366 transitions. [2022-07-22 03:12:34,060 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:12:34,061 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 358 states to 187 states and 194 transitions. [2022-07-22 03:12:34,062 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 45 [2022-07-22 03:12:34,062 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 45 [2022-07-22 03:12:34,062 INFO L73 IsDeterministic]: Start isDeterministic. Operand 187 states and 194 transitions. [2022-07-22 03:12:34,062 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 03:12:34,062 INFO L369 hiAutomatonCegarLoop]: Abstraction has 187 states and 194 transitions. [2022-07-22 03:12:34,062 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 187 states and 194 transitions. [2022-07-22 03:12:34,064 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 187 to 186. [2022-07-22 03:12:34,064 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 186 states, 186 states have (on average 1.0376344086021505) internal successors, (193), 185 states have internal predecessors, (193), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:12:34,064 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 186 states to 186 states and 193 transitions. [2022-07-22 03:12:34,065 INFO L392 hiAutomatonCegarLoop]: Abstraction has 186 states and 193 transitions. [2022-07-22 03:12:34,065 INFO L374 stractBuchiCegarLoop]: Abstraction has 186 states and 193 transitions. [2022-07-22 03:12:34,065 INFO L287 stractBuchiCegarLoop]: ======== Iteration 40 ============ [2022-07-22 03:12:34,065 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 186 states and 193 transitions. [2022-07-22 03:12:34,066 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:12:34,066 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 03:12:34,066 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 03:12:34,067 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [18, 18, 17, 17, 17, 16, 9, 9, 8, 7, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 03:12:34,067 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-22 03:12:34,067 INFO L752 eck$LassoCheckResult]: Stem: 31114#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);~N~0 := 0; 31115#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem12#1, main_#t~post11#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 31121#L44 assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet2#1, init_nondet_#t~post1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0; 31122#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 31135#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 31136#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 31133#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 31134#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 31285#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 31284#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 31283#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 31282#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 31281#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 31280#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 31279#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 31278#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 31277#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 31276#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 31275#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 31274#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 31273#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 31272#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 31271#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 31270#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 31269#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 31268#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 31267#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 31266#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 31265#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 31264#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 31263#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 31262#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 31261#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 31260#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 31259#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 31258#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 31257#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 31256#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 31142#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 31141#L18-3 assume !(init_nondet_~i~0#1 < ~N~0); 31100#L16 assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 31101#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 31110#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 31111#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 31131#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 31132#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 31232#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 31230#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 31228#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 31226#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 31224#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 31222#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 31220#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 31218#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 31216#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 31214#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 31212#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 31210#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 31208#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 31206#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 31204#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 31202#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 31200#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 31199#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 31197#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 31194#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 31144#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 31191#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 31143#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 31108#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 31109#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 31184#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 31182#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 31180#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 31178#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 31176#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 31174#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 31172#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 31170#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 31168#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 31166#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 31164#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 31162#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 31160#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 31158#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 31156#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 31155#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 31153#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 31150#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 31149#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 31146#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 31148#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 31145#L29-3 assume !(rangesum_~i~1#1 < ~N~0); 31119#L29-4 assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296); 31120#L38 main_#t~ret6#1 := rangesum_#res#1;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 31129#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 31102#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 31103#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 31130#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 31104#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 31105#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 31138#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 31233#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 31231#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 31229#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 31227#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 31225#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 31223#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 31221#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 31219#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 31217#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 31215#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 31213#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 31211#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 31209#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 31207#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 31205#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 31203#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 31201#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 31196#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 31198#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 31195#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 31193#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 31192#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 31190#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 31189#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 31188#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 31187#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 31186#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 31185#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 31183#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 31181#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 31179#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 31177#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 31175#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 31173#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 31171#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 31169#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 31167#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 31165#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 31163#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 31161#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 31159#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 31157#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 31152#L30-2 [2022-07-22 03:12:34,067 INFO L754 eck$LassoCheckResult]: Loop: 31152#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 31154#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 31151#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 31152#L30-2 [2022-07-22 03:12:34,068 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:12:34,068 INFO L85 PathProgramCache]: Analyzing trace with hash -430314396, now seen corresponding path program 39 times [2022-07-22 03:12:34,068 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:12:34,068 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [766137156] [2022-07-22 03:12:34,068 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:12:34,068 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:12:34,091 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:12:34,092 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1678647252] [2022-07-22 03:12:34,092 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-07-22 03:12:34,092 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:12:34,092 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:12:34,099 INFO L229 MonitoredProcess]: Starting monitored process 124 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:12:34,120 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (124)] Waiting until timeout for monitored process [2022-07-22 03:12:35,013 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 19 check-sat command(s) [2022-07-22 03:12:35,014 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 03:12:35,020 INFO L263 TraceCheckSpWp]: Trace formula consists of 547 conjuncts, 61 conjunts are in the unsatisfiable core [2022-07-22 03:12:35,022 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:12:36,766 INFO L134 CoverageAnalysis]: Checked inductivity of 1125 backedges. 707 proven. 261 refuted. 0 times theorem prover too weak. 157 trivial. 0 not checked. [2022-07-22 03:12:36,766 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 03:12:39,606 INFO L134 CoverageAnalysis]: Checked inductivity of 1125 backedges. 359 proven. 666 refuted. 0 times theorem prover too weak. 100 trivial. 0 not checked. [2022-07-22 03:12:39,606 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 03:12:39,606 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [766137156] [2022-07-22 03:12:39,606 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 03:12:39,607 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1678647252] [2022-07-22 03:12:39,607 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1678647252] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 03:12:39,607 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 03:12:39,607 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [42, 48] total 71 [2022-07-22 03:12:39,607 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2016562106] [2022-07-22 03:12:39,607 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 03:12:39,608 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 03:12:39,608 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:12:39,608 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 28 times [2022-07-22 03:12:39,608 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:12:39,608 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1647052419] [2022-07-22 03:12:39,609 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:12:39,609 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:12:39,613 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:12:39,614 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:12:39,615 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:12:39,618 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:12:39,678 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 03:12:39,679 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 71 interpolants. [2022-07-22 03:12:39,680 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1037, Invalid=3933, Unknown=0, NotChecked=0, Total=4970 [2022-07-22 03:12:39,681 INFO L87 Difference]: Start difference. First operand 186 states and 193 transitions. cyclomatic complexity: 15 Second operand has 71 states, 71 states have (on average 2.676056338028169) internal successors, (190), 71 states have internal predecessors, (190), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:12:43,816 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 03:12:43,816 INFO L93 Difference]: Finished difference Result 365 states and 378 transitions. [2022-07-22 03:12:43,817 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 62 states. [2022-07-22 03:12:43,817 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 365 states and 378 transitions. [2022-07-22 03:12:43,818 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 12 [2022-07-22 03:12:43,819 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 365 states to 358 states and 371 transitions. [2022-07-22 03:12:43,819 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 135 [2022-07-22 03:12:43,819 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 135 [2022-07-22 03:12:43,819 INFO L73 IsDeterministic]: Start isDeterministic. Operand 358 states and 371 transitions. [2022-07-22 03:12:43,820 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 03:12:43,820 INFO L369 hiAutomatonCegarLoop]: Abstraction has 358 states and 371 transitions. [2022-07-22 03:12:43,820 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 358 states and 371 transitions. [2022-07-22 03:12:43,821 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 358 to 195. [2022-07-22 03:12:43,821 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 195 states, 195 states have (on average 1.035897435897436) internal successors, (202), 194 states have internal predecessors, (202), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:12:43,822 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 195 states to 195 states and 202 transitions. [2022-07-22 03:12:43,822 INFO L392 hiAutomatonCegarLoop]: Abstraction has 195 states and 202 transitions. [2022-07-22 03:12:43,822 INFO L374 stractBuchiCegarLoop]: Abstraction has 195 states and 202 transitions. [2022-07-22 03:12:43,822 INFO L287 stractBuchiCegarLoop]: ======== Iteration 41 ============ [2022-07-22 03:12:43,822 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 195 states and 202 transitions. [2022-07-22 03:12:43,823 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:12:43,823 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 03:12:43,823 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 03:12:43,824 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [18, 18, 18, 18, 18, 17, 10, 10, 8, 7, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 03:12:43,824 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-22 03:12:43,825 INFO L752 eck$LassoCheckResult]: Stem: 32681#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);~N~0 := 0; 32682#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem12#1, main_#t~post11#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 32688#L44 assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet2#1, init_nondet_#t~post1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0; 32689#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 32702#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 32703#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 32704#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 32746#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 32745#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 32744#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 32743#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 32742#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 32741#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 32740#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 32739#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 32738#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 32737#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 32736#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 32735#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 32734#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 32733#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 32732#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 32731#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 32730#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 32729#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 32728#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 32727#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 32726#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 32725#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 32724#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 32723#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 32722#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 32721#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 32720#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 32719#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 32718#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 32717#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 32716#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 32712#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 32711#L18-3 assume !(init_nondet_~i~0#1 < ~N~0); 32667#L16 assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 32668#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 32699#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 32779#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 32778#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 32777#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 32776#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 32775#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 32774#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 32773#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 32772#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 32771#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 32770#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 32769#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 32768#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 32767#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 32766#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 32765#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 32764#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 32763#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 32762#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 32761#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 32760#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 32759#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 32758#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 32756#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 32755#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 32754#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 32753#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 32714#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 32715#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 32713#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 32673#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 32674#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 32710#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 32675#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 32676#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 32700#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 32701#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 32793#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 32792#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 32791#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 32790#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 32789#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 32788#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 32787#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 32786#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 32785#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 32784#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 32783#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 32782#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 32781#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 32780#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 32750#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 32751#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 32749#L29-3 assume !(rangesum_~i~1#1 < ~N~0); 32683#L29-4 assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296); 32684#L38 main_#t~ret6#1 := rangesum_#res#1;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 32706#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 32815#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 32707#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 32708#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 32671#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 32672#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 32697#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 32698#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 32835#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 32834#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 32833#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 32832#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 32831#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 32830#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 32829#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 32828#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 32827#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 32826#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 32825#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 32824#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 32823#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 32822#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 32821#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 32820#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 32819#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 32818#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 32817#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 32814#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 32816#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 32813#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 32696#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 32669#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 32670#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 32812#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 32811#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 32810#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 32809#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 32808#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 32807#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 32806#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 32805#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 32804#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 32803#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 32802#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 32801#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 32800#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 32799#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 32798#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 32797#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 32796#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 32795#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 32794#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 32748#L30-2 [2022-07-22 03:12:43,825 INFO L754 eck$LassoCheckResult]: Loop: 32748#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 32757#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 32747#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 32748#L30-2 [2022-07-22 03:12:43,825 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:12:43,825 INFO L85 PathProgramCache]: Analyzing trace with hash -1396951765, now seen corresponding path program 40 times [2022-07-22 03:12:43,825 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:12:43,826 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2040791533] [2022-07-22 03:12:43,826 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:12:43,826 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:12:43,845 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:12:43,846 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1443107383] [2022-07-22 03:12:43,846 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-07-22 03:12:43,846 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:12:43,846 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:12:43,877 INFO L229 MonitoredProcess]: Starting monitored process 125 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:12:43,879 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (125)] Waiting until timeout for monitored process [2022-07-22 03:12:44,260 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-07-22 03:12:44,261 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-07-22 03:12:44,261 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:12:44,820 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:12:44,868 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:12:44,868 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:12:44,868 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 29 times [2022-07-22 03:12:44,869 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:12:44,869 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [802771047] [2022-07-22 03:12:44,869 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:12:44,869 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:12:44,872 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:12:44,873 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:12:44,874 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:12:44,877 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:12:44,878 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:12:44,878 INFO L85 PathProgramCache]: Analyzing trace with hash 1643121861, now seen corresponding path program 41 times [2022-07-22 03:12:44,878 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:12:44,878 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1631603529] [2022-07-22 03:12:44,878 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:12:44,878 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:12:44,905 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:12:44,905 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2042755939] [2022-07-22 03:12:44,906 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-07-22 03:12:44,906 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:12:44,907 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:12:44,911 INFO L229 MonitoredProcess]: Starting monitored process 126 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:12:44,934 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (126)] Waiting until timeout for monitored process [2022-07-22 03:12:45,432 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 19 check-sat command(s) [2022-07-22 03:12:45,432 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 03:12:45,438 INFO L263 TraceCheckSpWp]: Trace formula consists of 567 conjuncts, 40 conjunts are in the unsatisfiable core [2022-07-22 03:12:45,440 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:12:46,089 INFO L134 CoverageAnalysis]: Checked inductivity of 1278 backedges. 477 proven. 324 refuted. 0 times theorem prover too weak. 477 trivial. 0 not checked. [2022-07-22 03:12:46,089 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 03:12:47,363 INFO L134 CoverageAnalysis]: Checked inductivity of 1278 backedges. 477 proven. 324 refuted. 0 times theorem prover too weak. 477 trivial. 0 not checked. [2022-07-22 03:12:47,363 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 03:12:47,363 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1631603529] [2022-07-22 03:12:47,363 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 03:12:47,364 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2042755939] [2022-07-22 03:12:47,364 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2042755939] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 03:12:47,364 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 03:12:47,364 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [40, 40] total 59 [2022-07-22 03:12:47,364 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1089624438] [2022-07-22 03:12:47,364 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 03:12:47,443 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 03:12:47,444 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 60 interpolants. [2022-07-22 03:12:47,444 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=839, Invalid=2701, Unknown=0, NotChecked=0, Total=3540 [2022-07-22 03:12:47,445 INFO L87 Difference]: Start difference. First operand 195 states and 202 transitions. cyclomatic complexity: 15 Second operand has 60 states, 59 states have (on average 2.694915254237288) internal successors, (159), 60 states have internal predecessors, (159), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:12:49,477 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 03:12:49,477 INFO L93 Difference]: Finished difference Result 378 states and 386 transitions. [2022-07-22 03:12:49,478 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 43 states. [2022-07-22 03:12:49,478 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 378 states and 386 transitions. [2022-07-22 03:12:49,479 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:12:49,480 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 378 states to 198 states and 205 transitions. [2022-07-22 03:12:49,480 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 45 [2022-07-22 03:12:49,480 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 45 [2022-07-22 03:12:49,480 INFO L73 IsDeterministic]: Start isDeterministic. Operand 198 states and 205 transitions. [2022-07-22 03:12:49,480 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 03:12:49,481 INFO L369 hiAutomatonCegarLoop]: Abstraction has 198 states and 205 transitions. [2022-07-22 03:12:49,481 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 198 states and 205 transitions. [2022-07-22 03:12:49,482 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 198 to 197. [2022-07-22 03:12:49,483 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 197 states, 197 states have (on average 1.0355329949238579) internal successors, (204), 196 states have internal predecessors, (204), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:12:49,483 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 197 states to 197 states and 204 transitions. [2022-07-22 03:12:49,483 INFO L392 hiAutomatonCegarLoop]: Abstraction has 197 states and 204 transitions. [2022-07-22 03:12:49,483 INFO L374 stractBuchiCegarLoop]: Abstraction has 197 states and 204 transitions. [2022-07-22 03:12:49,483 INFO L287 stractBuchiCegarLoop]: ======== Iteration 42 ============ [2022-07-22 03:12:49,483 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 197 states and 204 transitions. [2022-07-22 03:12:49,484 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:12:49,484 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 03:12:49,484 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 03:12:49,485 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [19, 19, 18, 18, 18, 17, 10, 10, 8, 7, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 03:12:49,485 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-22 03:12:49,485 INFO L752 eck$LassoCheckResult]: Stem: 34263#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);~N~0 := 0; 34264#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem12#1, main_#t~post11#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 34278#L44 assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet2#1, init_nondet_#t~post1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0; 34279#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 34290#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 34291#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 34292#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 34453#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 34452#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 34451#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 34450#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 34449#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 34448#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 34447#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 34445#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 34443#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 34441#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 34439#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 34437#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 34435#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 34433#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 34431#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 34429#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 34427#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 34425#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 34422#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 34418#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 34414#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 34410#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 34406#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 34402#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 34398#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 34394#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 34390#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 34386#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 34382#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 34378#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 34375#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 34372#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 34371#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 34297#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 34296#L18-3 assume !(init_nondet_~i~0#1 < ~N~0); 34257#L16 assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 34258#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 34288#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 34360#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 34358#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 34355#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 34353#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 34351#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 34349#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 34347#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 34345#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 34343#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 34341#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 34339#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 34337#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 34335#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 34333#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 34331#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 34329#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 34327#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 34325#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 34323#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 34321#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 34319#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 34317#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 34315#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 34313#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 34311#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 34310#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 34305#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 34306#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 34304#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 34265#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 34266#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 34289#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 34267#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 34268#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 34420#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 34416#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 34412#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 34408#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 34404#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 34400#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 34396#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 34392#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 34388#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 34384#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 34380#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 34377#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 34373#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 34368#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 34303#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 34302#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 34300#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 34301#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 34299#L29-3 assume !(rangesum_~i~1#1 < ~N~0); 34273#L29-4 assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296); 34274#L38 main_#t~ret6#1 := rangesum_#res#1;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 34286#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 34259#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 34260#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 34287#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 34261#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 34262#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 34294#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 34423#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 34419#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 34415#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 34411#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 34407#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 34403#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 34399#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 34395#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 34391#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 34387#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 34383#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 34379#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 34376#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 34367#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 34366#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 34365#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 34364#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 34363#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 34362#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 34361#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 34357#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 34359#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 34356#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 34354#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 34352#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 34350#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 34348#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 34346#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 34344#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 34342#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 34340#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 34338#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 34336#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 34334#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 34332#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 34330#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 34328#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 34326#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 34324#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 34322#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 34320#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 34318#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 34316#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 34314#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 34312#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 34308#L30-2 [2022-07-22 03:12:49,486 INFO L754 eck$LassoCheckResult]: Loop: 34308#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 34309#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 34307#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 34308#L30-2 [2022-07-22 03:12:49,486 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:12:49,486 INFO L85 PathProgramCache]: Analyzing trace with hash -737686327, now seen corresponding path program 42 times [2022-07-22 03:12:49,486 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:12:49,487 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1674393301] [2022-07-22 03:12:49,487 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:12:49,487 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:12:49,509 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:12:49,509 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [925387048] [2022-07-22 03:12:49,509 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-07-22 03:12:49,509 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:12:49,509 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:12:49,514 INFO L229 MonitoredProcess]: Starting monitored process 127 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:12:49,516 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (127)] Waiting until timeout for monitored process [2022-07-22 03:12:50,578 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 20 check-sat command(s) [2022-07-22 03:12:50,578 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 03:12:50,587 INFO L263 TraceCheckSpWp]: Trace formula consists of 566 conjuncts, 40 conjunts are in the unsatisfiable core [2022-07-22 03:12:50,589 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:12:51,173 INFO L134 CoverageAnalysis]: Checked inductivity of 1263 backedges. 324 proven. 514 refuted. 0 times theorem prover too weak. 425 trivial. 0 not checked. [2022-07-22 03:12:51,174 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 03:12:52,260 INFO L134 CoverageAnalysis]: Checked inductivity of 1263 backedges. 324 proven. 514 refuted. 0 times theorem prover too weak. 425 trivial. 0 not checked. [2022-07-22 03:12:52,260 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 03:12:52,260 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1674393301] [2022-07-22 03:12:52,260 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 03:12:52,262 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [925387048] [2022-07-22 03:12:52,262 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [925387048] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 03:12:52,262 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 03:12:52,262 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [41, 41] total 60 [2022-07-22 03:12:52,262 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [797325391] [2022-07-22 03:12:52,262 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 03:12:52,263 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 03:12:52,263 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:12:52,263 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 30 times [2022-07-22 03:12:52,263 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:12:52,263 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1216127453] [2022-07-22 03:12:52,263 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:12:52,264 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:12:52,268 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:12:52,269 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:12:52,270 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:12:52,273 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:12:52,349 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 03:12:52,350 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 60 interpolants. [2022-07-22 03:12:52,350 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=839, Invalid=2701, Unknown=0, NotChecked=0, Total=3540 [2022-07-22 03:12:52,351 INFO L87 Difference]: Start difference. First operand 197 states and 204 transitions. cyclomatic complexity: 15 Second operand has 60 states, 60 states have (on average 2.6666666666666665) internal successors, (160), 60 states have internal predecessors, (160), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:12:59,046 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 03:12:59,046 INFO L93 Difference]: Finished difference Result 702 states and 737 transitions. [2022-07-22 03:12:59,049 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 96 states. [2022-07-22 03:12:59,049 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 702 states and 737 transitions. [2022-07-22 03:12:59,051 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:12:59,052 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 702 states to 702 states and 737 transitions. [2022-07-22 03:12:59,052 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 342 [2022-07-22 03:12:59,052 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 342 [2022-07-22 03:12:59,052 INFO L73 IsDeterministic]: Start isDeterministic. Operand 702 states and 737 transitions. [2022-07-22 03:12:59,053 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 03:12:59,053 INFO L369 hiAutomatonCegarLoop]: Abstraction has 702 states and 737 transitions. [2022-07-22 03:12:59,053 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 702 states and 737 transitions. [2022-07-22 03:12:59,055 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 702 to 203. [2022-07-22 03:12:59,055 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 203 states, 203 states have (on average 1.0344827586206897) internal successors, (210), 202 states have internal predecessors, (210), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:12:59,056 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 203 states to 203 states and 210 transitions. [2022-07-22 03:12:59,056 INFO L392 hiAutomatonCegarLoop]: Abstraction has 203 states and 210 transitions. [2022-07-22 03:12:59,056 INFO L374 stractBuchiCegarLoop]: Abstraction has 203 states and 210 transitions. [2022-07-22 03:12:59,056 INFO L287 stractBuchiCegarLoop]: ======== Iteration 43 ============ [2022-07-22 03:12:59,056 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 203 states and 210 transitions. [2022-07-22 03:12:59,057 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:12:59,057 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 03:12:59,057 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 03:12:59,058 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [19, 19, 19, 19, 19, 18, 10, 10, 9, 8, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 03:12:59,058 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-22 03:12:59,058 INFO L752 eck$LassoCheckResult]: Stem: 36285#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);~N~0 := 0; 36286#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem12#1, main_#t~post11#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 36297#L44 assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet2#1, init_nondet_#t~post1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0; 36298#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 36309#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 36310#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 36311#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 36358#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 36357#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 36356#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 36355#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 36354#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 36353#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 36352#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 36351#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 36350#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 36349#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 36348#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 36347#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 36346#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 36345#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 36344#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 36343#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 36342#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 36341#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 36340#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 36339#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 36338#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 36337#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 36336#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 36335#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 36334#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 36333#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 36332#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 36331#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 36330#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 36329#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 36328#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 36327#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 36326#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 36318#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 36317#L18-3 assume !(init_nondet_~i~0#1 < ~N~0); 36275#L16 assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 36276#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 36307#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 36315#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 36316#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 36407#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 36408#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 36429#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 36428#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 36427#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 36426#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 36425#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 36424#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 36423#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 36422#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 36421#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 36420#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 36419#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 36418#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 36417#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 36416#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 36415#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 36414#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 36413#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 36412#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 36411#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 36410#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 36409#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 36308#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 36289#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 36290#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 36405#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 36287#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 36288#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 36401#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 36399#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 36397#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 36395#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 36393#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 36391#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 36389#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 36387#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 36385#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 36383#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 36381#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 36379#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 36377#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 36375#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 36373#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 36371#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 36369#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 36367#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 36365#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 36363#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 36361#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 36359#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 36321#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 36322#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 36320#L29-3 assume !(rangesum_~i~1#1 < ~N~0); 36295#L29-4 assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296); 36296#L38 main_#t~ret6#1 := rangesum_#res#1;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 36305#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 36277#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 36278#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 36313#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 36432#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 36433#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 36434#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 36430#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 36431#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 36451#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 36450#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 36449#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 36448#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 36447#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 36446#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 36445#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 36444#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 36443#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 36442#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 36441#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 36440#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 36439#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 36438#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 36437#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 36436#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 36435#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 36314#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 36306#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 36279#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 36280#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 36406#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 36404#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 36403#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 36402#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 36400#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 36398#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 36396#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 36394#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 36392#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 36390#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 36388#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 36386#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 36384#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 36382#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 36380#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 36378#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 36376#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 36374#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 36372#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 36370#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 36368#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 36366#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 36364#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 36362#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 36360#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 36324#L30-2 [2022-07-22 03:12:59,059 INFO L754 eck$LassoCheckResult]: Loop: 36324#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 36325#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 36323#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 36324#L30-2 [2022-07-22 03:12:59,059 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:12:59,059 INFO L85 PathProgramCache]: Analyzing trace with hash 1782467814, now seen corresponding path program 43 times [2022-07-22 03:12:59,060 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:12:59,060 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1885429669] [2022-07-22 03:12:59,060 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:12:59,060 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:12:59,082 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:12:59,083 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2021378213] [2022-07-22 03:12:59,083 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2022-07-22 03:12:59,083 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:12:59,083 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:12:59,091 INFO L229 MonitoredProcess]: Starting monitored process 128 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:12:59,110 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (128)] Waiting until timeout for monitored process [2022-07-22 03:12:59,958 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:12:59,959 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:13:00,416 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:13:00,472 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:13:00,472 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:13:00,472 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 31 times [2022-07-22 03:13:00,472 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:13:00,473 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2087733606] [2022-07-22 03:13:00,473 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:13:00,473 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:13:00,478 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:13:00,478 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:13:00,479 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:13:00,482 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:13:00,482 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:13:00,482 INFO L85 PathProgramCache]: Analyzing trace with hash -1476946134, now seen corresponding path program 44 times [2022-07-22 03:13:00,483 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:13:00,483 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1808155366] [2022-07-22 03:13:00,483 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:13:00,483 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:13:00,527 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:13:00,527 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1152490260] [2022-07-22 03:13:00,527 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-07-22 03:13:00,527 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:13:00,528 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:13:00,533 INFO L229 MonitoredProcess]: Starting monitored process 129 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:13:00,534 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (129)] Waiting until timeout for monitored process [2022-07-22 03:13:00,748 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-07-22 03:13:00,748 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 03:13:00,752 INFO L263 TraceCheckSpWp]: Trace formula consists of 602 conjuncts, 42 conjunts are in the unsatisfiable core [2022-07-22 03:13:00,754 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:13:01,451 INFO L134 CoverageAnalysis]: Checked inductivity of 1425 backedges. 532 proven. 361 refuted. 0 times theorem prover too weak. 532 trivial. 0 not checked. [2022-07-22 03:13:01,452 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 03:13:02,985 INFO L134 CoverageAnalysis]: Checked inductivity of 1425 backedges. 532 proven. 361 refuted. 0 times theorem prover too weak. 532 trivial. 0 not checked. [2022-07-22 03:13:02,985 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 03:13:02,985 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1808155366] [2022-07-22 03:13:02,986 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 03:13:02,986 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1152490260] [2022-07-22 03:13:02,986 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1152490260] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 03:13:02,986 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 03:13:02,986 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [42, 42] total 62 [2022-07-22 03:13:02,986 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1667650575] [2022-07-22 03:13:02,986 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 03:13:03,069 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 03:13:03,070 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 63 interpolants. [2022-07-22 03:13:03,071 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=923, Invalid=2983, Unknown=0, NotChecked=0, Total=3906 [2022-07-22 03:13:03,071 INFO L87 Difference]: Start difference. First operand 203 states and 210 transitions. cyclomatic complexity: 15 Second operand has 63 states, 62 states have (on average 2.693548387096774) internal successors, (167), 63 states have internal predecessors, (167), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:13:05,283 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 03:13:05,284 INFO L93 Difference]: Finished difference Result 395 states and 403 transitions. [2022-07-22 03:13:05,284 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 45 states. [2022-07-22 03:13:05,285 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 395 states and 403 transitions. [2022-07-22 03:13:05,285 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:13:05,286 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 395 states to 206 states and 213 transitions. [2022-07-22 03:13:05,286 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 48 [2022-07-22 03:13:05,286 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 48 [2022-07-22 03:13:05,286 INFO L73 IsDeterministic]: Start isDeterministic. Operand 206 states and 213 transitions. [2022-07-22 03:13:05,286 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 03:13:05,286 INFO L369 hiAutomatonCegarLoop]: Abstraction has 206 states and 213 transitions. [2022-07-22 03:13:05,286 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 206 states and 213 transitions. [2022-07-22 03:13:05,287 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 206 to 205. [2022-07-22 03:13:05,288 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 205 states, 205 states have (on average 1.0341463414634147) internal successors, (212), 204 states have internal predecessors, (212), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:13:05,288 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 205 states to 205 states and 212 transitions. [2022-07-22 03:13:05,288 INFO L392 hiAutomatonCegarLoop]: Abstraction has 205 states and 212 transitions. [2022-07-22 03:13:05,288 INFO L374 stractBuchiCegarLoop]: Abstraction has 205 states and 212 transitions. [2022-07-22 03:13:05,288 INFO L287 stractBuchiCegarLoop]: ======== Iteration 44 ============ [2022-07-22 03:13:05,288 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 205 states and 212 transitions. [2022-07-22 03:13:05,289 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:13:05,289 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 03:13:05,289 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 03:13:05,290 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [20, 20, 19, 19, 19, 18, 10, 10, 9, 8, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 03:13:05,290 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-22 03:13:05,290 INFO L752 eck$LassoCheckResult]: Stem: 37949#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);~N~0 := 0; 37950#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem12#1, main_#t~post11#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 37964#L44 assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet2#1, init_nondet_#t~post1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0; 37965#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 37980#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 37981#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 37978#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 37979#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 38147#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 38146#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 38145#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 38144#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 38143#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 38142#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 38141#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 38140#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 38139#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 38138#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 38137#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 38136#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 38135#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 38134#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 38133#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 38132#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 38131#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 38130#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 38129#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 38128#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 38127#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 38126#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 38125#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 38124#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 38123#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 38122#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 38121#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 38120#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 38119#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 38118#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 38117#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 38116#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 38115#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 38114#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 37986#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 37985#L18-3 assume !(init_nondet_~i~0#1 < ~N~0); 37943#L16 assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 37944#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 37976#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 38039#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 38037#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 38035#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 38033#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 38031#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 38029#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 38027#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 38025#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 38023#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 38021#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 38019#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 38017#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 38015#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 38013#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 38011#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 38009#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 38007#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 38005#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 38003#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 38001#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 37999#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 37997#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 37996#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 37994#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 37991#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 37990#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 37988#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 37989#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 37987#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 37951#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 37952#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 37977#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 37953#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 37954#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 38085#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 38083#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 38081#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 38079#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 38077#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 38075#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 38073#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 38071#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 38069#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 38067#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 38065#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 38063#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 38061#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 38059#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 38057#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 38055#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 38053#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 38051#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 38050#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 38044#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 38046#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 38043#L29-3 assume !(rangesum_~i~1#1 < ~N~0); 37962#L29-4 assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296); 37963#L38 main_#t~ret6#1 := rangesum_#res#1;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 37974#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 37945#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 37946#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 37975#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 37947#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 37948#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 37984#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 38088#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 38087#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 38086#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 38084#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 38082#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 38080#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 38078#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 38076#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 38074#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 38072#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 38070#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 38068#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 38066#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 38064#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 38062#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 38060#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 38058#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 38056#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 38054#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 38052#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 38048#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 38049#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 38047#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 38045#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 38042#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 38041#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 38040#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 38038#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 38036#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 38034#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 38032#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 38030#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 38028#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 38026#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 38024#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 38022#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 38020#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 38018#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 38016#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 38014#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 38012#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 38010#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 38008#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 38006#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 38004#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 38002#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 38000#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 37998#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 37993#L30-2 [2022-07-22 03:13:05,290 INFO L754 eck$LassoCheckResult]: Loop: 37993#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 37995#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 37992#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 37993#L30-2 [2022-07-22 03:13:05,290 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:13:05,290 INFO L85 PathProgramCache]: Analyzing trace with hash -163617148, now seen corresponding path program 45 times [2022-07-22 03:13:05,290 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:13:05,291 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1538849791] [2022-07-22 03:13:05,291 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:13:05,291 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:13:05,313 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:13:05,313 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [167583385] [2022-07-22 03:13:05,313 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-07-22 03:13:05,313 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:13:05,314 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:13:05,319 INFO L229 MonitoredProcess]: Starting monitored process 130 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:13:05,327 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (130)] Waiting until timeout for monitored process [2022-07-22 03:13:06,609 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 21 check-sat command(s) [2022-07-22 03:13:06,610 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 03:13:06,619 INFO L263 TraceCheckSpWp]: Trace formula consists of 601 conjuncts, 45 conjunts are in the unsatisfiable core [2022-07-22 03:13:06,620 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:13:09,241 INFO L134 CoverageAnalysis]: Checked inductivity of 1409 backedges. 886 proven. 320 refuted. 0 times theorem prover too weak. 203 trivial. 0 not checked. [2022-07-22 03:13:09,242 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 03:13:12,365 INFO L134 CoverageAnalysis]: Checked inductivity of 1409 backedges. 606 proven. 600 refuted. 0 times theorem prover too weak. 203 trivial. 0 not checked. [2022-07-22 03:13:12,366 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 03:13:12,366 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1538849791] [2022-07-22 03:13:12,366 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 03:13:12,366 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [167583385] [2022-07-22 03:13:12,366 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [167583385] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 03:13:12,366 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 03:13:12,366 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [46, 45] total 68 [2022-07-22 03:13:12,366 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [383351868] [2022-07-22 03:13:12,366 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 03:13:12,367 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 03:13:12,367 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:13:12,367 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 32 times [2022-07-22 03:13:12,367 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:13:12,367 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [966305779] [2022-07-22 03:13:12,367 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:13:12,367 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:13:12,371 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:13:12,371 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:13:12,372 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:13:12,375 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:13:12,513 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 03:13:12,513 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 68 interpolants. [2022-07-22 03:13:12,514 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1029, Invalid=3527, Unknown=0, NotChecked=0, Total=4556 [2022-07-22 03:13:12,515 INFO L87 Difference]: Start difference. First operand 205 states and 212 transitions. cyclomatic complexity: 15 Second operand has 68 states, 68 states have (on average 2.6323529411764706) internal successors, (179), 68 states have internal predecessors, (179), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:13:17,247 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 03:13:17,248 INFO L93 Difference]: Finished difference Result 399 states and 412 transitions. [2022-07-22 03:13:17,248 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 65 states. [2022-07-22 03:13:17,249 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 399 states and 412 transitions. [2022-07-22 03:13:17,250 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 12 [2022-07-22 03:13:17,251 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 399 states to 392 states and 405 transitions. [2022-07-22 03:13:17,251 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 147 [2022-07-22 03:13:17,251 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 147 [2022-07-22 03:13:17,251 INFO L73 IsDeterministic]: Start isDeterministic. Operand 392 states and 405 transitions. [2022-07-22 03:13:17,251 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 03:13:17,251 INFO L369 hiAutomatonCegarLoop]: Abstraction has 392 states and 405 transitions. [2022-07-22 03:13:17,252 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 392 states and 405 transitions. [2022-07-22 03:13:17,253 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 392 to 214. [2022-07-22 03:13:17,254 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 214 states, 214 states have (on average 1.0327102803738317) internal successors, (221), 213 states have internal predecessors, (221), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:13:17,254 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 214 states to 214 states and 221 transitions. [2022-07-22 03:13:17,254 INFO L392 hiAutomatonCegarLoop]: Abstraction has 214 states and 221 transitions. [2022-07-22 03:13:17,254 INFO L374 stractBuchiCegarLoop]: Abstraction has 214 states and 221 transitions. [2022-07-22 03:13:17,254 INFO L287 stractBuchiCegarLoop]: ======== Iteration 45 ============ [2022-07-22 03:13:17,254 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 214 states and 221 transitions. [2022-07-22 03:13:17,255 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:13:17,255 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 03:13:17,255 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 03:13:17,256 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [20, 20, 20, 20, 20, 19, 11, 11, 9, 8, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 03:13:17,256 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-22 03:13:17,256 INFO L752 eck$LassoCheckResult]: Stem: 39664#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);~N~0 := 0; 39665#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem12#1, main_#t~post11#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 39679#L44 assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet2#1, init_nondet_#t~post1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0; 39680#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 39693#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 39694#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 39695#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 39741#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 39740#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 39739#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 39738#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 39737#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 39736#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 39735#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 39734#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 39733#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 39732#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 39731#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 39730#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 39729#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 39728#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 39727#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 39726#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 39725#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 39724#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 39723#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 39722#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 39721#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 39720#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 39719#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 39718#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 39717#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 39716#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 39715#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 39714#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 39713#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 39712#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 39711#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 39710#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 39709#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 39708#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 39706#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 39703#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 39702#L18-3 assume !(init_nondet_~i~0#1 < ~N~0); 39658#L16 assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 39659#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 39690#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 39776#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 39775#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 39774#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 39773#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 39772#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 39771#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 39770#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 39769#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 39768#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 39767#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 39766#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 39765#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 39764#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 39763#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 39762#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 39761#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 39760#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 39759#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 39758#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 39757#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 39756#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 39755#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 39754#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 39753#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 39752#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 39751#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 39750#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 39749#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 39748#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 39705#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 39707#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 39704#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 39666#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 39667#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 39795#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 39668#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 39669#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 39691#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 39692#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 39794#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 39793#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 39792#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 39791#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 39790#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 39789#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 39788#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 39787#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 39786#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 39785#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 39784#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 39783#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 39782#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 39781#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 39780#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 39779#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 39778#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 39744#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 39745#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 39743#L29-3 assume !(rangesum_~i~1#1 < ~N~0); 39674#L29-4 assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296); 39675#L38 main_#t~ret6#1 := rangesum_#res#1;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 39697#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 39820#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 39698#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 39699#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 39846#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 39700#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 39689#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 39662#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 39663#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 39845#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 39844#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 39843#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 39842#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 39841#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 39840#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 39839#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 39838#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 39837#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 39836#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 39835#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 39834#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 39833#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 39832#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 39831#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 39830#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 39828#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 39825#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 39824#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 39823#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 39822#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 39819#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 39821#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 39818#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 39688#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 39660#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 39661#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 39817#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 39816#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 39815#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 39814#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 39813#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 39812#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 39811#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 39810#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 39809#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 39808#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 39807#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 39806#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 39805#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 39804#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 39803#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 39802#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 39801#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 39800#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 39799#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 39798#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 39797#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 39796#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 39747#L30-2 [2022-07-22 03:13:17,256 INFO L754 eck$LassoCheckResult]: Loop: 39747#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 39777#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 39746#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 39747#L30-2 [2022-07-22 03:13:17,256 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:13:17,256 INFO L85 PathProgramCache]: Analyzing trace with hash -171433145, now seen corresponding path program 46 times [2022-07-22 03:13:17,256 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:13:17,256 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [842475196] [2022-07-22 03:13:17,256 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:13:17,257 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:13:17,279 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:13:17,279 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [401553374] [2022-07-22 03:13:17,279 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-07-22 03:13:17,280 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:13:17,280 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:13:17,285 INFO L229 MonitoredProcess]: Starting monitored process 131 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:13:17,286 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (131)] Waiting until timeout for monitored process [2022-07-22 03:13:17,851 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-07-22 03:13:17,851 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-07-22 03:13:17,851 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:13:18,975 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:13:19,028 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:13:19,028 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:13:19,029 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 33 times [2022-07-22 03:13:19,029 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:13:19,029 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [146006976] [2022-07-22 03:13:19,029 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:13:19,029 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:13:19,033 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:13:19,033 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:13:19,034 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:13:19,036 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:13:19,037 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:13:19,037 INFO L85 PathProgramCache]: Analyzing trace with hash -448653015, now seen corresponding path program 47 times [2022-07-22 03:13:19,037 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:13:19,037 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2061874481] [2022-07-22 03:13:19,037 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:13:19,037 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:13:19,106 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:13:19,106 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [680398566] [2022-07-22 03:13:19,106 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-07-22 03:13:19,106 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:13:19,107 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:13:19,129 INFO L229 MonitoredProcess]: Starting monitored process 132 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:13:19,187 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (132)] Waiting until timeout for monitored process [2022-07-22 03:13:19,838 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 21 check-sat command(s) [2022-07-22 03:13:19,839 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 03:13:19,845 INFO L263 TraceCheckSpWp]: Trace formula consists of 621 conjuncts, 23 conjunts are in the unsatisfiable core [2022-07-22 03:13:19,847 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:13:23,860 INFO L134 CoverageAnalysis]: Checked inductivity of 1580 backedges. 712 proven. 126 refuted. 0 times theorem prover too weak. 742 trivial. 0 not checked. [2022-07-22 03:13:23,860 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 03:13:28,115 INFO L134 CoverageAnalysis]: Checked inductivity of 1580 backedges. 409 proven. 429 refuted. 0 times theorem prover too weak. 742 trivial. 0 not checked. [2022-07-22 03:13:28,115 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 03:13:28,115 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2061874481] [2022-07-22 03:13:28,115 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 03:13:28,115 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [680398566] [2022-07-22 03:13:28,115 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [680398566] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 03:13:28,115 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 03:13:28,116 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 23] total 44 [2022-07-22 03:13:28,116 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [977125212] [2022-07-22 03:13:28,116 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 03:13:28,176 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 03:13:28,176 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 45 interpolants. [2022-07-22 03:13:28,177 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=539, Invalid=1441, Unknown=0, NotChecked=0, Total=1980 [2022-07-22 03:13:28,177 INFO L87 Difference]: Start difference. First operand 214 states and 221 transitions. cyclomatic complexity: 15 Second operand has 45 states, 44 states have (on average 2.9318181818181817) internal successors, (129), 45 states have internal predecessors, (129), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:13:31,498 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 03:13:31,499 INFO L93 Difference]: Finished difference Result 393 states and 405 transitions. [2022-07-22 03:13:31,499 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 31 states. [2022-07-22 03:13:31,500 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 393 states and 405 transitions. [2022-07-22 03:13:31,500 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:13:31,501 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 393 states to 253 states and 260 transitions. [2022-07-22 03:13:31,501 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 82 [2022-07-22 03:13:31,501 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 82 [2022-07-22 03:13:31,501 INFO L73 IsDeterministic]: Start isDeterministic. Operand 253 states and 260 transitions. [2022-07-22 03:13:31,501 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 03:13:31,501 INFO L369 hiAutomatonCegarLoop]: Abstraction has 253 states and 260 transitions. [2022-07-22 03:13:31,501 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 253 states and 260 transitions. [2022-07-22 03:13:31,503 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 253 to 220. [2022-07-22 03:13:31,503 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 220 states, 220 states have (on average 1.0318181818181817) internal successors, (227), 219 states have internal predecessors, (227), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:13:31,503 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 220 states to 220 states and 227 transitions. [2022-07-22 03:13:31,503 INFO L392 hiAutomatonCegarLoop]: Abstraction has 220 states and 227 transitions. [2022-07-22 03:13:31,503 INFO L374 stractBuchiCegarLoop]: Abstraction has 220 states and 227 transitions. [2022-07-22 03:13:31,503 INFO L287 stractBuchiCegarLoop]: ======== Iteration 46 ============ [2022-07-22 03:13:31,503 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 220 states and 227 transitions. [2022-07-22 03:13:31,504 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:13:31,504 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 03:13:31,504 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 03:13:31,504 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [21, 21, 21, 20, 20, 20, 11, 11, 10, 9, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 03:13:31,504 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-22 03:13:31,505 INFO L752 eck$LassoCheckResult]: Stem: 41365#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);~N~0 := 0; 41366#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem12#1, main_#t~post11#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 41372#L44 assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet2#1, init_nondet_#t~post1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0; 41373#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 41388#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 41389#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 41386#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 41387#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 41464#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 41463#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 41462#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 41460#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 41458#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 41456#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 41454#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 41452#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 41450#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 41448#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 41446#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 41444#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 41442#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 41440#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 41438#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 41436#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 41434#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 41432#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 41430#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 41428#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 41426#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 41424#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 41422#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 41420#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 41418#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 41416#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 41414#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 41412#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 41410#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 41408#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 41406#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 41404#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 41403#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 41401#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 41395#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 41394#L18-3 assume !(init_nondet_~i~0#1 < ~N~0); 41351#L16 assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 41352#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 41383#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 41461#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 41459#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 41457#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 41455#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 41453#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 41451#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 41449#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 41447#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 41445#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 41443#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 41441#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 41439#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 41437#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 41435#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 41433#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 41431#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 41429#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 41427#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 41425#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 41423#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 41421#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 41419#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 41417#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 41415#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 41413#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 41411#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 41409#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 41407#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 41405#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 41397#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 41402#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 41396#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 41357#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 41358#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 41490#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 41359#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 41360#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 41384#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 41385#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 41488#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 41487#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 41486#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 41485#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 41484#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 41483#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 41482#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 41481#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 41480#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 41479#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 41478#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 41477#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 41476#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 41475#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 41474#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 41473#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 41472#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 41471#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 41470#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 41469#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 41399#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 41400#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 41398#L29-3 assume !(rangesum_~i~1#1 < ~N~0); 41367#L29-4 assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296); 41368#L38 main_#t~ret6#1 := rangesum_#res#1;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 41381#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 41353#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 41354#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 41391#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 41542#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 41392#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 41382#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 41355#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 41356#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 41541#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 41540#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 41539#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 41538#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 41537#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 41536#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 41535#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 41534#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 41533#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 41532#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 41531#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 41530#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 41529#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 41528#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 41527#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 41526#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 41525#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 41524#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 41523#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 41522#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 41521#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 41518#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 41520#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 41516#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 41517#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 41519#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 41515#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 41514#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 41513#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 41512#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 41511#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 41510#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 41509#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 41508#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 41507#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 41506#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 41505#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 41504#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 41503#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 41502#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 41501#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 41500#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 41499#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 41498#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 41497#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 41496#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 41495#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 41494#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 41493#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 41492#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 41491#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 41489#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 41466#L30-2 [2022-07-22 03:13:31,505 INFO L754 eck$LassoCheckResult]: Loop: 41466#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 41468#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 41465#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 41466#L30-2 [2022-07-22 03:13:31,505 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:13:31,506 INFO L85 PathProgramCache]: Analyzing trace with hash 1611223648, now seen corresponding path program 48 times [2022-07-22 03:13:31,506 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:13:31,506 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1363560306] [2022-07-22 03:13:31,506 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:13:31,506 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:13:31,526 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:13:31,527 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1326790442] [2022-07-22 03:13:31,527 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-07-22 03:13:31,527 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:13:31,527 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:13:31,535 INFO L229 MonitoredProcess]: Starting monitored process 133 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:13:31,540 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (133)] Waiting until timeout for monitored process [2022-07-22 03:13:32,967 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 22 check-sat command(s) [2022-07-22 03:13:32,968 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 03:13:32,977 INFO L263 TraceCheckSpWp]: Trace formula consists of 633 conjuncts, 45 conjunts are in the unsatisfiable core [2022-07-22 03:13:32,979 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:13:34,827 INFO L134 CoverageAnalysis]: Checked inductivity of 1641 backedges. 558 proven. 741 refuted. 0 times theorem prover too weak. 342 trivial. 0 not checked. [2022-07-22 03:13:34,827 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 03:13:38,848 INFO L134 CoverageAnalysis]: Checked inductivity of 1641 backedges. 596 proven. 703 refuted. 0 times theorem prover too weak. 342 trivial. 0 not checked. [2022-07-22 03:13:38,848 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 03:13:38,848 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1363560306] [2022-07-22 03:13:38,849 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 03:13:38,849 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1326790442] [2022-07-22 03:13:38,849 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1326790442] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 03:13:38,849 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 03:13:38,849 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [45, 44] total 66 [2022-07-22 03:13:38,849 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [671387824] [2022-07-22 03:13:38,849 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 03:13:38,849 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 03:13:38,849 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:13:38,849 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 34 times [2022-07-22 03:13:38,850 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:13:38,850 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [264301294] [2022-07-22 03:13:38,850 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:13:38,850 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:13:38,854 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:13:38,854 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:13:38,855 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:13:38,858 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:13:38,993 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 03:13:38,993 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 67 interpolants. [2022-07-22 03:13:38,994 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1101, Invalid=3321, Unknown=0, NotChecked=0, Total=4422 [2022-07-22 03:13:38,994 INFO L87 Difference]: Start difference. First operand 220 states and 227 transitions. cyclomatic complexity: 15 Second operand has 67 states, 66 states have (on average 2.757575757575758) internal successors, (182), 67 states have internal predecessors, (182), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:13:40,789 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 03:13:40,789 INFO L93 Difference]: Finished difference Result 287 states and 294 transitions. [2022-07-22 03:13:40,792 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 49 states. [2022-07-22 03:13:40,793 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 287 states and 294 transitions. [2022-07-22 03:13:40,793 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:13:40,794 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 287 states to 224 states and 231 transitions. [2022-07-22 03:13:40,794 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 52 [2022-07-22 03:13:40,794 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 52 [2022-07-22 03:13:40,794 INFO L73 IsDeterministic]: Start isDeterministic. Operand 224 states and 231 transitions. [2022-07-22 03:13:40,794 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 03:13:40,794 INFO L369 hiAutomatonCegarLoop]: Abstraction has 224 states and 231 transitions. [2022-07-22 03:13:40,794 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 224 states and 231 transitions. [2022-07-22 03:13:40,795 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 224 to 222. [2022-07-22 03:13:40,796 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 222 states, 222 states have (on average 1.0315315315315314) internal successors, (229), 221 states have internal predecessors, (229), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:13:40,796 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 222 states to 222 states and 229 transitions. [2022-07-22 03:13:40,796 INFO L392 hiAutomatonCegarLoop]: Abstraction has 222 states and 229 transitions. [2022-07-22 03:13:40,796 INFO L374 stractBuchiCegarLoop]: Abstraction has 222 states and 229 transitions. [2022-07-22 03:13:40,796 INFO L287 stractBuchiCegarLoop]: ======== Iteration 47 ============ [2022-07-22 03:13:40,796 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 222 states and 229 transitions. [2022-07-22 03:13:40,797 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:13:40,797 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 03:13:40,797 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 03:13:40,797 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [21, 21, 21, 21, 21, 20, 11, 11, 10, 9, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 03:13:40,797 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-22 03:13:40,797 INFO L752 eck$LassoCheckResult]: Stem: 43006#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);~N~0 := 0; 43007#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem12#1, main_#t~post11#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 43021#L44 assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet2#1, init_nondet_#t~post1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0; 43022#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 43034#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 43035#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 43036#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 43192#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 43191#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 43190#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 43189#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 43188#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 43187#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 43186#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 43185#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 43184#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 43183#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 43182#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 43181#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 43180#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 43179#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 43178#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 43177#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 43176#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 43175#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 43174#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 43173#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 43172#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 43171#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 43170#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 43169#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 43168#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 43167#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 43166#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 43165#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 43164#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 43163#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 43162#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 43161#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 43160#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 43159#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 43158#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 43157#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 43156#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 43042#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 43041#L18-3 assume !(init_nondet_~i~0#1 < ~N~0); 43000#L16 assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 43001#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 43032#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 43107#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 43105#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 43103#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 43101#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 43099#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 43097#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 43095#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 43093#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 43091#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 43089#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 43087#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 43085#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 43083#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 43081#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 43079#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 43077#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 43075#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 43073#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 43071#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 43069#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 43067#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 43065#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 43063#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 43061#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 43059#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 43057#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 43056#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 43054#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 43051#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 43049#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 43050#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 43048#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 43008#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 43009#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 43033#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 43010#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 43011#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 43153#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 43151#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 43149#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 43147#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 43145#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 43143#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 43141#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 43139#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 43137#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 43135#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 43133#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 43131#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 43129#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 43127#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 43125#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 43123#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 43121#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 43119#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 43117#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 43115#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 43047#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 43046#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 43044#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 43045#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 43043#L29-3 assume !(rangesum_~i~1#1 < ~N~0); 43016#L29-4 assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296); 43017#L38 main_#t~ret6#1 := rangesum_#res#1;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 43030#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 43002#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 43003#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 43038#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 43155#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 43039#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 43031#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 43004#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 43005#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 43154#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 43152#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 43150#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 43148#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 43146#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 43144#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 43142#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 43140#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 43138#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 43136#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 43134#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 43132#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 43130#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 43128#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 43126#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 43124#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 43122#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 43120#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 43118#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 43116#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 43114#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 43112#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 43113#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 43111#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 43110#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 43109#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 43108#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 43106#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 43104#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 43102#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 43100#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 43098#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 43096#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 43094#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 43092#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 43090#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 43088#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 43086#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 43084#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 43082#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 43080#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 43078#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 43076#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 43074#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 43072#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 43070#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 43068#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 43066#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 43064#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 43062#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 43060#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 43058#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 43053#L30-2 [2022-07-22 03:13:40,798 INFO L754 eck$LassoCheckResult]: Loop: 43053#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 43055#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 43052#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 43053#L30-2 [2022-07-22 03:13:40,798 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:13:40,798 INFO L85 PathProgramCache]: Analyzing trace with hash 957759358, now seen corresponding path program 49 times [2022-07-22 03:13:40,798 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:13:40,798 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1697931009] [2022-07-22 03:13:40,798 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:13:40,798 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:13:40,831 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:13:40,831 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [85962176] [2022-07-22 03:13:40,832 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2022-07-22 03:13:40,832 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:13:40,832 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:13:40,834 INFO L229 MonitoredProcess]: Starting monitored process 134 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:13:40,858 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (134)] Waiting until timeout for monitored process [2022-07-22 03:13:41,813 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:13:41,813 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:13:42,910 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:13:42,961 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:13:42,961 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:13:42,961 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 35 times [2022-07-22 03:13:42,962 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:13:42,962 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [429203921] [2022-07-22 03:13:42,962 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:13:42,962 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:13:42,967 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:13:42,967 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:13:42,968 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:13:42,971 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:13:42,971 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:13:42,971 INFO L85 PathProgramCache]: Analyzing trace with hash 1141341586, now seen corresponding path program 50 times [2022-07-22 03:13:42,971 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:13:42,972 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [625225651] [2022-07-22 03:13:42,972 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:13:42,972 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:13:42,989 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:13:42,990 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1360004663] [2022-07-22 03:13:42,990 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-07-22 03:13:42,990 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:13:42,990 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:13:42,992 INFO L229 MonitoredProcess]: Starting monitored process 135 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:13:42,992 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (135)] Waiting until timeout for monitored process [2022-07-22 03:13:43,223 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-07-22 03:13:43,223 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 03:13:43,227 INFO L263 TraceCheckSpWp]: Trace formula consists of 656 conjuncts, 46 conjunts are in the unsatisfiable core [2022-07-22 03:13:43,229 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:13:44,048 INFO L134 CoverageAnalysis]: Checked inductivity of 1743 backedges. 651 proven. 441 refuted. 0 times theorem prover too weak. 651 trivial. 0 not checked. [2022-07-22 03:13:44,048 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 03:13:46,110 INFO L134 CoverageAnalysis]: Checked inductivity of 1743 backedges. 651 proven. 441 refuted. 0 times theorem prover too weak. 651 trivial. 0 not checked. [2022-07-22 03:13:46,111 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 03:13:46,111 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [625225651] [2022-07-22 03:13:46,111 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 03:13:46,111 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1360004663] [2022-07-22 03:13:46,111 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1360004663] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 03:13:46,111 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 03:13:46,111 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [46, 46] total 68 [2022-07-22 03:13:46,112 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1633817363] [2022-07-22 03:13:46,112 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 03:13:46,230 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 03:13:46,231 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 69 interpolants. [2022-07-22 03:13:46,231 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1103, Invalid=3589, Unknown=0, NotChecked=0, Total=4692 [2022-07-22 03:13:46,231 INFO L87 Difference]: Start difference. First operand 222 states and 229 transitions. cyclomatic complexity: 15 Second operand has 69 states, 68 states have (on average 2.6911764705882355) internal successors, (183), 69 states have internal predecessors, (183), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:13:48,725 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 03:13:48,725 INFO L93 Difference]: Finished difference Result 432 states and 440 transitions. [2022-07-22 03:13:48,726 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 49 states. [2022-07-22 03:13:48,726 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 432 states and 440 transitions. [2022-07-22 03:13:48,727 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:13:48,728 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 432 states to 225 states and 232 transitions. [2022-07-22 03:13:48,728 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 51 [2022-07-22 03:13:48,728 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 51 [2022-07-22 03:13:48,728 INFO L73 IsDeterministic]: Start isDeterministic. Operand 225 states and 232 transitions. [2022-07-22 03:13:48,728 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 03:13:48,728 INFO L369 hiAutomatonCegarLoop]: Abstraction has 225 states and 232 transitions. [2022-07-22 03:13:48,728 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 225 states and 232 transitions. [2022-07-22 03:13:48,730 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 225 to 224. [2022-07-22 03:13:48,730 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 224 states, 224 states have (on average 1.03125) internal successors, (231), 223 states have internal predecessors, (231), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:13:48,730 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 224 states to 224 states and 231 transitions. [2022-07-22 03:13:48,731 INFO L392 hiAutomatonCegarLoop]: Abstraction has 224 states and 231 transitions. [2022-07-22 03:13:48,731 INFO L374 stractBuchiCegarLoop]: Abstraction has 224 states and 231 transitions. [2022-07-22 03:13:48,731 INFO L287 stractBuchiCegarLoop]: ======== Iteration 48 ============ [2022-07-22 03:13:48,731 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 224 states and 231 transitions. [2022-07-22 03:13:48,731 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:13:48,731 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 03:13:48,731 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 03:13:48,732 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [22, 22, 21, 21, 21, 20, 11, 11, 10, 9, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 03:13:48,732 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-22 03:13:48,732 INFO L752 eck$LassoCheckResult]: Stem: 44844#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);~N~0 := 0; 44845#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem12#1, main_#t~post11#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 44851#L44 assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet2#1, init_nondet_#t~post1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0; 44852#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 44866#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 44867#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 44864#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 44865#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 45053#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 45052#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 45051#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 45050#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 45049#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 45048#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 45047#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 45046#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 45045#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 45044#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 45043#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 45042#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 45041#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 45040#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 45039#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 45038#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 45037#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 45036#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 45035#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 45034#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 45033#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 45032#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 45031#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 45030#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 45029#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 45028#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 45027#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 45026#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 45025#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 45024#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 45023#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 45022#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 45021#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 45020#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 45019#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 45018#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 45017#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 45016#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 44875#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 44874#L18-3 assume !(init_nondet_~i~0#1 < ~N~0); 44830#L16 assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 44831#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 44838#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 44839#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 44862#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 44863#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 44932#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 44931#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 44929#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 44927#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 44925#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 44923#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 44921#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 44919#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 44917#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 44915#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 44913#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 44911#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 44909#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 44907#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 44905#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 44903#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 44901#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 44899#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 44897#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 44895#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 44893#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 44891#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 44889#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 44887#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 44885#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 44883#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 44877#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 44881#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 44876#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 44836#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 44837#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 44930#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 44928#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 44926#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 44924#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 44922#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 44920#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 44918#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 44916#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 44914#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 44912#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 44910#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 44908#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 44906#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 44904#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 44902#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 44900#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 44898#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 44896#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 44894#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 44892#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 44890#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 44888#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 44886#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 44884#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 44882#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 44879#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 44880#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 44878#L29-3 assume !(rangesum_~i~1#1 < ~N~0); 44846#L29-4 assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296); 44847#L38 main_#t~ret6#1 := rangesum_#res#1;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 44869#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 44987#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 44870#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 44860#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 44861#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 44871#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 44872#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 44834#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 44835#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 45015#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 45014#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 45013#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 45012#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 45011#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 45010#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 45009#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 45008#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 45007#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 45006#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 45005#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 45004#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 45003#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 45002#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 45001#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 45000#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 44999#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 44998#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 44997#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 44996#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 44995#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 44991#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 44993#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 44990#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 44859#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 44832#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 44833#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 44984#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 44982#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 44980#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 44978#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 44976#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 44974#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 44972#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 44970#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 44968#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 44966#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 44964#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 44962#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 44960#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 44958#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 44956#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 44954#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 44952#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 44950#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 44948#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 44946#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 44944#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 44943#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 44942#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 44941#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 44939#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 44937#L30-2 [2022-07-22 03:13:48,733 INFO L754 eck$LassoCheckResult]: Loop: 44937#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 44938#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 44936#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 44937#L30-2 [2022-07-22 03:13:48,733 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:13:48,733 INFO L85 PathProgramCache]: Analyzing trace with hash 43801884, now seen corresponding path program 51 times [2022-07-22 03:13:48,733 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:13:48,733 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [231910118] [2022-07-22 03:13:48,733 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:13:48,740 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:13:48,760 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:13:48,760 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2147474333] [2022-07-22 03:13:48,760 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-07-22 03:13:48,760 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:13:48,761 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:13:48,767 INFO L229 MonitoredProcess]: Starting monitored process 136 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:13:48,788 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (136)] Waiting until timeout for monitored process [2022-07-22 03:13:49,918 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 23 check-sat command(s) [2022-07-22 03:13:49,918 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 03:13:49,928 INFO L263 TraceCheckSpWp]: Trace formula consists of 655 conjuncts, 57 conjunts are in the unsatisfiable core [2022-07-22 03:13:49,930 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:13:53,016 INFO L134 CoverageAnalysis]: Checked inductivity of 1725 backedges. 1085 proven. 385 refuted. 0 times theorem prover too weak. 255 trivial. 0 not checked. [2022-07-22 03:13:53,017 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 03:13:57,172 INFO L134 CoverageAnalysis]: Checked inductivity of 1725 backedges. 744 proven. 726 refuted. 0 times theorem prover too weak. 255 trivial. 0 not checked. [2022-07-22 03:13:57,172 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 03:13:57,172 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [231910118] [2022-07-22 03:13:57,172 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 03:13:57,172 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2147474333] [2022-07-22 03:13:57,173 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2147474333] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 03:13:57,173 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 03:13:57,173 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [50, 49] total 74 [2022-07-22 03:13:57,173 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2034743265] [2022-07-22 03:13:57,173 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 03:13:57,173 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 03:13:57,174 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:13:57,174 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 36 times [2022-07-22 03:13:57,174 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:13:57,174 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [593727137] [2022-07-22 03:13:57,174 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:13:57,174 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:13:57,178 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:13:57,178 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:13:57,179 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:13:57,182 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:13:57,282 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 03:13:57,283 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 74 interpolants. [2022-07-22 03:13:57,283 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1212, Invalid=4190, Unknown=0, NotChecked=0, Total=5402 [2022-07-22 03:13:57,283 INFO L87 Difference]: Start difference. First operand 224 states and 231 transitions. cyclomatic complexity: 15 Second operand has 74 states, 74 states have (on average 2.635135135135135) internal successors, (195), 74 states have internal predecessors, (195), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:14:03,052 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 03:14:03,052 INFO L93 Difference]: Finished difference Result 433 states and 446 transitions. [2022-07-22 03:14:03,054 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 71 states. [2022-07-22 03:14:03,055 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 433 states and 446 transitions. [2022-07-22 03:14:03,056 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 12 [2022-07-22 03:14:03,057 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 433 states to 426 states and 439 transitions. [2022-07-22 03:14:03,057 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 159 [2022-07-22 03:14:03,057 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 159 [2022-07-22 03:14:03,057 INFO L73 IsDeterministic]: Start isDeterministic. Operand 426 states and 439 transitions. [2022-07-22 03:14:03,058 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 03:14:03,058 INFO L369 hiAutomatonCegarLoop]: Abstraction has 426 states and 439 transitions. [2022-07-22 03:14:03,058 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 426 states and 439 transitions. [2022-07-22 03:14:03,060 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 426 to 233. [2022-07-22 03:14:03,060 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 233 states, 233 states have (on average 1.0300429184549356) internal successors, (240), 232 states have internal predecessors, (240), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:14:03,061 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 233 states to 233 states and 240 transitions. [2022-07-22 03:14:03,061 INFO L392 hiAutomatonCegarLoop]: Abstraction has 233 states and 240 transitions. [2022-07-22 03:14:03,061 INFO L374 stractBuchiCegarLoop]: Abstraction has 233 states and 240 transitions. [2022-07-22 03:14:03,061 INFO L287 stractBuchiCegarLoop]: ======== Iteration 49 ============ [2022-07-22 03:14:03,061 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 233 states and 240 transitions. [2022-07-22 03:14:03,062 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:14:03,062 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 03:14:03,062 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 03:14:03,063 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [22, 22, 22, 22, 22, 21, 12, 12, 10, 9, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 03:14:03,063 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-22 03:14:03,063 INFO L752 eck$LassoCheckResult]: Stem: 46714#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);~N~0 := 0; 46715#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem12#1, main_#t~post11#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 46729#L44 assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet2#1, init_nondet_#t~post1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0; 46730#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 46743#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 46744#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 46745#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 46795#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 46794#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 46793#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 46792#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 46791#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 46790#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 46789#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 46788#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 46787#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 46786#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 46785#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 46784#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 46783#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 46782#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 46781#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 46780#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 46779#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 46778#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 46777#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 46776#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 46775#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 46774#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 46773#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 46772#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 46771#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 46770#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 46769#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 46768#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 46767#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 46766#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 46765#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 46764#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 46763#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 46762#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 46761#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 46760#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 46759#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 46758#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 46756#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 46753#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 46752#L18-3 assume !(init_nondet_~i~0#1 < ~N~0); 46708#L16 assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 46709#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 46740#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 46833#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 46832#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 46831#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 46830#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 46829#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 46828#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 46827#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 46826#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 46825#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 46824#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 46823#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 46822#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 46821#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 46820#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 46819#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 46818#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 46817#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 46816#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 46815#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 46814#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 46813#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 46812#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 46811#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 46810#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 46809#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 46808#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 46807#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 46806#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 46805#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 46804#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 46803#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 46802#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 46755#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 46757#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 46754#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 46716#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 46717#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 46855#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 46718#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 46719#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 46741#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 46742#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 46854#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 46853#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 46852#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 46851#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 46850#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 46849#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 46848#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 46847#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 46846#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 46845#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 46844#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 46843#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 46842#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 46841#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 46840#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 46839#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 46838#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 46837#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 46836#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 46835#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 46798#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 46799#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 46797#L29-3 assume !(rangesum_~i~1#1 < ~N~0); 46724#L29-4 assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296); 46725#L38 main_#t~ret6#1 := rangesum_#res#1;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 46747#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 46883#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 46748#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 46749#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 46912#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 46750#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 46739#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 46712#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 46713#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 46911#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 46910#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 46909#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 46908#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 46907#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 46906#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 46905#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 46904#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 46903#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 46902#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 46901#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 46900#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 46899#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 46898#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 46897#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 46896#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 46895#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 46894#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 46893#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 46891#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 46888#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 46887#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 46886#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 46885#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 46882#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 46884#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 46881#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 46738#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 46710#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 46711#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 46880#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 46879#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 46878#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 46877#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 46876#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 46875#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 46874#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 46873#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 46872#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 46871#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 46870#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 46869#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 46868#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 46867#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 46866#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 46865#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 46864#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 46863#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 46862#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 46861#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 46860#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 46859#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 46858#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 46857#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 46856#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 46801#L30-2 [2022-07-22 03:14:03,064 INFO L754 eck$LassoCheckResult]: Loop: 46801#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 46834#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 46800#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 46801#L30-2 [2022-07-22 03:14:03,064 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:14:03,064 INFO L85 PathProgramCache]: Analyzing trace with hash -981602333, now seen corresponding path program 52 times [2022-07-22 03:14:03,064 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:14:03,065 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1192044279] [2022-07-22 03:14:03,065 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:14:03,065 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:14:03,086 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:14:03,086 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [154172670] [2022-07-22 03:14:03,086 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-07-22 03:14:03,086 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:14:03,087 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:14:03,093 INFO L229 MonitoredProcess]: Starting monitored process 137 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:14:03,094 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (137)] Waiting until timeout for monitored process [2022-07-22 03:14:03,857 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-07-22 03:14:03,858 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-07-22 03:14:03,858 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:14:04,307 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:14:04,356 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:14:04,357 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:14:04,357 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 37 times [2022-07-22 03:14:04,357 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:14:04,357 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1636792850] [2022-07-22 03:14:04,357 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:14:04,357 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:14:04,361 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:14:04,361 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:14:04,362 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:14:04,364 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:14:04,364 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:14:04,364 INFO L85 PathProgramCache]: Analyzing trace with hash 1517270797, now seen corresponding path program 53 times [2022-07-22 03:14:04,364 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:14:04,364 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1687454352] [2022-07-22 03:14:04,364 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:14:04,365 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:14:04,388 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:14:04,388 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1631659473] [2022-07-22 03:14:04,388 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-07-22 03:14:04,391 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:14:04,391 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:14:04,394 INFO L229 MonitoredProcess]: Starting monitored process 138 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:14:04,395 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (138)] Waiting until timeout for monitored process [2022-07-22 03:14:05,108 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 23 check-sat command(s) [2022-07-22 03:14:05,109 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 03:14:05,116 INFO L263 TraceCheckSpWp]: Trace formula consists of 675 conjuncts, 25 conjunts are in the unsatisfiable core [2022-07-22 03:14:05,118 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:14:10,734 INFO L134 CoverageAnalysis]: Checked inductivity of 1914 backedges. 866 proven. 155 refuted. 0 times theorem prover too weak. 893 trivial. 0 not checked. [2022-07-22 03:14:10,735 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 03:14:16,603 INFO L134 CoverageAnalysis]: Checked inductivity of 1914 backedges. 499 proven. 522 refuted. 0 times theorem prover too weak. 893 trivial. 0 not checked. [2022-07-22 03:14:16,603 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 03:14:16,603 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1687454352] [2022-07-22 03:14:16,603 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 03:14:16,603 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1631659473] [2022-07-22 03:14:16,604 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1631659473] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 03:14:16,604 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 03:14:16,604 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [25, 25] total 48 [2022-07-22 03:14:16,604 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [430579968] [2022-07-22 03:14:16,604 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 03:14:16,668 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 03:14:16,669 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 49 interpolants. [2022-07-22 03:14:16,669 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=636, Invalid=1716, Unknown=0, NotChecked=0, Total=2352 [2022-07-22 03:14:16,669 INFO L87 Difference]: Start difference. First operand 233 states and 240 transitions. cyclomatic complexity: 15 Second operand has 49 states, 48 states have (on average 2.9375) internal successors, (141), 49 states have internal predecessors, (141), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:14:20,525 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 03:14:20,526 INFO L93 Difference]: Finished difference Result 427 states and 439 transitions. [2022-07-22 03:14:20,526 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 33 states. [2022-07-22 03:14:20,526 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 427 states and 439 transitions. [2022-07-22 03:14:20,528 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:14:20,528 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 427 states to 275 states and 282 transitions. [2022-07-22 03:14:20,528 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 88 [2022-07-22 03:14:20,529 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 88 [2022-07-22 03:14:20,529 INFO L73 IsDeterministic]: Start isDeterministic. Operand 275 states and 282 transitions. [2022-07-22 03:14:20,529 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 03:14:20,529 INFO L369 hiAutomatonCegarLoop]: Abstraction has 275 states and 282 transitions. [2022-07-22 03:14:20,529 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 275 states and 282 transitions. [2022-07-22 03:14:20,531 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 275 to 239. [2022-07-22 03:14:20,531 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 239 states, 239 states have (on average 1.0292887029288702) internal successors, (246), 238 states have internal predecessors, (246), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:14:20,532 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 239 states to 239 states and 246 transitions. [2022-07-22 03:14:20,532 INFO L392 hiAutomatonCegarLoop]: Abstraction has 239 states and 246 transitions. [2022-07-22 03:14:20,532 INFO L374 stractBuchiCegarLoop]: Abstraction has 239 states and 246 transitions. [2022-07-22 03:14:20,532 INFO L287 stractBuchiCegarLoop]: ======== Iteration 50 ============ [2022-07-22 03:14:20,532 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 239 states and 246 transitions. [2022-07-22 03:14:20,533 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:14:20,533 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 03:14:20,533 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 03:14:20,534 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [23, 23, 23, 22, 22, 22, 12, 12, 11, 10, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 03:14:20,534 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-22 03:14:20,534 INFO L752 eck$LassoCheckResult]: Stem: 48570#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);~N~0 := 0; 48571#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem12#1, main_#t~post11#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 48577#L44 assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet2#1, init_nondet_#t~post1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0; 48578#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 48593#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 48594#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 48591#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 48592#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 48677#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 48676#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 48675#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 48674#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 48672#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 48670#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 48668#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 48666#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 48664#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 48662#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 48660#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 48658#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 48656#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 48654#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 48652#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 48650#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 48648#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 48646#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 48644#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 48642#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 48640#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 48638#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 48636#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 48634#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 48632#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 48630#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 48628#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 48626#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 48624#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 48622#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 48620#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 48618#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 48616#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 48614#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 48612#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 48610#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 48609#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 48607#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 48601#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 48600#L18-3 assume !(init_nondet_~i~0#1 < ~N~0); 48556#L16 assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 48557#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 48588#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 48673#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 48671#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 48669#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 48667#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 48665#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 48663#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 48661#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 48659#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 48657#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 48655#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 48653#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 48651#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 48649#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 48647#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 48645#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 48643#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 48641#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 48639#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 48637#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 48635#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 48633#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 48631#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 48629#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 48627#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 48625#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 48623#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 48621#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 48619#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 48617#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 48615#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 48613#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 48611#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 48603#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 48608#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 48602#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 48562#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 48563#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 48599#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 48564#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 48565#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 48589#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 48590#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 48704#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 48703#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 48702#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 48701#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 48700#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 48699#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 48698#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 48697#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 48696#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 48695#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 48694#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 48693#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 48692#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 48691#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 48690#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 48689#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 48688#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 48687#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 48686#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 48685#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 48684#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 48683#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 48682#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 48605#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 48606#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 48604#L29-3 assume !(rangesum_~i~1#1 < ~N~0); 48572#L29-4 assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296); 48573#L38 main_#t~ret6#1 := rangesum_#res#1;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 48586#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 48558#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 48559#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 48596#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 48763#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 48597#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 48587#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 48560#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 48561#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 48762#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 48761#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 48760#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 48759#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 48758#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 48757#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 48756#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 48755#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 48754#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 48753#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 48752#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 48751#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 48750#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 48749#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 48748#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 48747#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 48746#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 48745#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 48744#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 48743#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 48742#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 48741#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 48740#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 48739#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 48736#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 48738#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 48734#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 48735#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 48737#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 48733#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 48732#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 48731#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 48730#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 48729#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 48728#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 48727#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 48726#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 48725#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 48724#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 48723#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 48722#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 48721#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 48720#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 48719#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 48718#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 48717#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 48716#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 48715#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 48714#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 48713#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 48712#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 48711#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 48710#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 48709#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 48708#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 48707#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 48706#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 48705#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 48679#L30-2 [2022-07-22 03:14:20,535 INFO L754 eck$LassoCheckResult]: Loop: 48679#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 48681#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 48678#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 48679#L30-2 [2022-07-22 03:14:20,535 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:14:20,535 INFO L85 PathProgramCache]: Analyzing trace with hash -1861723520, now seen corresponding path program 54 times [2022-07-22 03:14:20,535 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:14:20,536 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1060211817] [2022-07-22 03:14:20,536 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:14:20,536 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:14:20,560 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:14:20,560 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1928252289] [2022-07-22 03:14:20,560 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-07-22 03:14:20,561 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:14:20,561 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:14:20,567 INFO L229 MonitoredProcess]: Starting monitored process 139 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:14:20,568 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (139)] Waiting until timeout for monitored process [2022-07-22 03:14:21,791 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 24 check-sat command(s) [2022-07-22 03:14:21,791 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 03:14:21,801 INFO L263 TraceCheckSpWp]: Trace formula consists of 687 conjuncts, 48 conjunts are in the unsatisfiable core [2022-07-22 03:14:21,803 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:14:22,670 INFO L134 CoverageAnalysis]: Checked inductivity of 1981 backedges. 715 proven. 484 refuted. 0 times theorem prover too weak. 782 trivial. 0 not checked. [2022-07-22 03:14:22,670 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 03:14:25,207 INFO L134 CoverageAnalysis]: Checked inductivity of 1981 backedges. 715 proven. 484 refuted. 0 times theorem prover too weak. 782 trivial. 0 not checked. [2022-07-22 03:14:25,207 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 03:14:25,207 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1060211817] [2022-07-22 03:14:25,207 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 03:14:25,207 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1928252289] [2022-07-22 03:14:25,208 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1928252289] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 03:14:25,208 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 03:14:25,208 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [48, 48] total 71 [2022-07-22 03:14:25,208 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [880628634] [2022-07-22 03:14:25,208 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 03:14:25,208 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 03:14:25,208 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:14:25,208 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 38 times [2022-07-22 03:14:25,209 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:14:25,209 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [298111947] [2022-07-22 03:14:25,209 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:14:25,209 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:14:25,213 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:14:25,213 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:14:25,214 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:14:25,217 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:14:25,282 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 03:14:25,282 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 72 interpolants. [2022-07-22 03:14:25,283 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1199, Invalid=3913, Unknown=0, NotChecked=0, Total=5112 [2022-07-22 03:14:25,283 INFO L87 Difference]: Start difference. First operand 239 states and 246 transitions. cyclomatic complexity: 15 Second operand has 72 states, 71 states have (on average 2.6901408450704225) internal successors, (191), 72 states have internal predecessors, (191), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:14:27,225 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 03:14:27,225 INFO L93 Difference]: Finished difference Result 311 states and 318 transitions. [2022-07-22 03:14:27,226 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 51 states. [2022-07-22 03:14:27,226 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 311 states and 318 transitions. [2022-07-22 03:14:27,227 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:14:27,228 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 311 states to 242 states and 249 transitions. [2022-07-22 03:14:27,228 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 54 [2022-07-22 03:14:27,228 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 54 [2022-07-22 03:14:27,228 INFO L73 IsDeterministic]: Start isDeterministic. Operand 242 states and 249 transitions. [2022-07-22 03:14:27,228 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 03:14:27,228 INFO L369 hiAutomatonCegarLoop]: Abstraction has 242 states and 249 transitions. [2022-07-22 03:14:27,228 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 242 states and 249 transitions. [2022-07-22 03:14:27,230 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 242 to 241. [2022-07-22 03:14:27,230 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 241 states, 241 states have (on average 1.0290456431535269) internal successors, (248), 240 states have internal predecessors, (248), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:14:27,230 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 241 states to 241 states and 248 transitions. [2022-07-22 03:14:27,230 INFO L392 hiAutomatonCegarLoop]: Abstraction has 241 states and 248 transitions. [2022-07-22 03:14:27,230 INFO L374 stractBuchiCegarLoop]: Abstraction has 241 states and 248 transitions. [2022-07-22 03:14:27,231 INFO L287 stractBuchiCegarLoop]: ======== Iteration 51 ============ [2022-07-22 03:14:27,231 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 241 states and 248 transitions. [2022-07-22 03:14:27,231 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:14:27,231 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 03:14:27,231 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 03:14:27,232 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [23, 23, 23, 23, 23, 22, 12, 12, 11, 10, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 03:14:27,232 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-22 03:14:27,232 INFO L752 eck$LassoCheckResult]: Stem: 50365#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);~N~0 := 0; 50366#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem12#1, main_#t~post11#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 50372#L44 assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet2#1, init_nondet_#t~post1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0; 50373#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 50387#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 50388#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 50385#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 50386#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 50591#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 50590#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 50589#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 50588#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 50587#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 50586#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 50585#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 50584#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 50583#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 50582#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 50581#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 50580#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 50579#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 50578#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 50577#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 50576#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 50575#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 50574#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 50573#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 50572#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 50571#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 50570#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 50569#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 50568#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 50567#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 50566#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 50565#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 50564#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 50563#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 50562#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 50561#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 50560#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 50559#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 50558#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 50557#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 50556#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 50555#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 50554#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 50553#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 50552#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 50396#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 50395#L18-3 assume !(init_nondet_~i~0#1 < ~N~0); 50351#L16 assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 50352#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 50359#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 50360#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 50383#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 50384#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 50459#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 50458#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 50456#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 50454#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 50452#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 50450#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 50448#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 50446#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 50444#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 50442#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 50440#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 50438#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 50436#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 50434#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 50432#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 50430#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 50428#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 50426#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 50424#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 50422#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 50420#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 50418#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 50416#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 50414#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 50412#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 50410#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 50408#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 50406#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 50404#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 50398#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 50402#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 50397#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 50357#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 50358#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 50457#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 50455#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 50453#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 50451#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 50449#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 50447#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 50445#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 50443#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 50441#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 50439#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 50437#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 50435#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 50433#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 50431#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 50429#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 50427#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 50425#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 50423#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 50421#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 50419#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 50417#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 50415#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 50413#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 50411#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 50409#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 50407#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 50405#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 50403#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 50400#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 50401#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 50399#L29-3 assume !(rangesum_~i~1#1 < ~N~0); 50367#L29-4 assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296); 50368#L38 main_#t~ret6#1 := rangesum_#res#1;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 50390#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 50519#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 50391#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 50381#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 50382#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 50392#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 50393#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 50355#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 50356#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 50551#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 50550#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 50549#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 50548#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 50547#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 50546#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 50545#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 50544#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 50543#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 50542#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 50541#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 50540#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 50539#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 50538#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 50537#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 50536#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 50535#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 50534#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 50533#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 50532#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 50531#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 50530#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 50529#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 50528#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 50523#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 50525#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 50522#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 50380#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 50353#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 50354#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 50516#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 50514#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 50512#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 50510#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 50508#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 50506#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 50504#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 50502#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 50500#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 50498#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 50496#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 50494#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 50492#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 50490#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 50488#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 50486#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 50484#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 50482#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 50480#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 50478#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 50476#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 50474#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 50472#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 50471#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 50470#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 50469#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 50468#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 50466#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 50464#L30-2 [2022-07-22 03:14:27,232 INFO L754 eck$LassoCheckResult]: Loop: 50464#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 50465#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 50463#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 50464#L30-2 [2022-07-22 03:14:27,233 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:14:27,233 INFO L85 PathProgramCache]: Analyzing trace with hash -2004661346, now seen corresponding path program 55 times [2022-07-22 03:14:27,233 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:14:27,233 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1242884891] [2022-07-22 03:14:27,233 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:14:27,233 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:14:27,254 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:14:27,254 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [421464815] [2022-07-22 03:14:27,254 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2022-07-22 03:14:27,254 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:14:27,254 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:14:27,256 INFO L229 MonitoredProcess]: Starting monitored process 140 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:14:27,257 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (140)] Waiting until timeout for monitored process [2022-07-22 03:14:28,078 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:14:28,078 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:14:29,235 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:14:29,311 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:14:29,326 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:14:29,326 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 39 times [2022-07-22 03:14:29,326 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:14:29,326 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1651937595] [2022-07-22 03:14:29,326 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:14:29,327 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:14:29,331 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:14:29,331 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:14:29,333 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:14:29,337 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:14:29,338 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:14:29,338 INFO L85 PathProgramCache]: Analyzing trace with hash 654146930, now seen corresponding path program 56 times [2022-07-22 03:14:29,338 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:14:29,338 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1477413794] [2022-07-22 03:14:29,339 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:14:29,339 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:14:29,362 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:14:29,363 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [995822792] [2022-07-22 03:14:29,363 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-07-22 03:14:29,363 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:14:29,363 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:14:29,366 INFO L229 MonitoredProcess]: Starting monitored process 141 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:14:29,367 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (141)] Waiting until timeout for monitored process [2022-07-22 03:14:29,634 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-07-22 03:14:29,635 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 03:14:29,638 INFO L263 TraceCheckSpWp]: Trace formula consists of 710 conjuncts, 50 conjunts are in the unsatisfiable core [2022-07-22 03:14:29,640 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:14:30,560 INFO L134 CoverageAnalysis]: Checked inductivity of 2093 backedges. 782 proven. 529 refuted. 0 times theorem prover too weak. 782 trivial. 0 not checked. [2022-07-22 03:14:30,561 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 03:14:33,536 INFO L134 CoverageAnalysis]: Checked inductivity of 2093 backedges. 782 proven. 529 refuted. 0 times theorem prover too weak. 782 trivial. 0 not checked. [2022-07-22 03:14:33,536 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 03:14:33,537 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1477413794] [2022-07-22 03:14:33,537 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 03:14:33,537 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [995822792] [2022-07-22 03:14:33,537 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [995822792] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 03:14:33,537 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 03:14:33,537 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [50, 50] total 74 [2022-07-22 03:14:33,537 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [186431514] [2022-07-22 03:14:33,537 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 03:14:33,613 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 03:14:33,613 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 75 interpolants. [2022-07-22 03:14:33,614 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1299, Invalid=4251, Unknown=0, NotChecked=0, Total=5550 [2022-07-22 03:14:33,614 INFO L87 Difference]: Start difference. First operand 241 states and 248 transitions. cyclomatic complexity: 15 Second operand has 75 states, 74 states have (on average 2.689189189189189) internal successors, (199), 75 states have internal predecessors, (199), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:14:37,169 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 03:14:37,169 INFO L93 Difference]: Finished difference Result 469 states and 477 transitions. [2022-07-22 03:14:37,170 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 53 states. [2022-07-22 03:14:37,170 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 469 states and 477 transitions. [2022-07-22 03:14:37,172 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:14:37,172 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 469 states to 244 states and 251 transitions. [2022-07-22 03:14:37,173 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 54 [2022-07-22 03:14:37,173 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 54 [2022-07-22 03:14:37,173 INFO L73 IsDeterministic]: Start isDeterministic. Operand 244 states and 251 transitions. [2022-07-22 03:14:37,173 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 03:14:37,173 INFO L369 hiAutomatonCegarLoop]: Abstraction has 244 states and 251 transitions. [2022-07-22 03:14:37,173 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 244 states and 251 transitions. [2022-07-22 03:14:37,175 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 244 to 243. [2022-07-22 03:14:37,175 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 243 states, 243 states have (on average 1.02880658436214) internal successors, (250), 242 states have internal predecessors, (250), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:14:37,175 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 243 states to 243 states and 250 transitions. [2022-07-22 03:14:37,176 INFO L392 hiAutomatonCegarLoop]: Abstraction has 243 states and 250 transitions. [2022-07-22 03:14:37,176 INFO L374 stractBuchiCegarLoop]: Abstraction has 243 states and 250 transitions. [2022-07-22 03:14:37,176 INFO L287 stractBuchiCegarLoop]: ======== Iteration 52 ============ [2022-07-22 03:14:37,176 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 243 states and 250 transitions. [2022-07-22 03:14:37,176 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:14:37,176 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 03:14:37,176 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 03:14:37,177 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [24, 24, 23, 23, 23, 22, 12, 12, 11, 10, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 03:14:37,177 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-22 03:14:37,177 INFO L752 eck$LassoCheckResult]: Stem: 52351#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);~N~0 := 0; 52352#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem12#1, main_#t~post11#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 52364#L44 assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet2#1, init_nondet_#t~post1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0; 52365#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 52379#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 52380#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 52377#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 52378#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 52585#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 52584#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 52583#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 52582#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 52581#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 52580#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 52579#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 52578#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 52577#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 52576#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 52575#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 52574#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 52573#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 52572#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 52571#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 52570#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 52569#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 52568#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 52567#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 52566#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 52565#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 52564#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 52563#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 52562#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 52561#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 52560#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 52559#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 52558#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 52557#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 52556#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 52555#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 52554#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 52553#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 52552#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 52551#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 52550#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 52549#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 52548#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 52547#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 52546#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 52545#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 52544#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 52387#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 52386#L18-3 assume !(init_nondet_~i~0#1 < ~N~0); 52343#L16 assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 52344#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 52355#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 52356#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 52375#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 52376#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 52512#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 52511#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 52510#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 52508#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 52507#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 52505#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 52503#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 52501#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 52499#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 52497#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 52495#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 52493#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 52491#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 52489#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 52487#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 52485#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 52483#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 52481#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 52479#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 52477#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 52475#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 52473#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 52471#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 52469#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 52467#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 52465#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 52463#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 52461#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 52459#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 52454#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 52457#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 52453#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 52353#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 52354#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 52449#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 52447#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 52445#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 52443#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 52441#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 52439#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 52437#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 52435#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 52433#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 52431#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 52429#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 52427#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 52425#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 52423#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 52421#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 52419#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 52417#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 52415#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 52413#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 52411#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 52409#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 52407#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 52405#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 52403#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 52401#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 52399#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 52397#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 52395#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 52391#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 52393#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 52390#L29-3 assume !(rangesum_~i~1#1 < ~N~0); 52362#L29-4 assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296); 52363#L38 main_#t~ret6#1 := rangesum_#res#1;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 52373#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 52345#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 52346#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 52384#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 52509#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 52385#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 52374#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 52347#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 52348#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 52506#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 52504#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 52502#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 52500#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 52498#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 52496#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 52494#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 52492#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 52490#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 52488#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 52486#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 52484#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 52482#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 52480#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 52478#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 52476#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 52474#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 52472#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 52470#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 52468#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 52466#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 52464#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 52462#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 52460#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 52456#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 52458#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 52455#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 52452#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 52451#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 52450#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 52448#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 52446#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 52444#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 52442#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 52440#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 52438#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 52436#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 52434#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 52432#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 52430#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 52428#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 52426#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 52424#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 52422#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 52420#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 52418#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 52416#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 52414#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 52412#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 52410#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 52408#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 52406#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 52404#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 52402#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 52400#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 52398#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 52396#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 52394#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 52389#L30-2 [2022-07-22 03:14:37,178 INFO L754 eck$LassoCheckResult]: Loop: 52389#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 52392#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 52388#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 52389#L30-2 [2022-07-22 03:14:37,178 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:14:37,178 INFO L85 PathProgramCache]: Analyzing trace with hash -1928958660, now seen corresponding path program 57 times [2022-07-22 03:14:37,178 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:14:37,178 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [324778252] [2022-07-22 03:14:37,178 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:14:37,178 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:14:37,207 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:14:37,207 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1010426042] [2022-07-22 03:14:37,208 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-07-22 03:14:37,208 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:14:37,208 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:14:37,210 INFO L229 MonitoredProcess]: Starting monitored process 142 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:14:37,210 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (142)] Waiting until timeout for monitored process [2022-07-22 03:14:38,834 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 25 check-sat command(s) [2022-07-22 03:14:38,834 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 03:14:38,842 INFO L263 TraceCheckSpWp]: Trace formula consists of 709 conjuncts, 61 conjunts are in the unsatisfiable core [2022-07-22 03:14:38,844 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:14:42,955 INFO L134 CoverageAnalysis]: Checked inductivity of 2073 backedges. 1304 proven. 456 refuted. 0 times theorem prover too weak. 313 trivial. 0 not checked. [2022-07-22 03:14:42,956 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 03:14:49,014 INFO L134 CoverageAnalysis]: Checked inductivity of 2073 backedges. 896 proven. 864 refuted. 0 times theorem prover too weak. 313 trivial. 0 not checked. [2022-07-22 03:14:49,014 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 03:14:49,014 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [324778252] [2022-07-22 03:14:49,014 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 03:14:49,014 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1010426042] [2022-07-22 03:14:49,014 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1010426042] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 03:14:49,014 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 03:14:49,014 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [54, 53] total 80 [2022-07-22 03:14:49,014 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [55515744] [2022-07-22 03:14:49,014 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 03:14:49,015 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 03:14:49,015 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:14:49,015 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 40 times [2022-07-22 03:14:49,015 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:14:49,015 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1910876017] [2022-07-22 03:14:49,015 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:14:49,015 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:14:49,019 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:14:49,019 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:14:49,020 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:14:49,022 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:14:49,083 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 03:14:49,083 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 80 interpolants. [2022-07-22 03:14:49,084 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1410, Invalid=4910, Unknown=0, NotChecked=0, Total=6320 [2022-07-22 03:14:49,084 INFO L87 Difference]: Start difference. First operand 243 states and 250 transitions. cyclomatic complexity: 15 Second operand has 80 states, 80 states have (on average 2.6375) internal successors, (211), 80 states have internal predecessors, (211), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:14:57,454 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 03:14:57,454 INFO L93 Difference]: Finished difference Result 467 states and 480 transitions. [2022-07-22 03:14:57,456 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 77 states. [2022-07-22 03:14:57,456 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 467 states and 480 transitions. [2022-07-22 03:14:57,457 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 12 [2022-07-22 03:14:57,458 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 467 states to 460 states and 473 transitions. [2022-07-22 03:14:57,458 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 171 [2022-07-22 03:14:57,459 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 171 [2022-07-22 03:14:57,459 INFO L73 IsDeterministic]: Start isDeterministic. Operand 460 states and 473 transitions. [2022-07-22 03:14:57,459 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 03:14:57,459 INFO L369 hiAutomatonCegarLoop]: Abstraction has 460 states and 473 transitions. [2022-07-22 03:14:57,459 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 460 states and 473 transitions. [2022-07-22 03:14:57,461 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 460 to 252. [2022-07-22 03:14:57,462 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 252 states, 252 states have (on average 1.0277777777777777) internal successors, (259), 251 states have internal predecessors, (259), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:14:57,462 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 252 states to 252 states and 259 transitions. [2022-07-22 03:14:57,462 INFO L392 hiAutomatonCegarLoop]: Abstraction has 252 states and 259 transitions. [2022-07-22 03:14:57,462 INFO L374 stractBuchiCegarLoop]: Abstraction has 252 states and 259 transitions. [2022-07-22 03:14:57,463 INFO L287 stractBuchiCegarLoop]: ======== Iteration 53 ============ [2022-07-22 03:14:57,463 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 252 states and 259 transitions. [2022-07-22 03:14:57,463 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:14:57,463 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 03:14:57,463 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 03:14:57,464 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [24, 24, 24, 24, 24, 23, 13, 13, 11, 10, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 03:14:57,464 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-22 03:14:57,465 INFO L752 eck$LassoCheckResult]: Stem: 54390#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);~N~0 := 0; 54391#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem12#1, main_#t~post11#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 54405#L44 assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet2#1, init_nondet_#t~post1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0; 54406#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 54419#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 54420#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 54421#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 54476#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 54475#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 54474#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 54473#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 54472#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 54471#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 54470#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 54469#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 54468#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 54467#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 54466#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 54465#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 54464#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 54463#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 54462#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 54461#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 54460#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 54459#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 54458#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 54457#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 54456#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 54455#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 54454#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 54453#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 54452#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 54451#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 54450#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 54449#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 54448#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 54447#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 54446#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 54445#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 54444#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 54443#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 54442#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 54441#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 54440#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 54439#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 54438#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 54437#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 54436#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 54435#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 54433#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 54430#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 54429#L18-3 assume !(init_nondet_~i~0#1 < ~N~0); 54384#L16 assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 54385#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 54416#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 54517#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 54516#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 54515#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 54514#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 54513#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 54512#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 54511#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 54510#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 54509#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 54508#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 54507#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 54506#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 54505#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 54504#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 54503#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 54502#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 54501#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 54500#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 54499#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 54498#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 54497#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 54496#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 54495#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 54494#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 54493#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 54492#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 54491#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 54490#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 54489#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 54488#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 54487#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 54486#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 54485#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 54484#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 54483#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 54432#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 54434#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 54431#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 54392#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 54393#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 54428#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 54394#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 54395#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 54417#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 54418#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 54541#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 54540#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 54539#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 54538#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 54537#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 54536#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 54535#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 54534#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 54533#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 54532#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 54531#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 54530#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 54529#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 54528#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 54527#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 54526#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 54525#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 54524#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 54523#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 54522#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 54521#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 54520#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 54519#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 54479#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 54480#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 54478#L29-3 assume !(rangesum_~i~1#1 < ~N~0); 54403#L29-4 assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296); 54404#L38 main_#t~ret6#1 := rangesum_#res#1;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 54423#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 54570#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 54425#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 54426#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 54601#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 54427#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 54415#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 54388#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 54389#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 54600#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 54599#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 54598#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 54597#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 54596#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 54595#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 54594#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 54593#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 54592#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 54591#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 54590#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 54589#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 54588#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 54587#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 54586#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 54585#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 54584#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 54583#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 54582#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 54581#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 54580#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 54579#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 54578#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 54577#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 54576#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 54575#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 54574#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 54572#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 54573#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 54571#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 54414#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 54386#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 54387#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 54569#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 54568#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 54567#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 54566#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 54565#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 54564#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 54563#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 54562#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 54561#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 54560#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 54559#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 54558#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 54557#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 54556#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 54555#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 54554#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 54553#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 54552#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 54551#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 54550#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 54549#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 54548#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 54547#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 54546#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 54545#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 54544#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 54543#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 54542#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 54482#L30-2 [2022-07-22 03:14:57,465 INFO L754 eck$LassoCheckResult]: Loop: 54482#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 54518#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 54481#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 54482#L30-2 [2022-07-22 03:14:57,466 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:14:57,466 INFO L85 PathProgramCache]: Analyzing trace with hash -274014977, now seen corresponding path program 58 times [2022-07-22 03:14:57,466 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:14:57,466 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1437789118] [2022-07-22 03:14:57,466 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:14:57,466 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:14:57,491 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:14:57,491 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1050650150] [2022-07-22 03:14:57,492 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-07-22 03:14:57,492 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:14:57,492 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:14:57,497 INFO L229 MonitoredProcess]: Starting monitored process 143 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:14:57,498 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (143)] Waiting until timeout for monitored process [2022-07-22 03:14:58,696 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-07-22 03:14:58,696 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-07-22 03:14:58,697 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:14:59,900 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:14:59,972 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:14:59,972 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:14:59,972 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 41 times [2022-07-22 03:14:59,972 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:14:59,973 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1318753955] [2022-07-22 03:14:59,973 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:14:59,973 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:14:59,976 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:14:59,976 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 03:14:59,978 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 03:14:59,980 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 03:14:59,980 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:14:59,980 INFO L85 PathProgramCache]: Analyzing trace with hash 1552704625, now seen corresponding path program 59 times [2022-07-22 03:14:59,980 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:14:59,980 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1887563488] [2022-07-22 03:14:59,980 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:14:59,980 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:15:00,012 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:15:00,012 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1820231069] [2022-07-22 03:15:00,012 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-07-22 03:15:00,012 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:15:00,013 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:15:00,014 INFO L229 MonitoredProcess]: Starting monitored process 144 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:15:00,015 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (144)] Waiting until timeout for monitored process [2022-07-22 03:15:00,799 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 25 check-sat command(s) [2022-07-22 03:15:00,799 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 03:15:00,807 INFO L263 TraceCheckSpWp]: Trace formula consists of 729 conjuncts, 52 conjunts are in the unsatisfiable core [2022-07-22 03:15:00,809 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 03:15:01,773 INFO L134 CoverageAnalysis]: Checked inductivity of 2280 backedges. 852 proven. 576 refuted. 0 times theorem prover too weak. 852 trivial. 0 not checked. [2022-07-22 03:15:01,774 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 03:15:05,531 INFO L134 CoverageAnalysis]: Checked inductivity of 2280 backedges. 852 proven. 576 refuted. 0 times theorem prover too weak. 852 trivial. 0 not checked. [2022-07-22 03:15:05,531 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 03:15:05,531 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1887563488] [2022-07-22 03:15:05,531 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 03:15:05,531 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1820231069] [2022-07-22 03:15:05,531 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1820231069] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 03:15:05,531 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 03:15:05,531 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [52, 52] total 77 [2022-07-22 03:15:05,532 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [271323168] [2022-07-22 03:15:05,532 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 03:15:05,587 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 03:15:05,588 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 78 interpolants. [2022-07-22 03:15:05,588 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1403, Invalid=4603, Unknown=0, NotChecked=0, Total=6006 [2022-07-22 03:15:05,588 INFO L87 Difference]: Start difference. First operand 252 states and 259 transitions. cyclomatic complexity: 15 Second operand has 78 states, 77 states have (on average 2.688311688311688) internal successors, (207), 78 states have internal predecessors, (207), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:15:10,027 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 03:15:10,027 INFO L93 Difference]: Finished difference Result 489 states and 497 transitions. [2022-07-22 03:15:10,028 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 55 states. [2022-07-22 03:15:10,029 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 489 states and 497 transitions. [2022-07-22 03:15:10,030 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:15:10,030 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 489 states to 255 states and 262 transitions. [2022-07-22 03:15:10,031 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 54 [2022-07-22 03:15:10,031 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 54 [2022-07-22 03:15:10,031 INFO L73 IsDeterministic]: Start isDeterministic. Operand 255 states and 262 transitions. [2022-07-22 03:15:10,031 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 03:15:10,031 INFO L369 hiAutomatonCegarLoop]: Abstraction has 255 states and 262 transitions. [2022-07-22 03:15:10,031 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 255 states and 262 transitions. [2022-07-22 03:15:10,033 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 255 to 254. [2022-07-22 03:15:10,033 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 254 states, 254 states have (on average 1.0275590551181102) internal successors, (261), 253 states have internal predecessors, (261), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-22 03:15:10,033 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 254 states to 254 states and 261 transitions. [2022-07-22 03:15:10,033 INFO L392 hiAutomatonCegarLoop]: Abstraction has 254 states and 261 transitions. [2022-07-22 03:15:10,034 INFO L374 stractBuchiCegarLoop]: Abstraction has 254 states and 261 transitions. [2022-07-22 03:15:10,034 INFO L287 stractBuchiCegarLoop]: ======== Iteration 54 ============ [2022-07-22 03:15:10,034 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 254 states and 261 transitions. [2022-07-22 03:15:10,038 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-22 03:15:10,038 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 03:15:10,038 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 03:15:10,039 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [25, 25, 24, 24, 24, 23, 13, 13, 11, 10, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 03:15:10,039 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-22 03:15:10,040 INFO L752 eck$LassoCheckResult]: Stem: 56470#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);~N~0 := 0; 56471#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet5#1, main_#t~ret6#1, main_#t~mem7#1, main_#t~mem8#1, main_#t~ret9#1, main_#t~mem10#1, main_#t~mem12#1, main_#t~post11#1, main_~i~2#1, main_#t~ret13#1, main_~#x~0#1.base, main_~#x~0#1.offset, main_~temp~0#1, main_~ret~1#1, main_~ret2~0#1, main_~ret5~0#1;~N~0 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 56481#L44 assume ~N~0 > 1;call main_~#x~0#1.base, main_~#x~0#1.offset := #Ultimate.allocOnStack(4 * ~N~0);assume { :begin_inline_init_nondet } true;init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc init_nondet_#t~nondet2#1, init_nondet_#t~post1#1, init_nondet_~x#1.base, init_nondet_~x#1.offset, init_nondet_~i~0#1;init_nondet_~x#1.base, init_nondet_~x#1.offset := init_nondet_#in~x#1.base, init_nondet_#in~x#1.offset;havoc init_nondet_~i~0#1;init_nondet_~i~0#1 := 0; 56482#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 56495#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 56496#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 56493#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 56494#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 56713#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 56712#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 56711#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 56710#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 56709#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 56708#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 56707#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 56706#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 56705#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 56704#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 56703#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 56702#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 56701#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 56700#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 56699#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 56698#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 56697#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 56696#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 56695#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 56694#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 56693#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 56692#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 56691#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 56690#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 56689#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 56688#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 56687#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 56686#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 56685#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 56684#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 56683#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 56682#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 56681#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 56680#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 56679#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 56678#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 56677#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 56676#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 56675#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 56674#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 56673#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 56672#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 56671#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 56670#L18-3 assume !!(init_nondet_~i~0#1 < ~N~0);call write~int(init_nondet_#t~nondet2#1, init_nondet_~x#1.base, init_nondet_~x#1.offset + 4 * init_nondet_~i~0#1, 4);havoc init_nondet_#t~nondet2#1; 56504#L18-2 init_nondet_#t~post1#1 := init_nondet_~i~0#1;init_nondet_~i~0#1 := 1 + init_nondet_#t~post1#1;havoc init_nondet_#t~post1#1; 56503#L18-3 assume !(init_nondet_~i~0#1 < ~N~0); 56460#L16 assume { :end_inline_init_nondet } true;havoc main_~temp~0#1;havoc main_~ret~1#1;havoc main_~ret2~0#1;havoc main_~ret5~0#1;assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 56461#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 56474#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 56475#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 56491#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 56492#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 56501#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 56502#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 56669#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 56668#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 56667#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 56666#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 56665#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 56664#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 56663#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 56662#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 56661#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 56660#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 56659#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 56658#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 56657#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 56656#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 56655#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 56654#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 56653#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 56652#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 56651#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 56650#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 56649#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 56648#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 56647#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 56646#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 56645#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 56644#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 56643#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 56642#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 56641#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 56640#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 56582#L30 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 56637#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 56581#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 56472#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 56473#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 56571#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 56569#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 56567#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 56565#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 56563#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 56561#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 56559#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 56557#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 56555#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 56553#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 56551#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 56549#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 56547#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 56545#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 56543#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 56541#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 56539#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 56537#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 56535#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 56533#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 56531#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 56529#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 56527#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 56525#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 56523#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 56521#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 56519#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 56517#L29-3 assume !!(rangesum_~i~1#1 < ~N~0); 56513#L30 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 56514#L29-2 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 56512#L29-3 assume !(rangesum_~i~1#1 < ~N~0); 56479#L29-4 assume 0 != rangesum_~cnt~0#1;rangesum_#res#1 := (if (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 <= 2147483647 then (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 else (if rangesum_~ret~0#1 < 0 && 0 != rangesum_~ret~0#1 % rangesum_~cnt~0#1 then (if rangesum_~cnt~0#1 < 0 then rangesum_~ret~0#1 / rangesum_~cnt~0#1 - 1 else 1 + rangesum_~ret~0#1 / rangesum_~cnt~0#1) else rangesum_~ret~0#1 / rangesum_~cnt~0#1) % 4294967296 - 4294967296); 56480#L38 main_#t~ret6#1 := rangesum_#res#1;assume { :end_inline_rangesum } true;main_~ret~1#1 := main_#t~ret6#1;havoc main_#t~ret6#1;call main_#t~mem7#1 := read~int(main_~#x~0#1.base, main_~#x~0#1.offset, 4);main_~temp~0#1 := main_#t~mem7#1;havoc main_#t~mem7#1;call main_#t~mem8#1 := read~int(main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);call write~int(main_#t~mem8#1, main_~#x~0#1.base, main_~#x~0#1.offset, 4);havoc main_#t~mem8#1;call write~int(main_~temp~0#1, main_~#x~0#1.base, 4 + main_~#x~0#1.offset, 4);assume { :begin_inline_rangesum } true;rangesum_#in~x#1.base, rangesum_#in~x#1.offset := main_~#x~0#1.base, main_~#x~0#1.offset;havoc rangesum_#res#1;havoc rangesum_#t~mem4#1, rangesum_#t~post3#1, rangesum_~x#1.base, rangesum_~x#1.offset, rangesum_~i~1#1, rangesum_~ret~0#1, rangesum_~cnt~0#1;rangesum_~x#1.base, rangesum_~x#1.offset := rangesum_#in~x#1.base, rangesum_#in~x#1.offset;havoc rangesum_~i~1#1;havoc rangesum_~ret~0#1;rangesum_~ret~0#1 := 0;rangesum_~cnt~0#1 := 0;rangesum_~i~1#1 := 0; 56489#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 56462#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 56463#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 56490#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 56464#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 56465#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 56498#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 56631#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 56629#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 56627#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 56625#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 56623#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 56621#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 56619#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 56617#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 56615#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 56613#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 56611#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 56609#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 56607#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 56605#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 56603#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 56601#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 56599#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 56597#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 56595#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 56593#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 56591#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 56589#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 56587#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 56585#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 56583#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 56580#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 56579#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 56578#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 56577#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 56575#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 56576#L30-2 assume !(rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2)); 56574#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 56573#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 56572#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 56570#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 56568#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 56566#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 56564#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 56562#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 56560#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 56558#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 56556#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 56554#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 56552#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 56550#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 56548#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 56546#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 56544#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 56542#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 56540#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 56538#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 56536#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 56534#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 56532#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 56530#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 56528#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 56526#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 56524#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 56522#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 56520#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 56518#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 56516#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 56515#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 56510#L30-2 [2022-07-22 03:15:10,040 INFO L754 eck$LassoCheckResult]: Loop: 56510#L30-2 assume rangesum_~i~1#1 > (if ~N~0 < 0 && 0 != ~N~0 % 2 then 1 + ~N~0 / 2 else ~N~0 / 2);call rangesum_#t~mem4#1 := read~int(rangesum_~x#1.base, rangesum_~x#1.offset + 4 * rangesum_~i~1#1, 4);rangesum_~ret~0#1 := rangesum_~ret~0#1 + rangesum_#t~mem4#1;havoc rangesum_#t~mem4#1;rangesum_~cnt~0#1 := 1 + rangesum_~cnt~0#1; 56511#L29-7 rangesum_#t~post3#1 := rangesum_~i~1#1;rangesum_~i~1#1 := 1 + rangesum_#t~post3#1;havoc rangesum_#t~post3#1; 56509#L29-8 assume !!(rangesum_~i~1#1 < ~N~0); 56510#L30-2 [2022-07-22 03:15:10,040 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 03:15:10,040 INFO L85 PathProgramCache]: Analyzing trace with hash 364478621, now seen corresponding path program 60 times [2022-07-22 03:15:10,041 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 03:15:10,041 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [131199803] [2022-07-22 03:15:10,041 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 03:15:10,041 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 03:15:10,070 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 03:15:10,070 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [648500028] [2022-07-22 03:15:10,072 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-07-22 03:15:10,072 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 03:15:10,072 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 03:15:10,077 INFO L229 MonitoredProcess]: Starting monitored process 145 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 03:15:10,078 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (145)] Waiting until timeout for monitored process