./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 791161d1 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-?-791161d [2022-07-23 16:02:02,479 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-07-23 16:02:02,482 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-07-23 16:02:02,524 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-07-23 16:02:02,524 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-07-23 16:02:02,526 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-07-23 16:02:02,527 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-07-23 16:02:02,530 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-07-23 16:02:02,534 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-07-23 16:02:02,538 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-07-23 16:02:02,539 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-07-23 16:02:02,541 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-07-23 16:02:02,541 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-07-23 16:02:02,543 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-07-23 16:02:02,544 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-07-23 16:02:02,546 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-07-23 16:02:02,547 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-07-23 16:02:02,549 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-07-23 16:02:02,550 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-07-23 16:02:02,555 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-07-23 16:02:02,557 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-07-23 16:02:02,558 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-07-23 16:02:02,559 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-07-23 16:02:02,560 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-07-23 16:02:02,561 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-07-23 16:02:02,567 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-07-23 16:02:02,568 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-07-23 16:02:02,568 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-07-23 16:02:02,570 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-07-23 16:02:02,570 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-07-23 16:02:02,571 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-07-23 16:02:02,571 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-07-23 16:02:02,573 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-07-23 16:02:02,574 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-07-23 16:02:02,574 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-07-23 16:02:02,576 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-07-23 16:02:02,577 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-07-23 16:02:02,577 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-07-23 16:02:02,578 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-07-23 16:02:02,578 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-07-23 16:02:02,579 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-07-23 16:02:02,580 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-07-23 16:02:02,581 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Termination-32bit-Automizer_Default.epf [2022-07-23 16:02:02,608 INFO L113 SettingsManager]: Loading preferences was successful [2022-07-23 16:02:02,609 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-07-23 16:02:02,609 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-07-23 16:02:02,610 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-07-23 16:02:02,611 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-07-23 16:02:02,611 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-07-23 16:02:02,611 INFO L138 SettingsManager]: * Use SBE=true [2022-07-23 16:02:02,612 INFO L136 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2022-07-23 16:02:02,612 INFO L138 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2022-07-23 16:02:02,613 INFO L138 SettingsManager]: * Use old map elimination=false [2022-07-23 16:02:02,613 INFO L138 SettingsManager]: * Use external solver (rank synthesis)=false [2022-07-23 16:02:02,613 INFO L138 SettingsManager]: * Use only trivial implications for array writes=true [2022-07-23 16:02:02,613 INFO L138 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2022-07-23 16:02:02,614 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-07-23 16:02:02,614 INFO L138 SettingsManager]: * sizeof long=4 [2022-07-23 16:02:02,614 INFO L138 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2022-07-23 16:02:02,614 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-07-23 16:02:02,614 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-07-23 16:02:02,614 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-07-23 16:02:02,615 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2022-07-23 16:02:02,615 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2022-07-23 16:02:02,615 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2022-07-23 16:02:02,615 INFO L138 SettingsManager]: * sizeof long double=12 [2022-07-23 16:02:02,616 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-07-23 16:02:02,616 INFO L138 SettingsManager]: * Assume nondeterminstic values are in range=false [2022-07-23 16:02:02,616 INFO L138 SettingsManager]: * Use constant arrays=true [2022-07-23 16:02:02,616 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2022-07-23 16:02:02,616 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-07-23 16:02:02,617 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-07-23 16:02:02,617 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-07-23 16:02:02,617 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-07-23 16:02:02,618 INFO L136 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2022-07-23 16:02:02,618 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-23 16:02:02,843 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-07-23 16:02:02,869 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-07-23 16:02:02,872 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-07-23 16:02:02,873 INFO L271 PluginConnector]: Initializing CDTParser... [2022-07-23 16:02:02,873 INFO L275 PluginConnector]: CDTParser initialized [2022-07-23 16:02:02,875 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/reducercommutativity/rangesum.i [2022-07-23 16:02:02,938 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c86254f6f/ef8a4f9989434d9a901008774711060a/FLAGfc16722ab [2022-07-23 16:02:03,281 INFO L306 CDTParser]: Found 1 translation units. [2022-07-23 16:02:03,282 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/reducercommutativity/rangesum.i [2022-07-23 16:02:03,287 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c86254f6f/ef8a4f9989434d9a901008774711060a/FLAGfc16722ab [2022-07-23 16:02:03,707 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c86254f6f/ef8a4f9989434d9a901008774711060a [2022-07-23 16:02:03,710 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-07-23 16:02:03,711 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-07-23 16:02:03,723 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-07-23 16:02:03,723 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-07-23 16:02:03,726 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-07-23 16:02:03,726 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.07 04:02:03" (1/1) ... [2022-07-23 16:02:03,727 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@37c75464 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.07 04:02:03, skipping insertion in model container [2022-07-23 16:02:03,727 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.07 04:02:03" (1/1) ... [2022-07-23 16:02:03,736 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-07-23 16:02:03,750 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-07-23 16:02:03,920 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-23 16:02:03,921 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-07-23 16:02:03,928 INFO L203 MainTranslator]: Completed pre-run [2022-07-23 16:02:03,947 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-23 16:02:03,948 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-07-23 16:02:03,958 INFO L208 MainTranslator]: Completed translation [2022-07-23 16:02:03,959 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.07 04:02:03 WrapperNode [2022-07-23 16:02:03,959 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-07-23 16:02:03,959 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-07-23 16:02:03,959 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-07-23 16:02:03,960 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-07-23 16:02:03,964 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.07 04:02:03" (1/1) ... [2022-07-23 16:02:03,970 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.07 04:02:03" (1/1) ... [2022-07-23 16:02:03,992 INFO L137 Inliner]: procedures = 17, calls = 22, calls flagged for inlining = 6, calls inlined = 6, statements flattened = 137 [2022-07-23 16:02:03,992 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-07-23 16:02:03,993 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-07-23 16:02:03,993 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-07-23 16:02:03,993 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-07-23 16:02:04,002 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.07 04:02:03" (1/1) ... [2022-07-23 16:02:04,003 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.07 04:02:03" (1/1) ... [2022-07-23 16:02:04,006 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.07 04:02:03" (1/1) ... [2022-07-23 16:02:04,006 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.07 04:02:03" (1/1) ... [2022-07-23 16:02:04,012 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.07 04:02:03" (1/1) ... [2022-07-23 16:02:04,020 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.07 04:02:03" (1/1) ... [2022-07-23 16:02:04,022 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.07 04:02:03" (1/1) ... [2022-07-23 16:02:04,024 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-07-23 16:02:04,025 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-07-23 16:02:04,025 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-07-23 16:02:04,027 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-07-23 16:02:04,028 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.07 04:02:03" (1/1) ... [2022-07-23 16:02:04,036 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:04,044 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:04,054 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-23 16:02:04,056 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-23 16:02:04,084 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-07-23 16:02:04,084 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-07-23 16:02:04,085 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-07-23 16:02:04,085 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-07-23 16:02:04,085 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-07-23 16:02:04,085 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-07-23 16:02:04,086 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-07-23 16:02:04,089 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-07-23 16:02:04,145 INFO L234 CfgBuilder]: Building ICFG [2022-07-23 16:02:04,146 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-07-23 16:02:04,305 INFO L275 CfgBuilder]: Performing block encoding [2022-07-23 16:02:04,310 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-07-23 16:02:04,310 INFO L299 CfgBuilder]: Removed 5 assume(true) statements. [2022-07-23 16:02:04,312 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.07 04:02:04 BoogieIcfgContainer [2022-07-23 16:02:04,312 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-07-23 16:02:04,313 INFO L113 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2022-07-23 16:02:04,313 INFO L271 PluginConnector]: Initializing BuchiAutomizer... [2022-07-23 16:02:04,325 INFO L275 PluginConnector]: BuchiAutomizer initialized [2022-07-23 16:02:04,331 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2022-07-23 16:02:04,331 INFO L185 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "CDTParser AST 23.07 04:02:03" (1/3) ... [2022-07-23 16:02:04,332 INFO L205 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@e08e507 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 23.07 04:02:04, skipping insertion in model container [2022-07-23 16:02:04,338 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2022-07-23 16:02:04,338 INFO L185 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.07 04:02:03" (2/3) ... [2022-07-23 16:02:04,339 INFO L205 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@e08e507 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 23.07 04:02:04, skipping insertion in model container [2022-07-23 16:02:04,339 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2022-07-23 16:02:04,339 INFO L185 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.07 04:02:04" (3/3) ... [2022-07-23 16:02:04,340 INFO L354 chiAutomizerObserver]: Analyzing ICFG rangesum.i [2022-07-23 16:02:04,425 INFO L255 stractBuchiCegarLoop]: Interprodecural is true [2022-07-23 16:02:04,425 INFO L256 stractBuchiCegarLoop]: Hoare is false [2022-07-23 16:02:04,425 INFO L257 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2022-07-23 16:02:04,425 INFO L258 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2022-07-23 16:02:04,426 INFO L259 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2022-07-23 16:02:04,426 INFO L260 stractBuchiCegarLoop]: Difference is false [2022-07-23 16:02:04,426 INFO L261 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2022-07-23 16:02:04,426 INFO L265 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2022-07-23 16:02:04,437 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-23 16:02:04,451 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 13 [2022-07-23 16:02:04,451 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 16:02:04,452 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 16:02:04,457 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2022-07-23 16:02:04,457 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2022-07-23 16:02:04,457 INFO L287 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2022-07-23 16:02:04,458 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-23 16:02:04,460 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 13 [2022-07-23 16:02:04,460 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 16:02:04,461 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 16:02:04,461 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2022-07-23 16:02:04,461 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2022-07-23 16:02:04,472 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-23 16:02:04,472 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-23 16:02:04,477 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:04,478 INFO L85 PathProgramCache]: Analyzing trace with hash 29858, now seen corresponding path program 1 times [2022-07-23 16:02:04,484 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:04,485 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1917020201] [2022-07-23 16:02:04,485 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:04,486 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:04,564 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:04,564 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:02:04,575 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:04,591 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:02:04,593 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:04,594 INFO L85 PathProgramCache]: Analyzing trace with hash 1379, now seen corresponding path program 1 times [2022-07-23 16:02:04,594 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:04,595 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1249856356] [2022-07-23 16:02:04,595 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:04,596 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:04,621 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:04,621 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:02:04,633 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:04,635 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:02:04,637 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:04,637 INFO L85 PathProgramCache]: Analyzing trace with hash 28693956, now seen corresponding path program 1 times [2022-07-23 16:02:04,637 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:04,637 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [459402093] [2022-07-23 16:02:04,637 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:04,638 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:04,679 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:04,689 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:02:04,710 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:04,714 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:02:05,143 INFO L210 LassoAnalysis]: Preferences: [2022-07-23 16:02:05,144 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-23 16:02:05,144 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-23 16:02:05,144 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-23 16:02:05,144 INFO L129 ssoRankerPreferences]: Use exernal solver: false [2022-07-23 16:02:05,145 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:05,145 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-23 16:02:05,145 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-23 16:02:05,145 INFO L133 ssoRankerPreferences]: Filename of dumped script: rangesum.i_Iteration1_Lasso [2022-07-23 16:02:05,145 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-23 16:02:05,146 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-23 16:02:05,165 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-23 16:02:05,171 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-23 16:02:05,173 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-23 16:02:05,176 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-23 16:02:05,179 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-23 16:02:05,182 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-23 16:02:05,184 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-23 16:02:05,188 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-23 16:02:05,191 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-23 16:02:05,194 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-23 16:02:05,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-23 16:02:05,508 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-23 16:02:05,510 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-23 16:02:05,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-23 16:02:05,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-23 16:02:05,518 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-23 16:02:05,520 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-23 16:02:05,523 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-23 16:02:05,525 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-23 16:02:05,847 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-23 16:02:05,851 INFO L490 LassoAnalysis]: Using template 'affine'. [2022-07-23 16:02:05,853 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:05,853 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:05,855 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-23 16:02:05,859 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-23 16:02:05,861 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-23 16:02:05,868 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:05,868 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-23 16:02:05,869 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:05,869 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:05,869 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:05,871 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-23 16:02:05,871 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-23 16:02:05,881 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-23 16:02:05,909 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-23 16:02:05,909 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:05,910 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:05,911 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-23 16:02:05,922 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-23 16:02:05,925 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-23 16:02:05,929 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:05,929 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-23 16:02:05,929 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:05,929 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:05,930 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:05,934 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-23 16:02:05,934 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-23 16:02:05,948 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-23 16:02:05,965 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (3)] Ended with exit code 0 [2022-07-23 16:02:05,965 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:05,965 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:05,966 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-23 16:02:05,973 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-23 16:02:05,974 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-23 16:02:05,980 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:05,980 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-23 16:02:05,981 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:05,981 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:05,981 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:05,981 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-23 16:02:05,981 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-23 16:02:05,983 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-23 16:02:06,001 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-23 16:02:06,003 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:06,003 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:06,004 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-23 16:02:06,005 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-23 16:02:06,006 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-23 16:02:06,013 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:06,014 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:06,014 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:06,014 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:06,018 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-23 16:02:06,018 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-23 16:02:06,046 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-23 16:02:06,072 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (5)] Forceful destruction successful, exit code 0 [2022-07-23 16:02:06,073 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:06,073 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:06,075 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-23 16:02:06,076 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-23 16:02:06,078 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-23 16:02:06,085 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:06,086 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-23 16:02:06,086 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:06,086 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:06,086 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:06,087 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-23 16:02:06,087 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-23 16:02:06,101 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-23 16:02:06,117 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-23 16:02:06,117 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:06,117 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:06,118 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-23 16:02:06,119 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-23 16:02:06,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-23 16:02:06,127 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:06,127 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-23 16:02:06,127 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:06,127 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:06,127 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:06,128 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-23 16:02:06,128 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-23 16:02:06,131 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-23 16:02:06,147 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-23 16:02:06,152 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:06,152 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:06,153 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-23 16:02:06,154 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-23 16:02:06,155 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-23 16:02:06,161 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:06,161 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-23 16:02:06,161 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:06,161 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:06,161 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:06,162 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-23 16:02:06,162 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-23 16:02:06,191 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-23 16:02:06,215 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-23 16:02:06,216 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:06,216 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:06,217 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-23 16:02:06,221 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-23 16:02:06,222 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-23 16:02:06,229 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:06,230 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:06,230 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:06,230 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:06,232 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-23 16:02:06,232 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-23 16:02:06,243 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-23 16:02:06,259 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (9)] Ended with exit code 0 [2022-07-23 16:02:06,260 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:06,260 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:06,261 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-23 16:02:06,262 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-23 16:02:06,263 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-23 16:02:06,269 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:06,269 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-23 16:02:06,269 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:06,269 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:06,269 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:06,270 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-23 16:02:06,270 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-23 16:02:06,271 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-23 16:02:06,289 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (10)] Forceful destruction successful, exit code 0 [2022-07-23 16:02:06,290 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:06,290 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:06,291 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-23 16:02:06,292 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-23 16:02:06,293 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-23 16:02:06,299 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:06,299 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-23 16:02:06,299 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:06,299 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:06,300 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:06,302 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-23 16:02:06,302 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-23 16:02:06,327 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-23 16:02:06,347 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-23 16:02:06,347 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:06,347 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:06,349 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-23 16:02:06,349 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-23 16:02:06,353 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-23 16:02:06,359 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:06,359 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:06,359 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:06,359 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:06,367 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-23 16:02:06,368 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-23 16:02:06,386 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-23 16:02:06,402 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-23 16:02:06,403 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:06,403 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:06,404 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-23 16:02:06,404 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-23 16:02:06,406 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-23 16:02:06,412 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:06,412 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-23 16:02:06,412 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:06,412 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:06,412 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:06,412 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-23 16:02:06,413 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-23 16:02:06,413 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-23 16:02:06,432 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-23 16:02:06,433 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:06,433 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:06,434 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-23 16:02:06,435 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-23 16:02:06,436 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-23 16:02:06,442 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:06,442 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:06,442 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:06,442 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:06,446 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-23 16:02:06,446 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-23 16:02:06,468 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-23 16:02:06,484 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-23 16:02:06,485 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:06,485 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:06,486 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-23 16:02:06,486 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-23 16:02:06,488 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-23 16:02:06,493 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:06,494 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:06,494 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:06,494 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:06,496 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-23 16:02:06,496 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-23 16:02:06,516 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-23 16:02:06,533 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-23 16:02:06,533 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:06,533 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:06,534 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-23 16:02:06,535 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-23 16:02:06,537 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-23 16:02:06,543 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:06,543 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:06,543 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:06,543 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:06,548 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-23 16:02:06,548 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-23 16:02:06,561 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-23 16:02:06,577 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-23 16:02:06,578 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:06,578 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:06,579 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-23 16:02:06,580 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-23 16:02:06,581 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-23 16:02:06,587 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:06,587 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:06,587 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:06,587 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:06,590 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-23 16:02:06,590 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-23 16:02:06,615 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-23 16:02:06,641 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-23 16:02:06,642 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:06,642 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:06,643 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-23 16:02:06,658 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-23 16:02:06,658 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-23 16:02:06,666 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:06,666 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:06,666 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:06,666 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:06,669 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-23 16:02:06,669 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-23 16:02:06,680 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-23 16:02:06,706 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-23 16:02:06,707 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:06,707 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:06,708 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-23 16:02:06,711 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-23 16:02:06,712 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-23 16:02:06,720 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:06,720 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:06,720 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:06,720 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:06,722 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-23 16:02:06,723 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-23 16:02:06,737 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-23 16:02:06,766 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-23 16:02:06,766 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:06,766 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:06,768 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-23 16:02:06,773 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-23 16:02:06,775 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-23 16:02:06,782 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:06,782 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:06,782 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:06,782 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:06,784 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-23 16:02:06,784 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-23 16:02:06,799 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-23 16:02:06,825 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (20)] Forceful destruction successful, exit code 0 [2022-07-23 16:02:06,825 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:06,825 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:06,826 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-23 16:02:06,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-23 16:02:06,844 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:06,844 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:06,844 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:06,844 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:06,846 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-23 16:02:06,846 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-23 16:02:06,849 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-23 16:02:06,863 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-23 16:02:06,890 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-23 16:02:06,890 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:06,891 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:06,895 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-23 16:02:06,896 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-23 16:02:06,898 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-23 16:02:06,906 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:06,906 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:06,906 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:06,906 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:06,913 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-23 16:02:06,913 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-23 16:02:06,926 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2022-07-23 16:02:06,997 INFO L443 ModelExtractionUtils]: Simplification made 18 calls to the SMT solver. [2022-07-23 16:02:06,997 INFO L444 ModelExtractionUtils]: 7 out of 25 variables were initially zero. Simplification set additionally 13 variables to zero. [2022-07-23 16:02:06,999 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:06,999 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:07,027 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-23 16:02:07,065 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2022-07-23 16:02:07,075 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-23 16:02:07,086 INFO L438 nArgumentSynthesizer]: Removed 1 redundant supporting invariants from a total of 2. [2022-07-23 16:02:07,087 INFO L513 LassoAnalysis]: Proved termination. [2022-07-23 16:02:07,087 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-23 16:02:07,111 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-23 16:02:07,162 INFO L293 tatePredicateManager]: 8 out of 10 supporting invariants were superfluous and have been removed [2022-07-23 16:02:07,197 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:07,218 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-23 16:02:07,220 INFO L263 TraceCheckSpWp]: Trace formula consists of 47 conjuncts, 9 conjunts are in the unsatisfiable core [2022-07-23 16:02:07,221 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:02:07,232 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-23 16:02:07,233 INFO L263 TraceCheckSpWp]: Trace formula consists of 16 conjuncts, 7 conjunts are in the unsatisfiable core [2022-07-23 16:02:07,233 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:02:07,253 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-23 16:02:07,281 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-23 16:02:07,282 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-23 16:02:07,418 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-23 16:02:07,420 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-23 16:02:07,426 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-23 16:02:07,430 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 85 transitions. [2022-07-23 16:02:07,431 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 85 transitions. Stem has 3 letters. Loop has 2 letters. [2022-07-23 16:02:07,432 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-23 16:02:07,432 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 85 transitions. Stem has 5 letters. Loop has 2 letters. [2022-07-23 16:02:07,432 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-23 16:02:07,432 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 85 transitions. Stem has 3 letters. Loop has 4 letters. [2022-07-23 16:02:07,433 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-23 16:02:07,433 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 82 states and 126 transitions. [2022-07-23 16:02:07,444 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 11 [2022-07-23 16:02:07,447 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 82 states to 23 states and 33 transitions. [2022-07-23 16:02:07,448 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 20 [2022-07-23 16:02:07,449 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 21 [2022-07-23 16:02:07,449 INFO L73 IsDeterministic]: Start isDeterministic. Operand 23 states and 33 transitions. [2022-07-23 16:02:07,450 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-07-23 16:02:07,450 INFO L369 hiAutomatonCegarLoop]: Abstraction has 23 states and 33 transitions. [2022-07-23 16:02:07,465 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 23 states and 33 transitions. [2022-07-23 16:02:07,472 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 23 to 23. [2022-07-23 16:02:07,473 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-23 16:02:07,476 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 33 transitions. [2022-07-23 16:02:07,478 INFO L392 hiAutomatonCegarLoop]: Abstraction has 23 states and 33 transitions. [2022-07-23 16:02:07,478 INFO L374 stractBuchiCegarLoop]: Abstraction has 23 states and 33 transitions. [2022-07-23 16:02:07,478 INFO L287 stractBuchiCegarLoop]: ======== Iteration 2 ============ [2022-07-23 16:02:07,479 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 23 states and 33 transitions. [2022-07-23 16:02:07,480 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 11 [2022-07-23 16:02:07,480 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 16:02:07,480 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 16:02:07,480 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1] [2022-07-23 16:02:07,480 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-23 16:02:07,481 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-23 16:02:07,482 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-23 16:02:07,482 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:07,482 INFO L85 PathProgramCache]: Analyzing trace with hash 28693898, now seen corresponding path program 1 times [2022-07-23 16:02:07,482 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:07,483 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [248296105] [2022-07-23 16:02:07,483 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:07,483 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:07,492 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-23 16:02:07,522 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-23 16:02:07,523 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 16:02:07,523 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [248296105] [2022-07-23 16:02:07,523 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [248296105] provided 1 perfect and 0 imperfect interpolant sequences [2022-07-23 16:02:07,524 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-07-23 16:02:07,524 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-07-23 16:02:07,524 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2086729542] [2022-07-23 16:02:07,525 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-07-23 16:02:07,526 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-23 16:02:07,527 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:07,527 INFO L85 PathProgramCache]: Analyzing trace with hash 56764, now seen corresponding path program 1 times [2022-07-23 16:02:07,527 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:07,527 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1390379133] [2022-07-23 16:02:07,527 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:07,528 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:07,535 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:07,535 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:02:07,541 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:07,543 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:02:07,571 INFO L210 LassoAnalysis]: Preferences: [2022-07-23 16:02:07,571 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-23 16:02:07,571 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-23 16:02:07,571 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-23 16:02:07,571 INFO L129 ssoRankerPreferences]: Use exernal solver: true [2022-07-23 16:02:07,571 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:07,572 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-23 16:02:07,572 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-23 16:02:07,572 INFO L133 ssoRankerPreferences]: Filename of dumped script: rangesum.i_Iteration2_Loop [2022-07-23 16:02:07,572 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-23 16:02:07,572 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-23 16:02:07,573 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-23 16:02:07,574 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-23 16:02:07,654 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-23 16:02:07,655 INFO L404 LassoAnalysis]: Checking for nontermination... [2022-07-23 16:02:07,656 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:07,656 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:07,660 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-23 16:02:07,661 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-23 16:02:07,662 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-23 16:02:07,663 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-23 16:02:07,663 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-23 16:02:07,676 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-23 16:02:07,676 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-23 16:02:07,692 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (24)] Ended with exit code 0 [2022-07-23 16:02:07,693 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:07,693 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:07,694 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-23 16:02:07,694 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-23 16:02:07,696 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-23 16:02:07,696 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-23 16:02:07,749 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (25)] Ended with exit code 0 [2022-07-23 16:02:07,750 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:07,750 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:07,751 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-23 16:02:07,751 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-23 16:02:07,753 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2022-07-23 16:02:07,753 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-23 16:02:07,883 INFO L444 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2022-07-23 16:02:07,886 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-23 16:02:07,887 INFO L210 LassoAnalysis]: Preferences: [2022-07-23 16:02:07,887 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-23 16:02:07,887 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-23 16:02:07,887 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-23 16:02:07,887 INFO L129 ssoRankerPreferences]: Use exernal solver: false [2022-07-23 16:02:07,887 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:07,887 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-23 16:02:07,887 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-23 16:02:07,887 INFO L133 ssoRankerPreferences]: Filename of dumped script: rangesum.i_Iteration2_Loop [2022-07-23 16:02:07,887 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-23 16:02:07,887 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-23 16:02:07,888 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-23 16:02:07,890 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-23 16:02:07,941 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-23 16:02:07,941 INFO L490 LassoAnalysis]: Using template 'affine'. [2022-07-23 16:02:07,941 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:07,941 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:07,942 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-23 16:02:07,952 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-23 16:02:07,959 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:07,960 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-23 16:02:07,960 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:07,960 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:07,960 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:07,960 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-23 16:02:07,960 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-23 16:02:07,961 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-23 16:02:07,975 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-23 16:02:08,001 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-23 16:02:08,002 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:08,002 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:08,004 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-23 16:02:08,008 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-23 16:02:08,016 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:08,016 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-23 16:02:08,016 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:08,016 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:08,017 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:08,018 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-23 16:02:08,018 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-23 16:02:08,020 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-23 16:02:08,032 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2022-07-23 16:02:08,037 INFO L443 ModelExtractionUtils]: Simplification made 3 calls to the SMT solver. [2022-07-23 16:02:08,037 INFO L444 ModelExtractionUtils]: 0 out of 4 variables were initially zero. Simplification set additionally 1 variables to zero. [2022-07-23 16:02:08,037 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:08,037 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:08,040 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-23 16:02:08,048 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2022-07-23 16:02:08,048 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2022-07-23 16:02:08,048 INFO L513 LassoAnalysis]: Proved termination. [2022-07-23 16:02:08,048 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-23 16:02:08,071 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-23 16:02:08,084 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-23 16:02:08,085 INFO L293 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2022-07-23 16:02:08,097 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:08,113 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-23 16:02:08,114 INFO L263 TraceCheckSpWp]: Trace formula consists of 62 conjuncts, 2 conjunts are in the unsatisfiable core [2022-07-23 16:02:08,114 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:02:08,124 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-23 16:02:08,124 WARN L261 TraceCheckSpWp]: Trace formula consists of 6 conjuncts, 5 conjunts are in the unsatisfiable core [2022-07-23 16:02:08,125 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:02:08,176 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-23 16:02:08,177 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-23 16:02:08,177 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-23 16:02:08,203 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-23 16:02:08,204 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-23 16:02:08,205 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-23 16:02:08,205 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 17 transitions. [2022-07-23 16:02:08,205 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 17 transitions. Stem has 5 letters. Loop has 3 letters. [2022-07-23 16:02:08,205 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-23 16:02:08,205 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 17 transitions. Stem has 8 letters. Loop has 3 letters. [2022-07-23 16:02:08,205 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-23 16:02:08,205 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 17 transitions. Stem has 5 letters. Loop has 6 letters. [2022-07-23 16:02:08,206 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-23 16:02:08,206 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 34 states and 53 transitions. [2022-07-23 16:02:08,207 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 11 [2022-07-23 16:02:08,208 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 34 states to 31 states and 46 transitions. [2022-07-23 16:02:08,208 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 22 [2022-07-23 16:02:08,209 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 24 [2022-07-23 16:02:08,209 INFO L73 IsDeterministic]: Start isDeterministic. Operand 31 states and 46 transitions. [2022-07-23 16:02:08,209 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 16:02:08,209 INFO L369 hiAutomatonCegarLoop]: Abstraction has 31 states and 46 transitions. [2022-07-23 16:02:08,209 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 31 states and 46 transitions. [2022-07-23 16:02:08,211 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 31 to 29. [2022-07-23 16:02:08,211 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-23 16:02:08,212 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 43 transitions. [2022-07-23 16:02:08,213 INFO L392 hiAutomatonCegarLoop]: Abstraction has 29 states and 43 transitions. [2022-07-23 16:02:08,215 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 16:02:08,218 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-07-23 16:02:08,218 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-07-23 16:02:08,219 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-23 16:02:08,246 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 16:02:08,246 INFO L93 Difference]: Finished difference Result 30 states and 43 transitions. [2022-07-23 16:02:08,246 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-07-23 16:02:08,248 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 30 states and 43 transitions. [2022-07-23 16:02:08,249 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 11 [2022-07-23 16:02:08,250 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 30 states to 30 states and 43 transitions. [2022-07-23 16:02:08,250 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 22 [2022-07-23 16:02:08,250 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 22 [2022-07-23 16:02:08,251 INFO L73 IsDeterministic]: Start isDeterministic. Operand 30 states and 43 transitions. [2022-07-23 16:02:08,251 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 16:02:08,251 INFO L369 hiAutomatonCegarLoop]: Abstraction has 30 states and 43 transitions. [2022-07-23 16:02:08,251 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 30 states and 43 transitions. [2022-07-23 16:02:08,254 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 30 to 29. [2022-07-23 16:02:08,254 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-23 16:02:08,254 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 42 transitions. [2022-07-23 16:02:08,254 INFO L392 hiAutomatonCegarLoop]: Abstraction has 29 states and 42 transitions. [2022-07-23 16:02:08,255 INFO L374 stractBuchiCegarLoop]: Abstraction has 29 states and 42 transitions. [2022-07-23 16:02:08,255 INFO L287 stractBuchiCegarLoop]: ======== Iteration 3 ============ [2022-07-23 16:02:08,255 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 29 states and 42 transitions. [2022-07-23 16:02:08,259 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 11 [2022-07-23 16:02:08,260 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 16:02:08,260 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 16:02:08,260 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1] [2022-07-23 16:02:08,261 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-23 16:02:08,261 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-23 16:02:08,261 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-23 16:02:08,262 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:08,262 INFO L85 PathProgramCache]: Analyzing trace with hash 123162479, now seen corresponding path program 1 times [2022-07-23 16:02:08,262 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:08,262 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1753144275] [2022-07-23 16:02:08,262 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:08,262 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:08,277 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-23 16:02:08,308 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-23 16:02:08,308 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 16:02:08,309 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1753144275] [2022-07-23 16:02:08,309 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1753144275] provided 0 perfect and 1 imperfect interpolant sequences [2022-07-23 16:02:08,309 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [606749664] [2022-07-23 16:02:08,309 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:08,309 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:02:08,309 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:08,310 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-23 16:02:08,312 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-23 16:02:08,347 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-23 16:02:08,348 INFO L263 TraceCheckSpWp]: Trace formula consists of 74 conjuncts, 4 conjunts are in the unsatisfiable core [2022-07-23 16:02:08,349 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:02:08,379 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-23 16:02:08,379 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-23 16:02:08,398 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-23 16:02:08,398 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [606749664] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-23 16:02:08,398 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-07-23 16:02:08,398 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 7 [2022-07-23 16:02:08,399 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [264816291] [2022-07-23 16:02:08,399 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-07-23 16:02:08,399 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-23 16:02:08,399 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:08,399 INFO L85 PathProgramCache]: Analyzing trace with hash 59702, now seen corresponding path program 1 times [2022-07-23 16:02:08,400 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:08,400 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1897303044] [2022-07-23 16:02:08,400 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:08,400 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:08,406 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:08,406 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:02:08,411 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:08,413 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:02:08,483 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 16:02:08,483 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-07-23 16:02:08,484 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=22, Unknown=0, NotChecked=0, Total=42 [2022-07-23 16:02:08,484 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-23 16:02:08,547 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 16:02:08,547 INFO L93 Difference]: Finished difference Result 32 states and 45 transitions. [2022-07-23 16:02:08,548 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-07-23 16:02:08,548 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 32 states and 45 transitions. [2022-07-23 16:02:08,549 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 11 [2022-07-23 16:02:08,551 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 32 states to 32 states and 45 transitions. [2022-07-23 16:02:08,551 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 22 [2022-07-23 16:02:08,552 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 22 [2022-07-23 16:02:08,552 INFO L73 IsDeterministic]: Start isDeterministic. Operand 32 states and 45 transitions. [2022-07-23 16:02:08,552 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 16:02:08,552 INFO L369 hiAutomatonCegarLoop]: Abstraction has 32 states and 45 transitions. [2022-07-23 16:02:08,552 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states and 45 transitions. [2022-07-23 16:02:08,555 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 31. [2022-07-23 16:02:08,555 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-23 16:02:08,556 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 44 transitions. [2022-07-23 16:02:08,556 INFO L392 hiAutomatonCegarLoop]: Abstraction has 31 states and 44 transitions. [2022-07-23 16:02:08,556 INFO L374 stractBuchiCegarLoop]: Abstraction has 31 states and 44 transitions. [2022-07-23 16:02:08,556 INFO L287 stractBuchiCegarLoop]: ======== Iteration 4 ============ [2022-07-23 16:02:08,556 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 31 states and 44 transitions. [2022-07-23 16:02:08,557 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 11 [2022-07-23 16:02:08,558 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 16:02:08,558 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 16:02:08,559 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [2, 2, 1, 1, 1, 1, 1, 1] [2022-07-23 16:02:08,559 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-23 16:02:08,559 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-23 16:02:08,559 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-23 16:02:08,559 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:08,559 INFO L85 PathProgramCache]: Analyzing trace with hash -1898228851, now seen corresponding path program 2 times [2022-07-23 16:02:08,559 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:08,560 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [593720432] [2022-07-23 16:02:08,560 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:08,560 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:08,572 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:08,572 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:02:08,581 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:08,585 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:02:08,585 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:08,585 INFO L85 PathProgramCache]: Analyzing trace with hash 59702, now seen corresponding path program 2 times [2022-07-23 16:02:08,586 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:08,586 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1358135050] [2022-07-23 16:02:08,586 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:08,586 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:08,591 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:08,591 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:02:08,595 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:08,597 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:02:08,597 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:08,597 INFO L85 PathProgramCache]: Analyzing trace with hash 1698716202, now seen corresponding path program 1 times [2022-07-23 16:02:08,597 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:08,597 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2133315000] [2022-07-23 16:02:08,598 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:08,598 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:08,610 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-23 16:02:08,633 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-23 16:02:08,633 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 16:02:08,634 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2133315000] [2022-07-23 16:02:08,634 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2133315000] provided 1 perfect and 0 imperfect interpolant sequences [2022-07-23 16:02:08,634 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-07-23 16:02:08,634 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-07-23 16:02:08,634 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [111718125] [2022-07-23 16:02:08,634 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-07-23 16:02:08,698 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 16:02:08,698 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-07-23 16:02:08,698 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-07-23 16:02:08,699 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-23 16:02:08,754 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-23 16:02:08,776 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 16:02:08,776 INFO L93 Difference]: Finished difference Result 40 states and 51 transitions. [2022-07-23 16:02:08,776 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-07-23 16:02:08,777 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 40 states and 51 transitions. [2022-07-23 16:02:08,778 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 11 [2022-07-23 16:02:08,778 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 40 states to 39 states and 50 transitions. [2022-07-23 16:02:08,778 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 28 [2022-07-23 16:02:08,778 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 28 [2022-07-23 16:02:08,778 INFO L73 IsDeterministic]: Start isDeterministic. Operand 39 states and 50 transitions. [2022-07-23 16:02:08,778 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 16:02:08,779 INFO L369 hiAutomatonCegarLoop]: Abstraction has 39 states and 50 transitions. [2022-07-23 16:02:08,779 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 39 states and 50 transitions. [2022-07-23 16:02:08,780 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 39 to 36. [2022-07-23 16:02:08,780 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-23 16:02:08,781 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 47 transitions. [2022-07-23 16:02:08,781 INFO L392 hiAutomatonCegarLoop]: Abstraction has 36 states and 47 transitions. [2022-07-23 16:02:08,781 INFO L374 stractBuchiCegarLoop]: Abstraction has 36 states and 47 transitions. [2022-07-23 16:02:08,781 INFO L287 stractBuchiCegarLoop]: ======== Iteration 5 ============ [2022-07-23 16:02:08,781 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 36 states and 47 transitions. [2022-07-23 16:02:08,781 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 11 [2022-07-23 16:02:08,781 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 16:02:08,781 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 16:02:08,782 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1] [2022-07-23 16:02:08,782 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-23 16:02:08,782 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-23 16:02:08,782 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-23 16:02:08,782 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:08,782 INFO L85 PathProgramCache]: Analyzing trace with hash 1698718124, now seen corresponding path program 1 times [2022-07-23 16:02:08,783 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:08,783 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1137493803] [2022-07-23 16:02:08,783 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:08,783 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:08,797 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:08,797 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:02:08,807 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:08,810 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:02:08,811 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:08,811 INFO L85 PathProgramCache]: Analyzing trace with hash 59702, now seen corresponding path program 3 times [2022-07-23 16:02:08,811 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:08,811 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [827759715] [2022-07-23 16:02:08,811 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:08,811 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:08,816 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:08,816 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:02:08,819 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:08,821 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:02:08,821 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:08,821 INFO L85 PathProgramCache]: Analyzing trace with hash -1087986773, now seen corresponding path program 1 times [2022-07-23 16:02:08,821 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:08,822 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1017067961] [2022-07-23 16:02:08,822 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:08,822 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:08,834 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-23 16:02:08,946 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-23 16:02:08,947 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 16:02:08,947 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1017067961] [2022-07-23 16:02:08,947 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1017067961] provided 0 perfect and 1 imperfect interpolant sequences [2022-07-23 16:02:08,947 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [402613694] [2022-07-23 16:02:08,947 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:08,947 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:02:08,948 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:08,952 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-23 16:02:08,963 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-23 16:02:09,000 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-23 16:02:09,001 INFO L263 TraceCheckSpWp]: Trace formula consists of 101 conjuncts, 8 conjunts are in the unsatisfiable core [2022-07-23 16:02:09,003 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:02:09,103 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-23 16:02:09,103 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-23 16:02:09,166 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-23 16:02:09,167 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [402613694] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-23 16:02:09,167 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-07-23 16:02:09,167 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8, 8] total 18 [2022-07-23 16:02:09,167 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [984932920] [2022-07-23 16:02:09,167 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-07-23 16:02:09,226 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 16:02:09,227 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-07-23 16:02:09,227 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=58, Invalid=248, Unknown=0, NotChecked=0, Total=306 [2022-07-23 16:02:09,228 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-23 16:02:09,589 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 16:02:09,590 INFO L93 Difference]: Finished difference Result 75 states and 94 transitions. [2022-07-23 16:02:09,590 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-07-23 16:02:09,591 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 75 states and 94 transitions. [2022-07-23 16:02:09,592 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 13 [2022-07-23 16:02:09,592 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 75 states to 65 states and 83 transitions. [2022-07-23 16:02:09,592 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 46 [2022-07-23 16:02:09,593 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 52 [2022-07-23 16:02:09,593 INFO L73 IsDeterministic]: Start isDeterministic. Operand 65 states and 83 transitions. [2022-07-23 16:02:09,593 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 16:02:09,593 INFO L369 hiAutomatonCegarLoop]: Abstraction has 65 states and 83 transitions. [2022-07-23 16:02:09,593 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 65 states and 83 transitions. [2022-07-23 16:02:09,595 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 65 to 59. [2022-07-23 16:02:09,596 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-23 16:02:09,596 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 75 transitions. [2022-07-23 16:02:09,596 INFO L392 hiAutomatonCegarLoop]: Abstraction has 59 states and 75 transitions. [2022-07-23 16:02:09,596 INFO L374 stractBuchiCegarLoop]: Abstraction has 59 states and 75 transitions. [2022-07-23 16:02:09,596 INFO L287 stractBuchiCegarLoop]: ======== Iteration 6 ============ [2022-07-23 16:02:09,596 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 59 states and 75 transitions. [2022-07-23 16:02:09,597 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 13 [2022-07-23 16:02:09,597 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 16:02:09,597 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 16:02:09,597 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [3, 3, 2, 1, 1, 1, 1, 1, 1, 1] [2022-07-23 16:02:09,597 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-23 16:02:09,598 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-23 16:02:09,598 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-23 16:02:09,598 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:09,598 INFO L85 PathProgramCache]: Analyzing trace with hash -154124210, now seen corresponding path program 2 times [2022-07-23 16:02:09,598 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:09,598 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1872228782] [2022-07-23 16:02:09,598 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:09,598 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:09,611 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:09,611 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:02:09,619 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:09,630 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:02:09,631 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:09,631 INFO L85 PathProgramCache]: Analyzing trace with hash 59702, now seen corresponding path program 4 times [2022-07-23 16:02:09,631 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:09,631 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1722914181] [2022-07-23 16:02:09,631 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:09,631 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:09,643 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:09,643 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:02:09,646 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:09,647 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:02:09,647 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:09,647 INFO L85 PathProgramCache]: Analyzing trace with hash -194270775, now seen corresponding path program 2 times [2022-07-23 16:02:09,648 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:09,648 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1774713993] [2022-07-23 16:02:09,648 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:09,648 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:09,668 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-23 16:02:09,755 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-23 16:02:09,756 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 16:02:09,756 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1774713993] [2022-07-23 16:02:09,756 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1774713993] provided 0 perfect and 1 imperfect interpolant sequences [2022-07-23 16:02:09,756 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1355255252] [2022-07-23 16:02:09,756 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-07-23 16:02:09,756 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:02:09,756 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:09,759 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-23 16:02:09,786 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-23 16:02:09,821 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-07-23 16:02:09,821 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-23 16:02:09,822 INFO L263 TraceCheckSpWp]: Trace formula consists of 112 conjuncts, 8 conjunts are in the unsatisfiable core [2022-07-23 16:02:09,823 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:02:09,928 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-23 16:02:09,928 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-23 16:02:10,145 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-23 16:02:10,145 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1355255252] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-23 16:02:10,145 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-07-23 16:02:10,145 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8, 8] total 19 [2022-07-23 16:02:10,146 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [457456674] [2022-07-23 16:02:10,146 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-07-23 16:02:10,210 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 16:02:10,210 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-07-23 16:02:10,211 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=103, Invalid=239, Unknown=0, NotChecked=0, Total=342 [2022-07-23 16:02:10,211 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-23 16:02:10,507 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 16:02:10,507 INFO L93 Difference]: Finished difference Result 74 states and 88 transitions. [2022-07-23 16:02:10,507 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-07-23 16:02:10,508 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 74 states and 88 transitions. [2022-07-23 16:02:10,508 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 15 [2022-07-23 16:02:10,509 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 74 states to 73 states and 87 transitions. [2022-07-23 16:02:10,509 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 57 [2022-07-23 16:02:10,509 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 57 [2022-07-23 16:02:10,509 INFO L73 IsDeterministic]: Start isDeterministic. Operand 73 states and 87 transitions. [2022-07-23 16:02:10,510 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 16:02:10,510 INFO L369 hiAutomatonCegarLoop]: Abstraction has 73 states and 87 transitions. [2022-07-23 16:02:10,510 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 73 states and 87 transitions. [2022-07-23 16:02:10,512 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 73 to 68. [2022-07-23 16:02:10,513 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-23 16:02:10,513 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 82 transitions. [2022-07-23 16:02:10,513 INFO L392 hiAutomatonCegarLoop]: Abstraction has 68 states and 82 transitions. [2022-07-23 16:02:10,513 INFO L374 stractBuchiCegarLoop]: Abstraction has 68 states and 82 transitions. [2022-07-23 16:02:10,513 INFO L287 stractBuchiCegarLoop]: ======== Iteration 7 ============ [2022-07-23 16:02:10,513 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 68 states and 82 transitions. [2022-07-23 16:02:10,514 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 13 [2022-07-23 16:02:10,514 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 16:02:10,514 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 16:02:10,515 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [3, 3, 3, 2, 2, 1, 1, 1, 1, 1] [2022-07-23 16:02:10,515 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-23 16:02:10,515 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-23 16:02:10,515 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-23 16:02:10,515 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:10,515 INFO L85 PathProgramCache]: Analyzing trace with hash -194268853, now seen corresponding path program 3 times [2022-07-23 16:02:10,515 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:10,516 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1732839259] [2022-07-23 16:02:10,516 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:10,516 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:10,526 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:10,526 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:02:10,532 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:10,536 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:02:10,536 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:10,536 INFO L85 PathProgramCache]: Analyzing trace with hash 59702, now seen corresponding path program 5 times [2022-07-23 16:02:10,536 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:10,536 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [658062874] [2022-07-23 16:02:10,536 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:10,537 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:10,540 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:10,540 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:02:10,551 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:10,552 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:02:10,553 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:10,553 INFO L85 PathProgramCache]: Analyzing trace with hash -2142422100, now seen corresponding path program 3 times [2022-07-23 16:02:10,553 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:10,553 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1502652420] [2022-07-23 16:02:10,553 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:10,553 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:10,562 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-23 16:02:10,616 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-23 16:02:10,617 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 16:02:10,617 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1502652420] [2022-07-23 16:02:10,617 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1502652420] provided 0 perfect and 1 imperfect interpolant sequences [2022-07-23 16:02:10,617 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [371797054] [2022-07-23 16:02:10,617 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-07-23 16:02:10,617 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:02:10,618 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:10,619 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-23 16:02:10,648 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-23 16:02:10,681 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2022-07-23 16:02:10,681 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-23 16:02:10,682 INFO L263 TraceCheckSpWp]: Trace formula consists of 116 conjuncts, 10 conjunts are in the unsatisfiable core [2022-07-23 16:02:10,683 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:02:10,763 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-23 16:02:10,763 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-23 16:02:10,819 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-23 16:02:10,819 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [371797054] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-23 16:02:10,819 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-07-23 16:02:10,819 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 10, 10] total 16 [2022-07-23 16:02:10,819 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1066259596] [2022-07-23 16:02:10,820 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-07-23 16:02:10,873 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 16:02:10,874 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-07-23 16:02:10,874 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=72, Invalid=200, Unknown=0, NotChecked=0, Total=272 [2022-07-23 16:02:10,874 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-23 16:02:11,222 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 16:02:11,223 INFO L93 Difference]: Finished difference Result 119 states and 141 transitions. [2022-07-23 16:02:11,223 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-07-23 16:02:11,223 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 119 states and 141 transitions. [2022-07-23 16:02:11,225 INFO L131 ngComponentsAnalysis]: Automaton has 7 accepting balls. 17 [2022-07-23 16:02:11,226 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 119 states to 104 states and 125 transitions. [2022-07-23 16:02:11,226 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 80 [2022-07-23 16:02:11,226 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 86 [2022-07-23 16:02:11,226 INFO L73 IsDeterministic]: Start isDeterministic. Operand 104 states and 125 transitions. [2022-07-23 16:02:11,227 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 16:02:11,227 INFO L369 hiAutomatonCegarLoop]: Abstraction has 104 states and 125 transitions. [2022-07-23 16:02:11,227 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 104 states and 125 transitions. [2022-07-23 16:02:11,230 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 104 to 91. [2022-07-23 16:02:11,231 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-23 16:02:11,231 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 91 states to 91 states and 109 transitions. [2022-07-23 16:02:11,231 INFO L392 hiAutomatonCegarLoop]: Abstraction has 91 states and 109 transitions. [2022-07-23 16:02:11,232 INFO L374 stractBuchiCegarLoop]: Abstraction has 91 states and 109 transitions. [2022-07-23 16:02:11,232 INFO L287 stractBuchiCegarLoop]: ======== Iteration 8 ============ [2022-07-23 16:02:11,232 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 91 states and 109 transitions. [2022-07-23 16:02:11,232 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 13 [2022-07-23 16:02:11,233 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 16:02:11,233 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 16:02:11,233 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [4, 4, 3, 2, 2, 1, 1, 1, 1, 1] [2022-07-23 16:02:11,233 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-23 16:02:11,234 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-23 16:02:11,234 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-23 16:02:11,234 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:11,234 INFO L85 PathProgramCache]: Analyzing trace with hash -326653975, now seen corresponding path program 4 times [2022-07-23 16:02:11,234 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:11,235 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [944485652] [2022-07-23 16:02:11,235 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:11,235 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:11,246 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:11,247 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:02:11,255 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:11,258 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:02:11,259 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:11,259 INFO L85 PathProgramCache]: Analyzing trace with hash 59702, now seen corresponding path program 6 times [2022-07-23 16:02:11,259 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:11,259 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [376052278] [2022-07-23 16:02:11,260 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:11,260 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:11,263 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:11,264 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:02:11,265 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:11,267 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:02:11,267 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:11,267 INFO L85 PathProgramCache]: Analyzing trace with hash 1047353422, now seen corresponding path program 4 times [2022-07-23 16:02:11,268 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:11,268 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [333020270] [2022-07-23 16:02:11,268 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:11,268 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:11,277 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-23 16:02:11,339 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-23 16:02:11,340 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 16:02:11,340 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [333020270] [2022-07-23 16:02:11,340 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [333020270] provided 0 perfect and 1 imperfect interpolant sequences [2022-07-23 16:02:11,340 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [86629378] [2022-07-23 16:02:11,340 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-07-23 16:02:11,341 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:02:11,341 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:11,347 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-23 16:02:11,359 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-23 16:02:11,398 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-07-23 16:02:11,398 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-23 16:02:11,399 INFO L263 TraceCheckSpWp]: Trace formula consists of 106 conjuncts, 10 conjunts are in the unsatisfiable core [2022-07-23 16:02:11,400 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:02:11,563 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-23 16:02:11,563 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-23 16:02:11,844 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-23 16:02:11,844 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [86629378] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-23 16:02:11,844 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-07-23 16:02:11,845 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 10, 10] total 25 [2022-07-23 16:02:11,845 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [422038654] [2022-07-23 16:02:11,845 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-07-23 16:02:11,908 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 16:02:11,909 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2022-07-23 16:02:11,909 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=112, Invalid=488, Unknown=0, NotChecked=0, Total=600 [2022-07-23 16:02:11,909 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-23 16:02:12,805 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 16:02:12,805 INFO L93 Difference]: Finished difference Result 166 states and 193 transitions. [2022-07-23 16:02:12,805 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 30 states. [2022-07-23 16:02:12,806 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 166 states and 193 transitions. [2022-07-23 16:02:12,807 INFO L131 ngComponentsAnalysis]: Automaton has 9 accepting balls. 25 [2022-07-23 16:02:12,809 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 166 states to 160 states and 187 transitions. [2022-07-23 16:02:12,809 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 126 [2022-07-23 16:02:12,809 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 126 [2022-07-23 16:02:12,809 INFO L73 IsDeterministic]: Start isDeterministic. Operand 160 states and 187 transitions. [2022-07-23 16:02:12,809 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 16:02:12,810 INFO L369 hiAutomatonCegarLoop]: Abstraction has 160 states and 187 transitions. [2022-07-23 16:02:12,810 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 160 states and 187 transitions. [2022-07-23 16:02:12,815 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 160 to 139. [2022-07-23 16:02:12,815 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-23 16:02:12,816 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 139 states to 139 states and 165 transitions. [2022-07-23 16:02:12,816 INFO L392 hiAutomatonCegarLoop]: Abstraction has 139 states and 165 transitions. [2022-07-23 16:02:12,816 INFO L374 stractBuchiCegarLoop]: Abstraction has 139 states and 165 transitions. [2022-07-23 16:02:12,817 INFO L287 stractBuchiCegarLoop]: ======== Iteration 9 ============ [2022-07-23 16:02:12,817 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 139 states and 165 transitions. [2022-07-23 16:02:12,818 INFO L131 ngComponentsAnalysis]: Automaton has 8 accepting balls. 21 [2022-07-23 16:02:12,818 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 16:02:12,818 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 16:02:12,818 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [5, 5, 4, 3, 3, 1, 1, 1, 1, 1] [2022-07-23 16:02:12,819 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-23 16:02:12,819 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-23 16:02:12,819 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-23 16:02:12,819 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:12,820 INFO L85 PathProgramCache]: Analyzing trace with hash -185017358, now seen corresponding path program 5 times [2022-07-23 16:02:12,820 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:12,820 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1421135752] [2022-07-23 16:02:12,820 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:12,820 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:12,830 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:12,831 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:02:12,837 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:12,841 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:02:12,842 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:12,842 INFO L85 PathProgramCache]: Analyzing trace with hash 59702, now seen corresponding path program 7 times [2022-07-23 16:02:12,842 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:12,842 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1218305868] [2022-07-23 16:02:12,842 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:12,843 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:12,846 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:12,846 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:02:12,848 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:12,849 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:02:12,850 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:12,850 INFO L85 PathProgramCache]: Analyzing trace with hash -1409041499, now seen corresponding path program 5 times [2022-07-23 16:02:12,850 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:12,850 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [521099738] [2022-07-23 16:02:12,850 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:12,850 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:12,863 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:12,864 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:02:12,873 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:12,876 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:02:14,049 INFO L210 LassoAnalysis]: Preferences: [2022-07-23 16:02:14,049 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-23 16:02:14,049 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-23 16:02:14,050 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-23 16:02:14,050 INFO L129 ssoRankerPreferences]: Use exernal solver: false [2022-07-23 16:02:14,050 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:14,050 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-23 16:02:14,050 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-23 16:02:14,050 INFO L133 ssoRankerPreferences]: Filename of dumped script: rangesum.i_Iteration9_Lasso [2022-07-23 16:02:14,050 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-23 16:02:14,050 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-23 16:02:14,052 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-23 16:02:14,057 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-23 16:02:14,059 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-23 16:02:14,061 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-23 16:02:14,064 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-23 16:02:14,066 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-23 16:02:14,068 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-23 16:02:14,069 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-23 16:02:14,071 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-23 16:02:14,073 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-23 16:02:14,075 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-23 16:02:14,077 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-23 16:02:14,079 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-23 16:02:14,618 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-23 16:02:14,620 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-23 16:02:14,622 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-23 16:02:14,624 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-23 16:02:14,626 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-23 16:02:14,628 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-23 16:02:14,629 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-23 16:02:14,632 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-23 16:02:14,634 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-23 16:02:14,636 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-23 16:02:14,638 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-23 16:02:15,066 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-23 16:02:15,066 INFO L490 LassoAnalysis]: Using template 'affine'. [2022-07-23 16:02:15,067 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:15,067 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:15,072 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-23 16:02:15,076 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-23 16:02:15,076 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-23 16:02:15,082 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:15,082 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-23 16:02:15,082 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:15,082 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:15,082 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:15,082 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-23 16:02:15,083 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-23 16:02:15,083 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-23 16:02:15,099 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (35)] Ended with exit code 0 [2022-07-23 16:02:15,099 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:15,100 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:15,101 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-23 16:02:15,101 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-23 16:02:15,103 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-23 16:02:15,108 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:15,109 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-23 16:02:15,109 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:15,109 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:15,109 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:15,109 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-23 16:02:15,109 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-23 16:02:15,110 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-23 16:02:15,128 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-23 16:02:15,128 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:15,128 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:15,129 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-23 16:02:15,137 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-23 16:02:15,143 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-23 16:02:15,144 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:15,144 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-23 16:02:15,144 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:15,144 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:15,144 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:15,144 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-23 16:02:15,144 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-23 16:02:15,145 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-23 16:02:15,164 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-23 16:02:15,164 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:15,164 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:15,165 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-23 16:02:15,166 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-23 16:02:15,169 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-23 16:02:15,175 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:15,175 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:15,175 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:15,175 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:15,176 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-23 16:02:15,176 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-23 16:02:15,178 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-23 16:02:15,198 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (38)] Ended with exit code 0 [2022-07-23 16:02:15,199 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:15,199 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:15,200 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-23 16:02:15,201 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-23 16:02:15,202 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-23 16:02:15,207 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:15,207 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-23 16:02:15,208 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:15,208 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:15,208 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:15,208 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-23 16:02:15,208 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-23 16:02:15,209 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-23 16:02:15,227 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (39)] Forceful destruction successful, exit code 0 [2022-07-23 16:02:15,227 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:15,227 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:15,228 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-23 16:02:15,232 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-23 16:02:15,232 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-23 16:02:15,238 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:15,238 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-23 16:02:15,238 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:15,238 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:15,238 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:15,238 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-23 16:02:15,238 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-23 16:02:15,239 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-23 16:02:15,255 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (40)] Ended with exit code 0 [2022-07-23 16:02:15,255 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:15,255 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:15,256 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-23 16:02:15,257 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-23 16:02:15,259 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-23 16:02:15,266 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:15,267 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-23 16:02:15,267 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:15,267 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:15,267 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:15,267 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-23 16:02:15,267 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-23 16:02:15,270 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-23 16:02:15,285 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-23 16:02:15,286 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:15,286 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:15,287 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-23 16:02:15,288 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-23 16:02:15,290 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-23 16:02:15,295 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:15,296 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-23 16:02:15,296 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:15,296 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:15,296 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:15,296 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-23 16:02:15,296 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-23 16:02:15,297 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-23 16:02:15,312 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (42)] Ended with exit code 0 [2022-07-23 16:02:15,313 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:15,313 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:15,314 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-23 16:02:15,314 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-23 16:02:15,316 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-23 16:02:15,322 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:15,322 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-23 16:02:15,322 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:15,322 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:15,322 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:15,322 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-23 16:02:15,322 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-23 16:02:15,323 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-23 16:02:15,339 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (43)] Forceful destruction successful, exit code 0 [2022-07-23 16:02:15,339 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:15,340 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:15,340 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-23 16:02:15,341 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-23 16:02:15,343 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-23 16:02:15,348 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:15,348 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-23 16:02:15,349 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:15,349 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:15,349 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:15,349 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-23 16:02:15,349 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-23 16:02:15,350 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-23 16:02:15,365 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-23 16:02:15,365 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:15,366 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:15,366 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-23 16:02:15,367 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-23 16:02:15,368 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-23 16:02:15,374 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:15,374 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:15,374 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:15,374 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:15,376 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-23 16:02:15,376 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-23 16:02:15,383 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-23 16:02:15,399 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (45)] Forceful destruction successful, exit code 0 [2022-07-23 16:02:15,399 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:15,400 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:15,400 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-23 16:02:15,410 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-23 16:02:15,417 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:15,418 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-23 16:02:15,418 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:15,418 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:15,418 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:15,418 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-23 16:02:15,418 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-23 16:02:15,420 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-23 16:02:15,428 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-23 16:02:15,448 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-23 16:02:15,449 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:15,449 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:15,450 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-23 16:02:15,450 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-23 16:02:15,452 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-23 16:02:15,457 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:15,458 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:15,458 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:15,458 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:15,459 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-23 16:02:15,459 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-23 16:02:15,461 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-23 16:02:15,477 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (47)] Forceful destruction successful, exit code 0 [2022-07-23 16:02:15,477 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:15,478 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:15,478 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-23 16:02:15,479 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-23 16:02:15,481 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-23 16:02:15,486 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:15,486 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:15,487 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:15,487 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:15,488 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-23 16:02:15,488 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-23 16:02:15,490 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-23 16:02:15,506 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-23 16:02:15,506 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:15,506 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:15,507 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-23 16:02:15,508 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-23 16:02:15,509 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-23 16:02:15,515 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:15,515 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:15,515 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:15,515 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:15,517 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-23 16:02:15,517 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-23 16:02:15,520 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-23 16:02:15,536 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-23 16:02:15,537 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:15,537 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:15,537 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-23 16:02:15,538 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-23 16:02:15,540 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-23 16:02:15,546 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:15,546 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:15,546 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:15,546 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:15,547 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-23 16:02:15,547 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-23 16:02:15,550 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-23 16:02:15,566 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-23 16:02:15,567 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:15,567 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:15,567 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-23 16:02:15,568 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-23 16:02:15,569 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-23 16:02:15,575 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:15,576 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:15,576 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:15,576 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:15,579 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-23 16:02:15,579 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-23 16:02:15,583 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-23 16:02:15,599 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-23 16:02:15,599 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:15,600 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:15,600 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-23 16:02:15,601 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-23 16:02:15,602 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-23 16:02:15,608 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:15,608 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:15,608 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:15,608 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:15,609 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-23 16:02:15,609 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-23 16:02:15,611 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-23 16:02:15,627 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (52)] Ended with exit code 0 [2022-07-23 16:02:15,628 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:15,628 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:15,628 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-23 16:02:15,630 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-23 16:02:15,631 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-23 16:02:15,637 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:15,637 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:15,637 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:15,637 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:15,638 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-23 16:02:15,638 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-23 16:02:15,640 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-23 16:02:15,656 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (53)] Forceful destruction successful, exit code 0 [2022-07-23 16:02:15,656 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:15,656 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:15,657 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-23 16:02:15,658 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-23 16:02:15,660 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-23 16:02:15,665 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:15,666 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:15,666 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:15,666 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:15,668 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-23 16:02:15,668 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-23 16:02:15,671 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-23 16:02:15,687 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-23 16:02:15,687 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:15,687 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:15,688 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-23 16:02:15,689 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-23 16:02:15,693 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-23 16:02:15,698 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:15,699 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:15,699 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:15,699 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:15,700 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-23 16:02:15,700 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-23 16:02:15,710 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-23 16:02:15,733 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-23 16:02:15,734 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:15,734 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:15,735 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-23 16:02:15,739 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-23 16:02:15,739 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-23 16:02:15,745 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:15,745 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:15,745 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:15,745 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:15,746 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-23 16:02:15,746 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-23 16:02:15,748 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-23 16:02:15,764 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-23 16:02:15,765 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:15,765 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:15,766 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-23 16:02:15,766 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-23 16:02:15,767 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-23 16:02:15,774 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:15,774 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:15,774 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:15,774 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:15,788 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-23 16:02:15,788 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-23 16:02:15,814 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2022-07-23 16:02:15,835 INFO L443 ModelExtractionUtils]: Simplification made 10 calls to the SMT solver. [2022-07-23 16:02:15,835 INFO L444 ModelExtractionUtils]: 23 out of 37 variables were initially zero. Simplification set additionally 10 variables to zero. [2022-07-23 16:02:15,835 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:15,835 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:15,836 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-23 16:02:15,837 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-23 16:02:15,838 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2022-07-23 16:02:15,845 INFO L438 nArgumentSynthesizer]: Removed 2 redundant supporting invariants from a total of 2. [2022-07-23 16:02:15,845 INFO L513 LassoAnalysis]: Proved termination. [2022-07-23 16:02:15,845 INFO L515 LassoAnalysis]: Termination argument consisting of: Ranking function f(ULTIMATE.start_rangesum_~x#1.offset, ULTIMATE.start_rangesum_~i~1#1, v_rep(select #length ULTIMATE.start_rangesum_~x#1.base)_1) = -1*ULTIMATE.start_rangesum_~x#1.offset - 4*ULTIMATE.start_rangesum_~i~1#1 + 1*v_rep(select #length ULTIMATE.start_rangesum_~x#1.base)_1 Supporting invariants [] [2022-07-23 16:02:15,861 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-23 16:02:15,938 INFO L293 tatePredicateManager]: 34 out of 34 supporting invariants were superfluous and have been removed [2022-07-23 16:02:15,946 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:15,992 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-23 16:02:15,993 INFO L263 TraceCheckSpWp]: Trace formula consists of 130 conjuncts, 2 conjunts are in the unsatisfiable core [2022-07-23 16:02:15,994 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:02:16,029 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-23 16:02:16,030 INFO L263 TraceCheckSpWp]: Trace formula consists of 14 conjuncts, 4 conjunts are in the unsatisfiable core [2022-07-23 16:02:16,030 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:02:16,090 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (58)] Ended with exit code 0 [2022-07-23 16:02:16,096 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-23 16:02:16,097 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-23 16:02:16,097 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-23 16:02:16,121 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-23 16:02:16,123 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-23 16:02:16,124 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-23 16:02:16,124 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 19 transitions. [2022-07-23 16:02:16,124 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 19 transitions. Stem has 25 letters. Loop has 3 letters. [2022-07-23 16:02:16,125 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-23 16:02:16,125 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 19 transitions. Stem has 28 letters. Loop has 3 letters. [2022-07-23 16:02:16,125 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-23 16:02:16,125 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 19 transitions. Stem has 25 letters. Loop has 6 letters. [2022-07-23 16:02:16,125 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-23 16:02:16,126 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 188 states and 230 transitions. [2022-07-23 16:02:16,127 INFO L131 ngComponentsAnalysis]: Automaton has 7 accepting balls. 18 [2022-07-23 16:02:16,128 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 188 states to 165 states and 197 transitions. [2022-07-23 16:02:16,129 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 99 [2022-07-23 16:02:16,129 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 114 [2022-07-23 16:02:16,129 INFO L73 IsDeterministic]: Start isDeterministic. Operand 165 states and 197 transitions. [2022-07-23 16:02:16,129 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 16:02:16,129 INFO L369 hiAutomatonCegarLoop]: Abstraction has 165 states and 197 transitions. [2022-07-23 16:02:16,130 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 165 states and 197 transitions. [2022-07-23 16:02:16,134 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 165 to 159. [2022-07-23 16:02:16,135 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-23 16:02:16,135 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 159 states to 159 states and 188 transitions. [2022-07-23 16:02:16,135 INFO L392 hiAutomatonCegarLoop]: Abstraction has 159 states and 188 transitions. [2022-07-23 16:02:16,135 INFO L374 stractBuchiCegarLoop]: Abstraction has 159 states and 188 transitions. [2022-07-23 16:02:16,136 INFO L287 stractBuchiCegarLoop]: ======== Iteration 10 ============ [2022-07-23 16:02:16,136 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 159 states and 188 transitions. [2022-07-23 16:02:16,137 INFO L131 ngComponentsAnalysis]: Automaton has 7 accepting balls. 18 [2022-07-23 16:02:16,137 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 16:02:16,137 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 16:02:16,137 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-23 16:02:16,138 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2022-07-23 16:02:16,138 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-23 16:02:16,138 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-23 16:02:16,139 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:16,139 INFO L85 PathProgramCache]: Analyzing trace with hash -1751120697, now seen corresponding path program 1 times [2022-07-23 16:02:16,139 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:16,139 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [886971519] [2022-07-23 16:02:16,139 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:16,139 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:16,150 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:16,150 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:02:16,157 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:16,160 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:02:16,161 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:16,161 INFO L85 PathProgramCache]: Analyzing trace with hash 3427, now seen corresponding path program 1 times [2022-07-23 16:02:16,161 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:16,161 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1676870389] [2022-07-23 16:02:16,161 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:16,162 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:16,164 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:16,165 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:02:16,166 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:16,167 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:02:16,167 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:16,167 INFO L85 PathProgramCache]: Analyzing trace with hash 800192681, now seen corresponding path program 1 times [2022-07-23 16:02:16,167 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:16,168 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2038696473] [2022-07-23 16:02:16,168 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:16,168 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:16,178 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:16,179 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:02:16,186 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:16,190 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:02:17,051 INFO L210 LassoAnalysis]: Preferences: [2022-07-23 16:02:17,051 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-23 16:02:17,051 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-23 16:02:17,051 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-23 16:02:17,051 INFO L129 ssoRankerPreferences]: Use exernal solver: false [2022-07-23 16:02:17,051 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:17,051 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-23 16:02:17,052 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-23 16:02:17,052 INFO L133 ssoRankerPreferences]: Filename of dumped script: rangesum.i_Iteration10_Lasso [2022-07-23 16:02:17,052 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-23 16:02:17,052 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-23 16:02:17,054 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-23 16:02:17,062 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-23 16:02:17,064 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-23 16:02:17,066 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-23 16:02:17,069 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-23 16:02:17,589 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-23 16:02:17,591 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-23 16:02:17,592 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-23 16:02:17,594 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-23 16:02:17,596 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-23 16:02:17,600 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-23 16:02:17,603 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-23 16:02:17,605 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-23 16:02:17,607 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-23 16:02:17,608 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-23 16:02:17,610 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-23 16:02:17,612 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-23 16:02:17,614 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-23 16:02:17,616 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-23 16:02:17,618 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-23 16:02:17,619 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-23 16:02:17,621 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-23 16:02:17,623 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-23 16:02:17,624 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-23 16:02:18,005 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-23 16:02:18,005 INFO L490 LassoAnalysis]: Using template 'affine'. [2022-07-23 16:02:18,005 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:18,006 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:18,009 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-23 16:02:18,009 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-23 16:02:18,011 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-23 16:02:18,016 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:18,017 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:18,017 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:18,017 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:18,018 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-23 16:02:18,018 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-23 16:02:18,020 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-23 16:02:18,035 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (59)] Ended with exit code 0 [2022-07-23 16:02:18,036 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:18,036 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:18,036 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-23 16:02:18,037 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-23 16:02:18,040 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-23 16:02:18,045 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:18,045 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-23 16:02:18,045 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:18,046 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:18,046 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:18,046 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-23 16:02:18,046 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-23 16:02:18,047 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-23 16:02:18,062 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-23 16:02:18,063 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:18,063 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:18,064 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-23 16:02:18,064 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-23 16:02:18,066 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-23 16:02:18,071 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:18,072 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:18,072 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:18,072 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:18,073 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-23 16:02:18,073 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-23 16:02:18,074 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-23 16:02:18,090 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (61)] Ended with exit code 0 [2022-07-23 16:02:18,090 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:18,091 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:18,092 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-23 16:02:18,093 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-23 16:02:18,093 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-23 16:02:18,099 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:18,099 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:18,099 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:18,099 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:18,100 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-23 16:02:18,100 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-23 16:02:18,102 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-23 16:02:18,118 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (62)] Ended with exit code 0 [2022-07-23 16:02:18,118 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:18,118 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:18,119 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-23 16:02:18,127 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-23 16:02:18,128 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-23 16:02:18,133 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:18,133 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:18,133 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:18,133 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:18,134 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-23 16:02:18,135 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-23 16:02:18,142 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-23 16:02:18,158 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-23 16:02:18,158 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:18,158 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:18,159 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-23 16:02:18,160 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-23 16:02:18,161 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-23 16:02:18,167 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:18,167 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:18,167 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:18,167 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:18,168 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-23 16:02:18,168 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-23 16:02:18,171 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-23 16:02:18,187 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (64)] Forceful destruction successful, exit code 0 [2022-07-23 16:02:18,187 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:18,187 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:18,188 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-23 16:02:18,188 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-23 16:02:18,190 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-23 16:02:18,196 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:18,196 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:18,196 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:18,196 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:18,197 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-23 16:02:18,197 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-23 16:02:18,200 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-23 16:02:18,215 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-23 16:02:18,216 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:18,216 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:18,217 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-23 16:02:18,217 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-23 16:02:18,218 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-23 16:02:18,224 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:18,224 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:18,224 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:18,224 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:18,226 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-23 16:02:18,226 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-23 16:02:18,228 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-23 16:02:18,244 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (66)] Forceful destruction successful, exit code 0 [2022-07-23 16:02:18,244 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:18,244 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:18,245 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-23 16:02:18,245 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-23 16:02:18,249 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-23 16:02:18,254 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:18,255 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:18,255 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:18,255 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:18,257 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-23 16:02:18,257 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-23 16:02:18,259 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-23 16:02:18,275 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (67)] Ended with exit code 0 [2022-07-23 16:02:18,275 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:18,275 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:18,276 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-23 16:02:18,277 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-23 16:02:18,278 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-23 16:02:18,285 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:18,285 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:18,285 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:18,285 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:18,290 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2022-07-23 16:02:18,290 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2022-07-23 16:02:18,298 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2022-07-23 16:02:18,316 INFO L443 ModelExtractionUtils]: Simplification made 14 calls to the SMT solver. [2022-07-23 16:02:18,316 INFO L444 ModelExtractionUtils]: 17 out of 31 variables were initially zero. Simplification set additionally 11 variables to zero. [2022-07-23 16:02:18,316 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:18,316 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:18,317 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-23 16:02:18,318 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-23 16:02:18,319 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2022-07-23 16:02:18,327 INFO L438 nArgumentSynthesizer]: Removed 2 redundant supporting invariants from a total of 2. [2022-07-23 16:02:18,327 INFO L513 LassoAnalysis]: Proved termination. [2022-07-23 16:02:18,328 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-23 16:02:18,344 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (68)] Ended with exit code 0 [2022-07-23 16:02:18,395 INFO L293 tatePredicateManager]: 24 out of 25 supporting invariants were superfluous and have been removed [2022-07-23 16:02:18,410 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:18,434 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-23 16:02:18,435 INFO L263 TraceCheckSpWp]: Trace formula consists of 150 conjuncts, 4 conjunts are in the unsatisfiable core [2022-07-23 16:02:18,436 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:02:18,504 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-23 16:02:18,505 INFO L263 TraceCheckSpWp]: Trace formula consists of 17 conjuncts, 6 conjunts are in the unsatisfiable core [2022-07-23 16:02:18,505 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:02:18,521 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-23 16:02:18,522 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-23 16:02:18,522 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-23 16:02:18,555 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-23 16:02:18,555 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-23 16:02:18,555 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-23 16:02:18,556 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 31 transitions. [2022-07-23 16:02:18,556 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 31 transitions. Stem has 27 letters. Loop has 2 letters. [2022-07-23 16:02:18,556 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-23 16:02:18,556 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 31 transitions. Stem has 29 letters. Loop has 2 letters. [2022-07-23 16:02:18,556 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-23 16:02:18,556 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 31 transitions. Stem has 27 letters. Loop has 4 letters. [2022-07-23 16:02:18,556 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-23 16:02:18,557 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 181 states and 220 transitions. [2022-07-23 16:02:18,558 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 12 [2022-07-23 16:02:18,559 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 181 states to 116 states and 140 transitions. [2022-07-23 16:02:18,559 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 60 [2022-07-23 16:02:18,559 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 62 [2022-07-23 16:02:18,559 INFO L73 IsDeterministic]: Start isDeterministic. Operand 116 states and 140 transitions. [2022-07-23 16:02:18,560 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 16:02:18,560 INFO L369 hiAutomatonCegarLoop]: Abstraction has 116 states and 140 transitions. [2022-07-23 16:02:18,560 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 116 states and 140 transitions. [2022-07-23 16:02:18,562 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 116 to 116. [2022-07-23 16:02:18,563 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-23 16:02:18,563 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 116 states to 116 states and 140 transitions. [2022-07-23 16:02:18,563 INFO L392 hiAutomatonCegarLoop]: Abstraction has 116 states and 140 transitions. [2022-07-23 16:02:18,563 INFO L374 stractBuchiCegarLoop]: Abstraction has 116 states and 140 transitions. [2022-07-23 16:02:18,563 INFO L287 stractBuchiCegarLoop]: ======== Iteration 11 ============ [2022-07-23 16:02:18,564 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 116 states and 140 transitions. [2022-07-23 16:02:18,569 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 12 [2022-07-23 16:02:18,570 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 16:02:18,570 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 16:02:18,571 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [4, 4, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-23 16:02:18,574 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-23 16:02:18,574 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-23 16:02:18,574 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-23 16:02:18,574 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:18,574 INFO L85 PathProgramCache]: Analyzing trace with hash 1627383893, now seen corresponding path program 1 times [2022-07-23 16:02:18,574 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:18,574 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [545900871] [2022-07-23 16:02:18,574 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:18,575 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:18,584 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-23 16:02:18,675 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-23 16:02:18,675 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 16:02:18,675 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [545900871] [2022-07-23 16:02:18,675 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [545900871] provided 0 perfect and 1 imperfect interpolant sequences [2022-07-23 16:02:18,675 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [892855506] [2022-07-23 16:02:18,676 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:18,676 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:02:18,676 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:18,677 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-23 16:02:18,678 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-23 16:02:18,732 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-23 16:02:18,733 INFO L263 TraceCheckSpWp]: Trace formula consists of 163 conjuncts, 10 conjunts are in the unsatisfiable core [2022-07-23 16:02:18,734 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:02:18,875 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-23 16:02:18,875 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-23 16:02:18,953 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-23 16:02:18,954 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [892855506] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-23 16:02:18,954 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-07-23 16:02:18,954 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 11, 11] total 20 [2022-07-23 16:02:18,954 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1634481919] [2022-07-23 16:02:18,954 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-07-23 16:02:18,954 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-23 16:02:18,954 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:18,955 INFO L85 PathProgramCache]: Analyzing trace with hash 88159, now seen corresponding path program 1 times [2022-07-23 16:02:18,955 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:18,955 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [386592675] [2022-07-23 16:02:18,955 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:18,955 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:18,957 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:18,957 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:02:18,958 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:18,964 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:02:18,989 INFO L210 LassoAnalysis]: Preferences: [2022-07-23 16:02:18,989 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-23 16:02:18,989 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-23 16:02:18,989 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-23 16:02:18,990 INFO L129 ssoRankerPreferences]: Use exernal solver: true [2022-07-23 16:02:18,990 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:18,990 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-23 16:02:18,990 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-23 16:02:18,990 INFO L133 ssoRankerPreferences]: Filename of dumped script: rangesum.i_Iteration11_Loop [2022-07-23 16:02:18,990 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-23 16:02:18,990 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-23 16:02:18,990 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-23 16:02:18,992 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-23 16:02:19,036 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-23 16:02:19,036 INFO L404 LassoAnalysis]: Checking for nontermination... [2022-07-23 16:02:19,036 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:19,036 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:19,040 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-23 16:02:19,043 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-23 16:02:19,043 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-23 16:02:19,055 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-23 16:02:19,070 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-23 16:02:19,070 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-23 16:02:19,093 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-23 16:02:19,093 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:19,093 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:19,094 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-23 16:02:19,095 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-23 16:02:19,096 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-23 16:02:19,096 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-23 16:02:19,118 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (72)] Forceful destruction successful, exit code 0 [2022-07-23 16:02:19,119 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:19,119 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:19,120 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-23 16:02:19,120 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-23 16:02:19,122 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2022-07-23 16:02:19,122 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-23 16:02:19,462 INFO L444 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2022-07-23 16:02:19,465 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (73)] Forceful destruction successful, exit code 0 [2022-07-23 16:02:19,465 INFO L210 LassoAnalysis]: Preferences: [2022-07-23 16:02:19,466 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-23 16:02:19,466 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-23 16:02:19,466 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-23 16:02:19,466 INFO L129 ssoRankerPreferences]: Use exernal solver: false [2022-07-23 16:02:19,466 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:19,466 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-23 16:02:19,466 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-23 16:02:19,466 INFO L133 ssoRankerPreferences]: Filename of dumped script: rangesum.i_Iteration11_Loop [2022-07-23 16:02:19,466 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-23 16:02:19,466 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-23 16:02:19,466 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-23 16:02:19,468 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-23 16:02:19,505 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-23 16:02:19,506 INFO L490 LassoAnalysis]: Using template 'affine'. [2022-07-23 16:02:19,506 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:19,506 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:19,507 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-23 16:02:19,507 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-23 16:02:19,510 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-23 16:02:19,515 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:19,515 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-23 16:02:19,515 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:19,515 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:19,515 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:19,516 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-23 16:02:19,516 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-23 16:02:19,517 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-23 16:02:19,532 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-23 16:02:19,532 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:19,532 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:19,533 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-23 16:02:19,534 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-23 16:02:19,535 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-23 16:02:19,541 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:19,541 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-23 16:02:19,541 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:19,541 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:19,541 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:19,542 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-23 16:02:19,542 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-23 16:02:19,543 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2022-07-23 16:02:19,545 INFO L443 ModelExtractionUtils]: Simplification made 4 calls to the SMT solver. [2022-07-23 16:02:19,545 INFO L444 ModelExtractionUtils]: 0 out of 4 variables were initially zero. Simplification set additionally 1 variables to zero. [2022-07-23 16:02:19,545 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:19,546 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:19,547 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-23 16:02:19,558 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-23 16:02:19,563 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2022-07-23 16:02:19,564 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2022-07-23 16:02:19,564 INFO L513 LassoAnalysis]: Proved termination. [2022-07-23 16:02:19,564 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-23 16:02:19,578 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-23 16:02:19,584 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-23 16:02:19,585 INFO L293 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2022-07-23 16:02:19,594 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:19,620 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-23 16:02:19,621 INFO L263 TraceCheckSpWp]: Trace formula consists of 163 conjuncts, 2 conjunts are in the unsatisfiable core [2022-07-23 16:02:19,623 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:02:19,658 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-23 16:02:19,658 WARN L261 TraceCheckSpWp]: Trace formula consists of 6 conjuncts, 5 conjunts are in the unsatisfiable core [2022-07-23 16:02:19,658 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:02:19,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-23 16:02:19,677 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-23 16:02:19,678 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-23 16:02:19,719 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-23 16:02:19,720 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-23 16:02:19,720 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-23 16:02:19,720 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 29 transitions. [2022-07-23 16:02:19,720 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 29 transitions. Stem has 33 letters. Loop has 3 letters. [2022-07-23 16:02:19,721 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-23 16:02:19,721 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 29 transitions. Stem has 36 letters. Loop has 3 letters. [2022-07-23 16:02:19,721 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-23 16:02:19,721 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 29 transitions. Stem has 33 letters. Loop has 6 letters. [2022-07-23 16:02:19,721 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-23 16:02:19,722 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 145 states and 178 transitions. [2022-07-23 16:02:19,723 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 9 [2022-07-23 16:02:19,723 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 145 states to 123 states and 149 transitions. [2022-07-23 16:02:19,724 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 50 [2022-07-23 16:02:19,724 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 52 [2022-07-23 16:02:19,724 INFO L73 IsDeterministic]: Start isDeterministic. Operand 123 states and 149 transitions. [2022-07-23 16:02:19,724 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 16:02:19,724 INFO L369 hiAutomatonCegarLoop]: Abstraction has 123 states and 149 transitions. [2022-07-23 16:02:19,725 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 123 states and 149 transitions. [2022-07-23 16:02:19,727 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 123 to 120. [2022-07-23 16:02:19,727 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-23 16:02:19,728 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 120 states to 120 states and 145 transitions. [2022-07-23 16:02:19,728 INFO L392 hiAutomatonCegarLoop]: Abstraction has 120 states and 145 transitions. [2022-07-23 16:02:19,728 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 16:02:19,728 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-07-23 16:02:19,729 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=79, Invalid=301, Unknown=0, NotChecked=0, Total=380 [2022-07-23 16:02:19,729 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-23 16:02:20,188 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 16:02:20,188 INFO L93 Difference]: Finished difference Result 182 states and 213 transitions. [2022-07-23 16:02:20,188 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-07-23 16:02:20,189 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 182 states and 213 transitions. [2022-07-23 16:02:20,190 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 11 [2022-07-23 16:02:20,191 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 182 states to 156 states and 184 transitions. [2022-07-23 16:02:20,191 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 80 [2022-07-23 16:02:20,191 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 80 [2022-07-23 16:02:20,191 INFO L73 IsDeterministic]: Start isDeterministic. Operand 156 states and 184 transitions. [2022-07-23 16:02:20,192 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 16:02:20,192 INFO L369 hiAutomatonCegarLoop]: Abstraction has 156 states and 184 transitions. [2022-07-23 16:02:20,192 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 156 states and 184 transitions. [2022-07-23 16:02:20,194 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 156 to 105. [2022-07-23 16:02:20,194 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-23 16:02:20,195 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 105 states to 105 states and 124 transitions. [2022-07-23 16:02:20,195 INFO L392 hiAutomatonCegarLoop]: Abstraction has 105 states and 124 transitions. [2022-07-23 16:02:20,195 INFO L374 stractBuchiCegarLoop]: Abstraction has 105 states and 124 transitions. [2022-07-23 16:02:20,195 INFO L287 stractBuchiCegarLoop]: ======== Iteration 12 ============ [2022-07-23 16:02:20,195 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 105 states and 124 transitions. [2022-07-23 16:02:20,196 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 9 [2022-07-23 16:02:20,196 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 16:02:20,196 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 16:02:20,197 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-23 16:02:20,197 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-23 16:02:20,197 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-23 16:02:20,197 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-23 16:02:20,198 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:20,198 INFO L85 PathProgramCache]: Analyzing trace with hash -477007165, now seen corresponding path program 1 times [2022-07-23 16:02:20,198 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:20,198 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [598626744] [2022-07-23 16:02:20,198 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:20,198 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:20,208 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-23 16:02:20,224 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-23 16:02:20,224 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 16:02:20,224 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [598626744] [2022-07-23 16:02:20,224 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [598626744] provided 0 perfect and 1 imperfect interpolant sequences [2022-07-23 16:02:20,225 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [738101339] [2022-07-23 16:02:20,225 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:20,225 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:02:20,225 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:20,226 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-23 16:02:20,239 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-23 16:02:20,306 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-23 16:02:20,307 INFO L263 TraceCheckSpWp]: Trace formula consists of 189 conjuncts, 3 conjunts are in the unsatisfiable core [2022-07-23 16:02:20,308 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:02:20,331 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-23 16:02:20,332 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-07-23 16:02:20,332 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [738101339] provided 1 perfect and 0 imperfect interpolant sequences [2022-07-23 16:02:20,332 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-07-23 16:02:20,332 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [4] total 5 [2022-07-23 16:02:20,333 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1060105974] [2022-07-23 16:02:20,333 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-07-23 16:02:20,334 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-23 16:02:20,335 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:20,335 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 1 times [2022-07-23 16:02:20,335 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:20,335 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [738346778] [2022-07-23 16:02:20,335 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:20,335 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:20,345 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:20,346 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:02:20,348 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:20,349 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:02:20,402 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 16:02:20,403 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-07-23 16:02:20,403 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-07-23 16:02:20,403 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-23 16:02:20,418 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 16:02:20,418 INFO L93 Difference]: Finished difference Result 117 states and 137 transitions. [2022-07-23 16:02:20,419 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-07-23 16:02:20,419 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 117 states and 137 transitions. [2022-07-23 16:02:20,420 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 12 [2022-07-23 16:02:20,420 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 117 states to 117 states and 137 transitions. [2022-07-23 16:02:20,420 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 58 [2022-07-23 16:02:20,421 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 58 [2022-07-23 16:02:20,421 INFO L73 IsDeterministic]: Start isDeterministic. Operand 117 states and 137 transitions. [2022-07-23 16:02:20,421 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 16:02:20,421 INFO L369 hiAutomatonCegarLoop]: Abstraction has 117 states and 137 transitions. [2022-07-23 16:02:20,421 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 117 states and 137 transitions. [2022-07-23 16:02:20,422 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 117 to 105. [2022-07-23 16:02:20,423 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-23 16:02:20,423 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 105 states to 105 states and 120 transitions. [2022-07-23 16:02:20,423 INFO L392 hiAutomatonCegarLoop]: Abstraction has 105 states and 120 transitions. [2022-07-23 16:02:20,423 INFO L374 stractBuchiCegarLoop]: Abstraction has 105 states and 120 transitions. [2022-07-23 16:02:20,423 INFO L287 stractBuchiCegarLoop]: ======== Iteration 13 ============ [2022-07-23 16:02:20,423 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 105 states and 120 transitions. [2022-07-23 16:02:20,424 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 9 [2022-07-23 16:02:20,424 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 16:02:20,424 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 16:02:20,425 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-23 16:02:20,425 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-23 16:02:20,425 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-23 16:02:20,425 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-23 16:02:20,426 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:20,426 INFO L85 PathProgramCache]: Analyzing trace with hash -735172603, now seen corresponding path program 1 times [2022-07-23 16:02:20,426 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:20,426 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2101865714] [2022-07-23 16:02:20,426 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:20,426 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:20,453 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:02:20,453 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [599589580] [2022-07-23 16:02:20,453 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:20,453 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:02:20,454 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:20,455 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-23 16:02:20,480 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-23 16:02:20,529 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-23 16:02:20,530 INFO L263 TraceCheckSpWp]: Trace formula consists of 188 conjuncts, 12 conjunts are in the unsatisfiable core [2022-07-23 16:02:20,532 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:02:20,673 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-23 16:02:20,674 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-23 16:02:20,676 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-23 16:02:20,766 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-23 16:02:20,766 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 16:02:20,766 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2101865714] [2022-07-23 16:02:20,766 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-23 16:02:20,766 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [599589580] [2022-07-23 16:02:20,766 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [599589580] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-23 16:02:20,766 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-23 16:02:20,767 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 18 [2022-07-23 16:02:20,767 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [897355622] [2022-07-23 16:02:20,767 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-23 16:02:20,767 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-23 16:02:20,767 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:20,767 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 2 times [2022-07-23 16:02:20,767 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:20,767 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [138482077] [2022-07-23 16:02:20,767 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:20,768 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:20,770 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:20,770 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:02:20,772 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:20,773 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:02:20,827 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 16:02:20,828 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-07-23 16:02:20,828 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=83, Invalid=223, Unknown=0, NotChecked=0, Total=306 [2022-07-23 16:02:20,828 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-23 16:02:21,266 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 16:02:21,266 INFO L93 Difference]: Finished difference Result 174 states and 206 transitions. [2022-07-23 16:02:21,267 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2022-07-23 16:02:21,267 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 174 states and 206 transitions. [2022-07-23 16:02:21,269 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 14 [2022-07-23 16:02:21,269 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 174 states to 174 states and 206 transitions. [2022-07-23 16:02:21,269 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 83 [2022-07-23 16:02:21,270 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 83 [2022-07-23 16:02:21,270 INFO L73 IsDeterministic]: Start isDeterministic. Operand 174 states and 206 transitions. [2022-07-23 16:02:21,270 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 16:02:21,270 INFO L369 hiAutomatonCegarLoop]: Abstraction has 174 states and 206 transitions. [2022-07-23 16:02:21,270 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 174 states and 206 transitions. [2022-07-23 16:02:21,272 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 174 to 110. [2022-07-23 16:02:21,272 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-23 16:02:21,272 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 110 states to 110 states and 125 transitions. [2022-07-23 16:02:21,272 INFO L392 hiAutomatonCegarLoop]: Abstraction has 110 states and 125 transitions. [2022-07-23 16:02:21,272 INFO L374 stractBuchiCegarLoop]: Abstraction has 110 states and 125 transitions. [2022-07-23 16:02:21,272 INFO L287 stractBuchiCegarLoop]: ======== Iteration 14 ============ [2022-07-23 16:02:21,272 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 110 states and 125 transitions. [2022-07-23 16:02:21,273 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 9 [2022-07-23 16:02:21,273 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 16:02:21,273 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 16:02:21,274 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-23 16:02:21,274 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-23 16:02:21,274 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-23 16:02:21,274 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-23 16:02:21,275 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:21,275 INFO L85 PathProgramCache]: Analyzing trace with hash 1784789267, now seen corresponding path program 1 times [2022-07-23 16:02:21,275 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:21,275 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1986318840] [2022-07-23 16:02:21,275 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:21,275 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:21,289 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:02:21,290 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1996593610] [2022-07-23 16:02:21,290 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:21,290 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:02:21,290 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:21,291 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-23 16:02:21,311 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-23 16:02:21,373 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-23 16:02:21,374 INFO L263 TraceCheckSpWp]: Trace formula consists of 225 conjuncts, 7 conjunts are in the unsatisfiable core [2022-07-23 16:02:21,376 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:02:21,439 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-23 16:02:21,439 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-23 16:02:21,501 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-23 16:02:21,501 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 16:02:21,501 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1986318840] [2022-07-23 16:02:21,501 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-23 16:02:21,501 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1996593610] [2022-07-23 16:02:21,501 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1996593610] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-23 16:02:21,501 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-23 16:02:21,502 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 12 [2022-07-23 16:02:21,502 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [784262410] [2022-07-23 16:02:21,502 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-23 16:02:21,502 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-23 16:02:21,502 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:21,502 INFO L85 PathProgramCache]: Analyzing trace with hash 120316, now seen corresponding path program 1 times [2022-07-23 16:02:21,502 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:21,502 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [840700950] [2022-07-23 16:02:21,502 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:21,503 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:21,505 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:21,505 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:02:21,506 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:21,507 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:02:21,531 INFO L210 LassoAnalysis]: Preferences: [2022-07-23 16:02:21,532 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-23 16:02:21,532 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-23 16:02:21,532 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-23 16:02:21,532 INFO L129 ssoRankerPreferences]: Use exernal solver: true [2022-07-23 16:02:21,532 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:21,532 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-23 16:02:21,532 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-23 16:02:21,532 INFO L133 ssoRankerPreferences]: Filename of dumped script: rangesum.i_Iteration14_Loop [2022-07-23 16:02:21,532 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-23 16:02:21,532 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-23 16:02:21,532 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-23 16:02:21,534 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-23 16:02:21,575 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-23 16:02:21,575 INFO L404 LassoAnalysis]: Checking for nontermination... [2022-07-23 16:02:21,575 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:21,575 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:21,583 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-23 16:02:21,587 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-23 16:02:21,587 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-23 16:02:21,591 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-23 16:02:21,595 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-23 16:02:21,595 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-23 16:02:21,611 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-23 16:02:21,612 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:21,612 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:21,613 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-23 16:02:21,613 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-23 16:02:21,614 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-23 16:02:21,614 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-23 16:02:21,637 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (81)] Ended with exit code 0 [2022-07-23 16:02:21,637 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:21,638 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:21,638 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-23 16:02:21,639 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-23 16:02:21,640 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2022-07-23 16:02:21,640 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-23 16:02:21,778 INFO L444 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2022-07-23 16:02:21,782 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (82)] Forceful destruction successful, exit code 0 [2022-07-23 16:02:21,782 INFO L210 LassoAnalysis]: Preferences: [2022-07-23 16:02:21,782 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-23 16:02:21,782 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-23 16:02:21,782 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-23 16:02:21,782 INFO L129 ssoRankerPreferences]: Use exernal solver: false [2022-07-23 16:02:21,782 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:21,782 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-23 16:02:21,783 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-23 16:02:21,783 INFO L133 ssoRankerPreferences]: Filename of dumped script: rangesum.i_Iteration14_Loop [2022-07-23 16:02:21,783 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-23 16:02:21,783 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-23 16:02:21,783 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-23 16:02:21,785 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-23 16:02:21,819 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-23 16:02:21,820 INFO L490 LassoAnalysis]: Using template 'affine'. [2022-07-23 16:02:21,820 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:21,820 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:21,821 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-23 16:02:21,822 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-23 16:02:21,823 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-23 16:02:21,829 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:21,829 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-23 16:02:21,829 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:21,829 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:21,829 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:21,830 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-23 16:02:21,830 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-23 16:02:21,830 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-23 16:02:21,846 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (83)] Ended with exit code 0 [2022-07-23 16:02:21,846 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:21,846 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:21,847 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-23 16:02:21,848 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-23 16:02:21,849 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-23 16:02:21,855 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 16:02:21,856 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-23 16:02:21,856 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 16:02:21,856 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 16:02:21,856 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 16:02:21,857 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-23 16:02:21,857 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-23 16:02:21,858 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2022-07-23 16:02:21,860 INFO L443 ModelExtractionUtils]: Simplification made 4 calls to the SMT solver. [2022-07-23 16:02:21,860 INFO L444 ModelExtractionUtils]: 0 out of 4 variables were initially zero. Simplification set additionally 1 variables to zero. [2022-07-23 16:02:21,861 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 16:02:21,861 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:21,862 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-23 16:02:21,862 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-23 16:02:21,863 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2022-07-23 16:02:21,863 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2022-07-23 16:02:21,863 INFO L513 LassoAnalysis]: Proved termination. [2022-07-23 16:02:21,863 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-23 16:02:21,879 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-23 16:02:21,879 INFO L293 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2022-07-23 16:02:21,889 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:21,933 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-23 16:02:21,935 INFO L263 TraceCheckSpWp]: Trace formula consists of 225 conjuncts, 2 conjunts are in the unsatisfiable core [2022-07-23 16:02:21,935 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:02:21,983 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-23 16:02:21,984 WARN L261 TraceCheckSpWp]: Trace formula consists of 6 conjuncts, 5 conjunts are in the unsatisfiable core [2022-07-23 16:02:21,984 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:02:22,027 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-23 16:02:22,028 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-23 16:02:22,028 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-23 16:02:22,045 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-23 16:02:22,045 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-23 16:02:22,046 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-23 16:02:22,046 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 31 transitions. [2022-07-23 16:02:22,046 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 31 transitions. Stem has 45 letters. Loop has 3 letters. [2022-07-23 16:02:22,047 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-23 16:02:22,047 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 31 transitions. Stem has 48 letters. Loop has 3 letters. [2022-07-23 16:02:22,047 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-23 16:02:22,047 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 31 transitions. Stem has 45 letters. Loop has 6 letters. [2022-07-23 16:02:22,047 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-23 16:02:22,047 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 125 states and 144 transitions. [2022-07-23 16:02:22,048 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-23 16:02:22,052 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:02:22,052 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 125 states to 78 states and 89 transitions. [2022-07-23 16:02:22,052 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 27 [2022-07-23 16:02:22,053 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 28 [2022-07-23 16:02:22,053 INFO L73 IsDeterministic]: Start isDeterministic. Operand 78 states and 89 transitions. [2022-07-23 16:02:22,053 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 16:02:22,053 INFO L369 hiAutomatonCegarLoop]: Abstraction has 78 states and 89 transitions. [2022-07-23 16:02:22,053 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 78 states and 89 transitions. [2022-07-23 16:02:22,054 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 78 to 77. [2022-07-23 16:02:22,055 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-23 16:02:22,055 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 77 states to 77 states and 88 transitions. [2022-07-23 16:02:22,055 INFO L392 hiAutomatonCegarLoop]: Abstraction has 77 states and 88 transitions. [2022-07-23 16:02:22,055 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 16:02:22,056 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-07-23 16:02:22,056 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=92, Unknown=0, NotChecked=0, Total=132 [2022-07-23 16:02:22,056 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-23 16:02:22,149 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 16:02:22,149 INFO L93 Difference]: Finished difference Result 79 states and 89 transitions. [2022-07-23 16:02:22,149 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-07-23 16:02:22,150 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 79 states and 89 transitions. [2022-07-23 16:02:22,150 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:02:22,151 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 79 states to 79 states and 89 transitions. [2022-07-23 16:02:22,151 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 27 [2022-07-23 16:02:22,151 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 27 [2022-07-23 16:02:22,151 INFO L73 IsDeterministic]: Start isDeterministic. Operand 79 states and 89 transitions. [2022-07-23 16:02:22,152 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 16:02:22,152 INFO L369 hiAutomatonCegarLoop]: Abstraction has 79 states and 89 transitions. [2022-07-23 16:02:22,152 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 79 states and 89 transitions. [2022-07-23 16:02:22,153 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 79 to 79. [2022-07-23 16:02:22,153 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-23 16:02:22,154 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 89 transitions. [2022-07-23 16:02:22,154 INFO L392 hiAutomatonCegarLoop]: Abstraction has 79 states and 89 transitions. [2022-07-23 16:02:22,154 INFO L374 stractBuchiCegarLoop]: Abstraction has 79 states and 89 transitions. [2022-07-23 16:02:22,154 INFO L287 stractBuchiCegarLoop]: ======== Iteration 15 ============ [2022-07-23 16:02:22,154 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 79 states and 89 transitions. [2022-07-23 16:02:22,155 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:02:22,155 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 16:02:22,155 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 16:02:22,155 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-23 16:02:22,155 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-23 16:02:22,156 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-23 16:02:22,156 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-23 16:02:22,156 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:22,156 INFO L85 PathProgramCache]: Analyzing trace with hash -1458082658, now seen corresponding path program 1 times [2022-07-23 16:02:22,157 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:22,157 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1959049126] [2022-07-23 16:02:22,157 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:22,157 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:22,170 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:02:22,171 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [745943377] [2022-07-23 16:02:22,171 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:22,171 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:02:22,171 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:22,176 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-23 16:02:22,182 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-23 16:02:22,251 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:22,251 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:02:22,273 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:22,287 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:02:22,287 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:22,288 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 3 times [2022-07-23 16:02:22,288 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:22,288 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1244098203] [2022-07-23 16:02:22,288 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:22,288 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:22,291 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:22,292 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:02:22,293 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:22,295 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:02:22,295 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:22,295 INFO L85 PathProgramCache]: Analyzing trace with hash 1558822002, now seen corresponding path program 2 times [2022-07-23 16:02:22,296 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:22,296 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [998354085] [2022-07-23 16:02:22,296 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:22,296 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:22,307 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:02:22,307 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1398788136] [2022-07-23 16:02:22,307 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-07-23 16:02:22,307 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:02:22,308 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:22,309 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-23 16:02:22,335 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-23 16:02:22,396 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-07-23 16:02:22,396 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-23 16:02:22,398 INFO L263 TraceCheckSpWp]: Trace formula consists of 224 conjuncts, 14 conjunts are in the unsatisfiable core [2022-07-23 16:02:22,399 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:02:22,537 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-23 16:02:22,537 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-23 16:02:22,659 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-23 16:02:22,659 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 16:02:22,659 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [998354085] [2022-07-23 16:02:22,659 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-23 16:02:22,659 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1398788136] [2022-07-23 16:02:22,659 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1398788136] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-23 16:02:22,659 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-23 16:02:22,659 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 14] total 20 [2022-07-23 16:02:22,659 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1816204792] [2022-07-23 16:02:22,659 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-23 16:02:22,725 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 16:02:22,726 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-07-23 16:02:22,726 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=111, Invalid=309, Unknown=0, NotChecked=0, Total=420 [2022-07-23 16:02:22,726 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-23 16:02:23,013 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 16:02:23,013 INFO L93 Difference]: Finished difference Result 160 states and 171 transitions. [2022-07-23 16:02:23,013 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-07-23 16:02:23,014 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 160 states and 171 transitions. [2022-07-23 16:02:23,015 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:02:23,015 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 160 states to 82 states and 92 transitions. [2022-07-23 16:02:23,015 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 27 [2022-07-23 16:02:23,015 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 27 [2022-07-23 16:02:23,016 INFO L73 IsDeterministic]: Start isDeterministic. Operand 82 states and 92 transitions. [2022-07-23 16:02:23,016 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 16:02:23,016 INFO L369 hiAutomatonCegarLoop]: Abstraction has 82 states and 92 transitions. [2022-07-23 16:02:23,016 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 82 states and 92 transitions. [2022-07-23 16:02:23,017 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 82 to 81. [2022-07-23 16:02:23,017 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-23 16:02:23,018 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 81 states to 81 states and 91 transitions. [2022-07-23 16:02:23,018 INFO L392 hiAutomatonCegarLoop]: Abstraction has 81 states and 91 transitions. [2022-07-23 16:02:23,018 INFO L374 stractBuchiCegarLoop]: Abstraction has 81 states and 91 transitions. [2022-07-23 16:02:23,018 INFO L287 stractBuchiCegarLoop]: ======== Iteration 16 ============ [2022-07-23 16:02:23,018 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 81 states and 91 transitions. [2022-07-23 16:02:23,019 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:02:23,019 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 16:02:23,019 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 16:02:23,020 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-23 16:02:23,020 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-23 16:02:23,020 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-23 16:02:23,020 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-23 16:02:23,021 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:23,021 INFO L85 PathProgramCache]: Analyzing trace with hash -6985156, now seen corresponding path program 3 times [2022-07-23 16:02:23,021 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:23,021 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [816904879] [2022-07-23 16:02:23,021 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:23,021 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:23,055 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:02:23,055 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1150611038] [2022-07-23 16:02:23,055 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-07-23 16:02:23,055 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:02:23,055 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:23,066 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-23 16:02:23,066 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-23 16:02:23,162 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 7 check-sat command(s) [2022-07-23 16:02:23,162 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-23 16:02:23,163 INFO L263 TraceCheckSpWp]: Trace formula consists of 223 conjuncts, 25 conjunts are in the unsatisfiable core [2022-07-23 16:02:23,165 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:02:23,396 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-23 16:02:23,396 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-23 16:02:23,742 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-23 16:02:23,743 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 16:02:23,743 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [816904879] [2022-07-23 16:02:23,743 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-23 16:02:23,743 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1150611038] [2022-07-23 16:02:23,743 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1150611038] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-23 16:02:23,743 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-23 16:02:23,743 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 17] total 26 [2022-07-23 16:02:23,744 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1574759005] [2022-07-23 16:02:23,744 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-23 16:02:23,744 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-23 16:02:23,745 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:23,745 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 4 times [2022-07-23 16:02:23,745 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:23,745 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1144028383] [2022-07-23 16:02:23,745 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:23,745 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:23,749 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:23,749 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:02:23,751 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:23,752 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:02:23,814 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 16:02:23,815 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2022-07-23 16:02:23,815 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=168, Invalid=482, Unknown=0, NotChecked=0, Total=650 [2022-07-23 16:02:23,815 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-23 16:02:24,407 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 16:02:24,407 INFO L93 Difference]: Finished difference Result 201 states and 230 transitions. [2022-07-23 16:02:24,407 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-07-23 16:02:24,408 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 201 states and 230 transitions. [2022-07-23 16:02:24,409 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 12 [2022-07-23 16:02:24,410 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 201 states to 194 states and 223 transitions. [2022-07-23 16:02:24,410 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 63 [2022-07-23 16:02:24,410 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 63 [2022-07-23 16:02:24,410 INFO L73 IsDeterministic]: Start isDeterministic. Operand 194 states and 223 transitions. [2022-07-23 16:02:24,410 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 16:02:24,410 INFO L369 hiAutomatonCegarLoop]: Abstraction has 194 states and 223 transitions. [2022-07-23 16:02:24,410 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 194 states and 223 transitions. [2022-07-23 16:02:24,412 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 194 to 90. [2022-07-23 16:02:24,412 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-23 16:02:24,412 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 90 states to 90 states and 100 transitions. [2022-07-23 16:02:24,413 INFO L392 hiAutomatonCegarLoop]: Abstraction has 90 states and 100 transitions. [2022-07-23 16:02:24,413 INFO L374 stractBuchiCegarLoop]: Abstraction has 90 states and 100 transitions. [2022-07-23 16:02:24,413 INFO L287 stractBuchiCegarLoop]: ======== Iteration 17 ============ [2022-07-23 16:02:24,413 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 90 states and 100 transitions. [2022-07-23 16:02:24,413 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:02:24,413 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 16:02:24,413 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 16:02:24,414 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-23 16:02:24,414 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-23 16:02:24,414 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-23 16:02:24,414 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-23 16:02:24,414 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:24,414 INFO L85 PathProgramCache]: Analyzing trace with hash 4068611, now seen corresponding path program 4 times [2022-07-23 16:02:24,415 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:24,415 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2005403612] [2022-07-23 16:02:24,415 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:24,415 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:24,426 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:02:24,426 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1164039871] [2022-07-23 16:02:24,427 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-07-23 16:02:24,427 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:02:24,427 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:24,431 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-23 16:02:24,452 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-23 16:02:24,521 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-07-23 16:02:24,521 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-07-23 16:02:24,521 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:02:24,544 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:24,560 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:02:24,561 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:24,561 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 5 times [2022-07-23 16:02:24,561 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:24,561 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [13788232] [2022-07-23 16:02:24,561 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:24,561 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:24,564 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:24,564 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:02:24,566 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:24,568 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:02:24,568 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:24,568 INFO L85 PathProgramCache]: Analyzing trace with hash 948960749, now seen corresponding path program 5 times [2022-07-23 16:02:24,568 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:24,569 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1537082294] [2022-07-23 16:02:24,569 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:24,569 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:24,580 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:02:24,580 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [755347001] [2022-07-23 16:02:24,580 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-07-23 16:02:24,580 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:02:24,580 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:24,591 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-23 16:02:24,603 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-23 16:02:24,673 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 7 check-sat command(s) [2022-07-23 16:02:24,673 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-23 16:02:24,675 INFO L263 TraceCheckSpWp]: Trace formula consists of 243 conjuncts, 9 conjunts are in the unsatisfiable core [2022-07-23 16:02:24,676 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:02:24,957 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-23 16:02:24,957 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-23 16:02:25,116 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-23 16:02:25,117 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 16:02:25,117 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1537082294] [2022-07-23 16:02:25,117 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-23 16:02:25,117 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [755347001] [2022-07-23 16:02:25,117 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [755347001] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-23 16:02:25,117 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-23 16:02:25,117 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 16 [2022-07-23 16:02:25,118 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [225488534] [2022-07-23 16:02:25,118 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-23 16:02:25,165 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 16:02:25,165 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-07-23 16:02:25,165 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=84, Invalid=188, Unknown=0, NotChecked=0, Total=272 [2022-07-23 16:02:25,165 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-23 16:02:25,571 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 16:02:25,571 INFO L93 Difference]: Finished difference Result 202 states and 226 transitions. [2022-07-23 16:02:25,572 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-07-23 16:02:25,572 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 202 states and 226 transitions. [2022-07-23 16:02:25,588 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:02:25,589 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 202 states to 133 states and 152 transitions. [2022-07-23 16:02:25,589 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 40 [2022-07-23 16:02:25,589 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 40 [2022-07-23 16:02:25,589 INFO L73 IsDeterministic]: Start isDeterministic. Operand 133 states and 152 transitions. [2022-07-23 16:02:25,589 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 16:02:25,589 INFO L369 hiAutomatonCegarLoop]: Abstraction has 133 states and 152 transitions. [2022-07-23 16:02:25,590 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 133 states and 152 transitions. [2022-07-23 16:02:25,591 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 133 to 96. [2022-07-23 16:02:25,591 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-23 16:02:25,592 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 96 states to 96 states and 106 transitions. [2022-07-23 16:02:25,592 INFO L392 hiAutomatonCegarLoop]: Abstraction has 96 states and 106 transitions. [2022-07-23 16:02:25,592 INFO L374 stractBuchiCegarLoop]: Abstraction has 96 states and 106 transitions. [2022-07-23 16:02:25,592 INFO L287 stractBuchiCegarLoop]: ======== Iteration 18 ============ [2022-07-23 16:02:25,592 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 96 states and 106 transitions. [2022-07-23 16:02:25,593 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:02:25,593 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 16:02:25,593 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 16:02:25,593 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-23 16:02:25,593 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-23 16:02:25,594 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-23 16:02:25,594 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-23 16:02:25,594 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:25,595 INFO L85 PathProgramCache]: Analyzing trace with hash 380293024, now seen corresponding path program 6 times [2022-07-23 16:02:25,595 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:25,595 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1352802898] [2022-07-23 16:02:25,595 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:25,595 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:25,609 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:02:25,610 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [982525211] [2022-07-23 16:02:25,610 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-07-23 16:02:25,610 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:02:25,610 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:25,612 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-23 16:02:25,613 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-23 16:02:25,718 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 8 check-sat command(s) [2022-07-23 16:02:25,718 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-23 16:02:25,720 INFO L263 TraceCheckSpWp]: Trace formula consists of 255 conjuncts, 17 conjunts are in the unsatisfiable core [2022-07-23 16:02:25,721 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:02:26,019 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-23 16:02:26,019 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-23 16:02:26,225 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-23 16:02:26,225 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 16:02:26,225 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1352802898] [2022-07-23 16:02:26,226 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-23 16:02:26,226 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [982525211] [2022-07-23 16:02:26,226 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [982525211] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-23 16:02:26,226 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-23 16:02:26,226 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 16] total 24 [2022-07-23 16:02:26,226 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1410268939] [2022-07-23 16:02:26,226 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-23 16:02:26,226 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-23 16:02:26,227 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:26,227 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 6 times [2022-07-23 16:02:26,227 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:26,227 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1774693568] [2022-07-23 16:02:26,227 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:26,227 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:26,233 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:26,233 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:02:26,235 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:26,237 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:02:26,295 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 16:02:26,295 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2022-07-23 16:02:26,295 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=163, Invalid=437, Unknown=0, NotChecked=0, Total=600 [2022-07-23 16:02:26,296 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-23 16:02:26,800 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 16:02:26,800 INFO L93 Difference]: Finished difference Result 179 states and 193 transitions. [2022-07-23 16:02:26,800 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-07-23 16:02:26,800 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 179 states and 193 transitions. [2022-07-23 16:02:26,801 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:02:26,802 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 179 states to 95 states and 102 transitions. [2022-07-23 16:02:26,802 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 31 [2022-07-23 16:02:26,802 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 31 [2022-07-23 16:02:26,802 INFO L73 IsDeterministic]: Start isDeterministic. Operand 95 states and 102 transitions. [2022-07-23 16:02:26,802 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 16:02:26,802 INFO L369 hiAutomatonCegarLoop]: Abstraction has 95 states and 102 transitions. [2022-07-23 16:02:26,802 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 95 states and 102 transitions. [2022-07-23 16:02:26,803 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 95 to 89. [2022-07-23 16:02:26,803 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-23 16:02:26,804 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 96 transitions. [2022-07-23 16:02:26,804 INFO L392 hiAutomatonCegarLoop]: Abstraction has 89 states and 96 transitions. [2022-07-23 16:02:26,804 INFO L374 stractBuchiCegarLoop]: Abstraction has 89 states and 96 transitions. [2022-07-23 16:02:26,804 INFO L287 stractBuchiCegarLoop]: ======== Iteration 19 ============ [2022-07-23 16:02:26,804 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 89 states and 96 transitions. [2022-07-23 16:02:26,805 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:02:26,805 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 16:02:26,805 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 16:02:26,805 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-23 16:02:26,805 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-23 16:02:26,806 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-23 16:02:26,806 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-23 16:02:26,806 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:26,806 INFO L85 PathProgramCache]: Analyzing trace with hash 466985150, now seen corresponding path program 7 times [2022-07-23 16:02:26,807 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:26,807 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1867203539] [2022-07-23 16:02:26,807 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:26,807 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:26,819 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:02:26,819 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [237286780] [2022-07-23 16:02:26,819 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2022-07-23 16:02:26,819 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:02:26,820 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:26,833 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-23 16:02:26,834 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-23 16:02:26,925 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:26,926 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:02:26,956 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:26,971 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:02:26,972 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:26,972 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 7 times [2022-07-23 16:02:26,972 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:26,972 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1628063254] [2022-07-23 16:02:26,973 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:26,973 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:26,976 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:26,976 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:02:26,978 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:26,980 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:02:26,980 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:26,980 INFO L85 PathProgramCache]: Analyzing trace with hash 555586642, now seen corresponding path program 8 times [2022-07-23 16:02:26,981 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:26,981 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [537310054] [2022-07-23 16:02:26,981 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:26,981 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:26,994 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:02:26,994 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [393318910] [2022-07-23 16:02:26,994 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-07-23 16:02:26,994 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:02:26,994 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:27,007 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-23 16:02:27,023 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-23 16:02:27,109 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-07-23 16:02:27,109 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-23 16:02:27,111 INFO L263 TraceCheckSpWp]: Trace formula consists of 278 conjuncts, 18 conjunts are in the unsatisfiable core [2022-07-23 16:02:27,114 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:02:27,352 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-23 16:02:27,353 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-23 16:02:27,560 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-23 16:02:27,561 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 16:02:27,561 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [537310054] [2022-07-23 16:02:27,561 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-23 16:02:27,561 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [393318910] [2022-07-23 16:02:27,561 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [393318910] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-23 16:02:27,561 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-23 16:02:27,562 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 18] total 26 [2022-07-23 16:02:27,562 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [385020242] [2022-07-23 16:02:27,562 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-23 16:02:27,629 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 16:02:27,630 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2022-07-23 16:02:27,630 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=179, Invalid=523, Unknown=0, NotChecked=0, Total=702 [2022-07-23 16:02:27,630 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-23 16:02:28,061 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 16:02:28,061 INFO L93 Difference]: Finished difference Result 173 states and 181 transitions. [2022-07-23 16:02:28,062 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2022-07-23 16:02:28,062 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 173 states and 181 transitions. [2022-07-23 16:02:28,063 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:02:28,064 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 173 states to 92 states and 99 transitions. [2022-07-23 16:02:28,064 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 30 [2022-07-23 16:02:28,064 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 30 [2022-07-23 16:02:28,064 INFO L73 IsDeterministic]: Start isDeterministic. Operand 92 states and 99 transitions. [2022-07-23 16:02:28,064 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 16:02:28,064 INFO L369 hiAutomatonCegarLoop]: Abstraction has 92 states and 99 transitions. [2022-07-23 16:02:28,064 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 92 states and 99 transitions. [2022-07-23 16:02:28,065 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 92 to 91. [2022-07-23 16:02:28,065 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-23 16:02:28,066 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 91 states to 91 states and 98 transitions. [2022-07-23 16:02:28,066 INFO L392 hiAutomatonCegarLoop]: Abstraction has 91 states and 98 transitions. [2022-07-23 16:02:28,066 INFO L374 stractBuchiCegarLoop]: Abstraction has 91 states and 98 transitions. [2022-07-23 16:02:28,066 INFO L287 stractBuchiCegarLoop]: ======== Iteration 20 ============ [2022-07-23 16:02:28,066 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 91 states and 98 transitions. [2022-07-23 16:02:28,066 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:02:28,066 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 16:02:28,066 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 16:02:28,067 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-23 16:02:28,067 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-23 16:02:28,067 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-23 16:02:28,067 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-23 16:02:28,067 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:28,067 INFO L85 PathProgramCache]: Analyzing trace with hash -2121227684, now seen corresponding path program 9 times [2022-07-23 16:02:28,068 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:28,068 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [178403871] [2022-07-23 16:02:28,068 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:28,068 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:28,080 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:02:28,081 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1978242615] [2022-07-23 16:02:28,081 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-07-23 16:02:28,081 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:02:28,081 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:28,083 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-23 16:02:28,084 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-23 16:02:28,231 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 9 check-sat command(s) [2022-07-23 16:02:28,231 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-23 16:02:28,234 INFO L263 TraceCheckSpWp]: Trace formula consists of 277 conjuncts, 21 conjunts are in the unsatisfiable core [2022-07-23 16:02:28,236 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:02:28,546 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-23 16:02:28,546 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-23 16:02:28,977 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-23 16:02:28,977 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 16:02:28,978 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [178403871] [2022-07-23 16:02:28,978 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-23 16:02:28,978 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1978242615] [2022-07-23 16:02:28,978 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1978242615] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-23 16:02:28,978 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-23 16:02:28,978 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [22, 21] total 32 [2022-07-23 16:02:28,978 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [988759871] [2022-07-23 16:02:28,978 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-23 16:02:28,979 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-23 16:02:28,979 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:28,979 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 8 times [2022-07-23 16:02:28,979 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:28,979 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1655633078] [2022-07-23 16:02:28,979 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:28,979 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:28,986 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:28,986 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:02:28,988 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:28,989 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:02:29,035 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 16:02:29,036 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 32 interpolants. [2022-07-23 16:02:29,036 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=246, Invalid=746, Unknown=0, NotChecked=0, Total=992 [2022-07-23 16:02:29,037 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-23 16:02:29,738 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 16:02:29,738 INFO L93 Difference]: Finished difference Result 195 states and 208 transitions. [2022-07-23 16:02:29,738 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2022-07-23 16:02:29,739 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 195 states and 208 transitions. [2022-07-23 16:02:29,740 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 12 [2022-07-23 16:02:29,740 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 195 states to 188 states and 201 transitions. [2022-07-23 16:02:29,740 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 75 [2022-07-23 16:02:29,741 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 75 [2022-07-23 16:02:29,741 INFO L73 IsDeterministic]: Start isDeterministic. Operand 188 states and 201 transitions. [2022-07-23 16:02:29,741 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 16:02:29,741 INFO L369 hiAutomatonCegarLoop]: Abstraction has 188 states and 201 transitions. [2022-07-23 16:02:29,741 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 188 states and 201 transitions. [2022-07-23 16:02:29,743 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 188 to 100. [2022-07-23 16:02:29,743 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-23 16:02:29,744 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 100 states to 100 states and 107 transitions. [2022-07-23 16:02:29,744 INFO L392 hiAutomatonCegarLoop]: Abstraction has 100 states and 107 transitions. [2022-07-23 16:02:29,744 INFO L374 stractBuchiCegarLoop]: Abstraction has 100 states and 107 transitions. [2022-07-23 16:02:29,744 INFO L287 stractBuchiCegarLoop]: ======== Iteration 21 ============ [2022-07-23 16:02:29,744 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 100 states and 107 transitions. [2022-07-23 16:02:29,745 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:02:29,745 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 16:02:29,745 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 16:02:29,746 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-23 16:02:29,746 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-23 16:02:29,746 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-23 16:02:29,746 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-23 16:02:29,746 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:29,747 INFO L85 PathProgramCache]: Analyzing trace with hash -683080161, now seen corresponding path program 10 times [2022-07-23 16:02:29,747 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:29,747 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [713026030] [2022-07-23 16:02:29,747 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:29,747 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:29,760 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:02:29,761 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1928839498] [2022-07-23 16:02:29,761 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-07-23 16:02:29,762 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:02:29,762 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:29,767 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-23 16:02:29,788 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-23 16:02:29,883 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-07-23 16:02:29,884 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-07-23 16:02:29,884 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:02:29,928 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:29,948 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:02:29,949 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:29,949 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 9 times [2022-07-23 16:02:29,949 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:29,949 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [553116972] [2022-07-23 16:02:29,949 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:29,949 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:29,953 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:29,953 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:02:29,955 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:29,956 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:02:29,957 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:29,957 INFO L85 PathProgramCache]: Analyzing trace with hash -85973167, now seen corresponding path program 11 times [2022-07-23 16:02:29,957 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:29,957 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1764862214] [2022-07-23 16:02:29,957 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:29,957 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:29,970 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:02:29,971 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1044955686] [2022-07-23 16:02:29,971 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-07-23 16:02:29,971 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:02:29,971 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:29,973 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-23 16:02:29,979 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-23 16:02:30,082 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 9 check-sat command(s) [2022-07-23 16:02:30,082 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-23 16:02:30,084 INFO L263 TraceCheckSpWp]: Trace formula consists of 297 conjuncts, 20 conjunts are in the unsatisfiable core [2022-07-23 16:02:30,085 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:02:30,331 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-23 16:02:30,331 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-23 16:02:30,594 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-23 16:02:30,605 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 16:02:30,605 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1764862214] [2022-07-23 16:02:30,606 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-23 16:02:30,606 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1044955686] [2022-07-23 16:02:30,606 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1044955686] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-23 16:02:30,606 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-23 16:02:30,606 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [20, 20] total 29 [2022-07-23 16:02:30,606 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [854159575] [2022-07-23 16:02:30,606 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-23 16:02:30,662 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 16:02:30,663 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 30 interpolants. [2022-07-23 16:02:30,663 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=219, Invalid=651, Unknown=0, NotChecked=0, Total=870 [2022-07-23 16:02:30,664 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-23 16:02:31,158 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 16:02:31,158 INFO L93 Difference]: Finished difference Result 193 states and 201 transitions. [2022-07-23 16:02:31,159 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-07-23 16:02:31,160 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 193 states and 201 transitions. [2022-07-23 16:02:31,161 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:02:31,162 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 193 states to 103 states and 110 transitions. [2022-07-23 16:02:31,162 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 30 [2022-07-23 16:02:31,162 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 30 [2022-07-23 16:02:31,162 INFO L73 IsDeterministic]: Start isDeterministic. Operand 103 states and 110 transitions. [2022-07-23 16:02:31,162 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 16:02:31,162 INFO L369 hiAutomatonCegarLoop]: Abstraction has 103 states and 110 transitions. [2022-07-23 16:02:31,162 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 103 states and 110 transitions. [2022-07-23 16:02:31,163 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 103 to 102. [2022-07-23 16:02:31,164 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-23 16:02:31,164 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 102 states to 102 states and 109 transitions. [2022-07-23 16:02:31,164 INFO L392 hiAutomatonCegarLoop]: Abstraction has 102 states and 109 transitions. [2022-07-23 16:02:31,164 INFO L374 stractBuchiCegarLoop]: Abstraction has 102 states and 109 transitions. [2022-07-23 16:02:31,164 INFO L287 stractBuchiCegarLoop]: ======== Iteration 22 ============ [2022-07-23 16:02:31,165 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 102 states and 109 transitions. [2022-07-23 16:02:31,165 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:02:31,165 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 16:02:31,165 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 16:02:31,166 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-23 16:02:31,166 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-23 16:02:31,166 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-23 16:02:31,167 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-23 16:02:31,167 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:31,167 INFO L85 PathProgramCache]: Analyzing trace with hash 414157245, now seen corresponding path program 12 times [2022-07-23 16:02:31,167 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:31,168 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2038572180] [2022-07-23 16:02:31,168 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:31,168 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:31,182 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:02:31,182 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [816017970] [2022-07-23 16:02:31,182 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-07-23 16:02:31,182 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:02:31,182 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:31,191 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-23 16:02:31,207 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-23 16:02:31,378 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 10 check-sat command(s) [2022-07-23 16:02:31,378 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-23 16:02:31,380 INFO L263 TraceCheckSpWp]: Trace formula consists of 296 conjuncts, 20 conjunts are in the unsatisfiable core [2022-07-23 16:02:31,382 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:02:31,584 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-23 16:02:31,584 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-23 16:02:31,763 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-23 16:02:31,764 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 16:02:31,764 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2038572180] [2022-07-23 16:02:31,764 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-23 16:02:31,764 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [816017970] [2022-07-23 16:02:31,764 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [816017970] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-23 16:02:31,764 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-23 16:02:31,764 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 21] total 30 [2022-07-23 16:02:31,764 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1118090160] [2022-07-23 16:02:31,764 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-23 16:02:31,764 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-23 16:02:31,765 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:31,765 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 10 times [2022-07-23 16:02:31,765 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:31,765 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1332638996] [2022-07-23 16:02:31,765 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:31,765 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:31,768 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:31,768 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:02:31,770 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:31,772 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:02:31,821 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 16:02:31,821 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 30 interpolants. [2022-07-23 16:02:31,821 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=219, Invalid=651, Unknown=0, NotChecked=0, Total=870 [2022-07-23 16:02:31,822 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-23 16:02:32,556 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 16:02:32,556 INFO L93 Difference]: Finished difference Result 242 states and 262 transitions. [2022-07-23 16:02:32,557 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 36 states. [2022-07-23 16:02:32,557 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 242 states and 262 transitions. [2022-07-23 16:02:32,558 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:02:32,559 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 242 states to 242 states and 262 transitions. [2022-07-23 16:02:32,560 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 102 [2022-07-23 16:02:32,560 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 102 [2022-07-23 16:02:32,560 INFO L73 IsDeterministic]: Start isDeterministic. Operand 242 states and 262 transitions. [2022-07-23 16:02:32,560 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 16:02:32,560 INFO L369 hiAutomatonCegarLoop]: Abstraction has 242 states and 262 transitions. [2022-07-23 16:02:32,560 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 242 states and 262 transitions. [2022-07-23 16:02:32,562 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 242 to 108. [2022-07-23 16:02:32,562 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-23 16:02:32,563 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 108 states to 108 states and 115 transitions. [2022-07-23 16:02:32,563 INFO L392 hiAutomatonCegarLoop]: Abstraction has 108 states and 115 transitions. [2022-07-23 16:02:32,563 INFO L374 stractBuchiCegarLoop]: Abstraction has 108 states and 115 transitions. [2022-07-23 16:02:32,563 INFO L287 stractBuchiCegarLoop]: ======== Iteration 23 ============ [2022-07-23 16:02:32,563 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 108 states and 115 transitions. [2022-07-23 16:02:32,564 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:02:32,564 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 16:02:32,564 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 16:02:32,565 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-23 16:02:32,565 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-23 16:02:32,565 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-23 16:02:32,565 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-23 16:02:32,566 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:32,566 INFO L85 PathProgramCache]: Analyzing trace with hash -2088866474, now seen corresponding path program 13 times [2022-07-23 16:02:32,566 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:32,566 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1810513139] [2022-07-23 16:02:32,566 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:32,566 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:32,580 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:02:32,580 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1418698190] [2022-07-23 16:02:32,580 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2022-07-23 16:02:32,581 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:02:32,581 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:32,587 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-23 16:02:32,608 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-23 16:02:32,706 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:32,706 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:02:32,750 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:32,770 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:02:32,770 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:32,770 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 11 times [2022-07-23 16:02:32,771 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:32,771 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1302668442] [2022-07-23 16:02:32,771 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:32,771 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:32,774 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:32,774 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:02:32,776 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:32,778 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:02:32,778 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:32,778 INFO L85 PathProgramCache]: Analyzing trace with hash 360079546, now seen corresponding path program 14 times [2022-07-23 16:02:32,779 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:32,779 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [57988360] [2022-07-23 16:02:32,779 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:32,779 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:32,794 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:02:32,794 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [398039569] [2022-07-23 16:02:32,794 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-07-23 16:02:32,794 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:02:32,795 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:32,807 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-23 16:02:32,807 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-23 16:02:32,903 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-07-23 16:02:32,903 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-23 16:02:32,904 INFO L263 TraceCheckSpWp]: Trace formula consists of 332 conjuncts, 22 conjunts are in the unsatisfiable core [2022-07-23 16:02:32,906 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:02:33,154 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-23 16:02:33,155 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-23 16:02:33,415 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-23 16:02:33,415 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 16:02:33,415 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [57988360] [2022-07-23 16:02:33,415 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-23 16:02:33,415 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [398039569] [2022-07-23 16:02:33,415 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [398039569] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-23 16:02:33,415 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-23 16:02:33,415 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [22, 22] total 32 [2022-07-23 16:02:33,415 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1507712754] [2022-07-23 16:02:33,415 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-23 16:02:33,488 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 16:02:33,488 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 33 interpolants. [2022-07-23 16:02:33,488 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=263, Invalid=793, Unknown=0, NotChecked=0, Total=1056 [2022-07-23 16:02:33,489 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-23 16:02:34,011 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 16:02:34,012 INFO L93 Difference]: Finished difference Result 210 states and 218 transitions. [2022-07-23 16:02:34,012 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 25 states. [2022-07-23 16:02:34,012 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 210 states and 218 transitions. [2022-07-23 16:02:34,013 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:02:34,014 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 210 states to 111 states and 118 transitions. [2022-07-23 16:02:34,014 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 33 [2022-07-23 16:02:34,014 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 33 [2022-07-23 16:02:34,014 INFO L73 IsDeterministic]: Start isDeterministic. Operand 111 states and 118 transitions. [2022-07-23 16:02:34,014 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 16:02:34,015 INFO L369 hiAutomatonCegarLoop]: Abstraction has 111 states and 118 transitions. [2022-07-23 16:02:34,015 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 111 states and 118 transitions. [2022-07-23 16:02:34,016 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 111 to 110. [2022-07-23 16:02:34,016 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-23 16:02:34,017 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 110 states to 110 states and 117 transitions. [2022-07-23 16:02:34,017 INFO L392 hiAutomatonCegarLoop]: Abstraction has 110 states and 117 transitions. [2022-07-23 16:02:34,017 INFO L374 stractBuchiCegarLoop]: Abstraction has 110 states and 117 transitions. [2022-07-23 16:02:34,017 INFO L287 stractBuchiCegarLoop]: ======== Iteration 24 ============ [2022-07-23 16:02:34,017 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 110 states and 117 transitions. [2022-07-23 16:02:34,018 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:02:34,018 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 16:02:34,018 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 16:02:34,018 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-23 16:02:34,018 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-23 16:02:34,019 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-23 16:02:34,019 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-23 16:02:34,019 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:34,019 INFO L85 PathProgramCache]: Analyzing trace with hash -2047970572, now seen corresponding path program 15 times [2022-07-23 16:02:34,020 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:34,020 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [501587659] [2022-07-23 16:02:34,020 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:34,020 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:34,034 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:02:34,035 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [702991926] [2022-07-23 16:02:34,035 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-07-23 16:02:34,035 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:02:34,035 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:34,043 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-23 16:02:34,064 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-23 16:02:34,223 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 11 check-sat command(s) [2022-07-23 16:02:34,223 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-23 16:02:34,226 INFO L263 TraceCheckSpWp]: Trace formula consists of 331 conjuncts, 25 conjunts are in the unsatisfiable core [2022-07-23 16:02:34,228 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:02:34,651 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-23 16:02:34,652 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-23 16:02:35,184 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-23 16:02:35,184 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 16:02:35,184 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [501587659] [2022-07-23 16:02:35,184 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-23 16:02:35,185 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [702991926] [2022-07-23 16:02:35,185 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [702991926] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-23 16:02:35,185 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-23 16:02:35,185 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [26, 25] total 38 [2022-07-23 16:02:35,185 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [909739777] [2022-07-23 16:02:35,185 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-23 16:02:35,186 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-23 16:02:35,186 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:35,186 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 12 times [2022-07-23 16:02:35,186 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:35,186 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [805126630] [2022-07-23 16:02:35,186 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:35,187 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:35,190 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:35,190 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:02:35,192 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:35,194 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:02:35,250 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 16:02:35,251 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 38 interpolants. [2022-07-23 16:02:35,251 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=339, Invalid=1067, Unknown=0, NotChecked=0, Total=1406 [2022-07-23 16:02:35,251 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-23 16:02:36,167 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 16:02:36,168 INFO L93 Difference]: Finished difference Result 229 states and 242 transitions. [2022-07-23 16:02:36,172 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 35 states. [2022-07-23 16:02:36,173 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 229 states and 242 transitions. [2022-07-23 16:02:36,174 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 12 [2022-07-23 16:02:36,175 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 229 states to 222 states and 235 transitions. [2022-07-23 16:02:36,175 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 87 [2022-07-23 16:02:36,175 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 87 [2022-07-23 16:02:36,176 INFO L73 IsDeterministic]: Start isDeterministic. Operand 222 states and 235 transitions. [2022-07-23 16:02:36,176 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 16:02:36,176 INFO L369 hiAutomatonCegarLoop]: Abstraction has 222 states and 235 transitions. [2022-07-23 16:02:36,176 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 222 states and 235 transitions. [2022-07-23 16:02:36,178 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 222 to 119. [2022-07-23 16:02:36,178 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-23 16:02:36,178 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 119 states to 119 states and 126 transitions. [2022-07-23 16:02:36,179 INFO L392 hiAutomatonCegarLoop]: Abstraction has 119 states and 126 transitions. [2022-07-23 16:02:36,179 INFO L374 stractBuchiCegarLoop]: Abstraction has 119 states and 126 transitions. [2022-07-23 16:02:36,179 INFO L287 stractBuchiCegarLoop]: ======== Iteration 25 ============ [2022-07-23 16:02:36,179 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 119 states and 126 transitions. [2022-07-23 16:02:36,180 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:02:36,180 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 16:02:36,180 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 16:02:36,181 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-23 16:02:36,187 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-23 16:02:36,188 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-23 16:02:36,188 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-23 16:02:36,188 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:36,188 INFO L85 PathProgramCache]: Analyzing trace with hash -1190377541, now seen corresponding path program 16 times [2022-07-23 16:02:36,189 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:36,189 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [433675490] [2022-07-23 16:02:36,189 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:36,189 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:36,209 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:02:36,209 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [218233245] [2022-07-23 16:02:36,210 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-07-23 16:02:36,210 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:02:36,210 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:36,215 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-23 16:02:36,216 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-23 16:02:36,368 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-07-23 16:02:36,368 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-07-23 16:02:36,368 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:02:36,428 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:36,448 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:02:36,448 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:36,448 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 13 times [2022-07-23 16:02:36,448 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:36,449 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1544637667] [2022-07-23 16:02:36,449 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:36,449 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:36,453 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:36,453 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:02:36,455 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:36,456 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:02:36,457 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:36,457 INFO L85 PathProgramCache]: Analyzing trace with hash 1007693877, now seen corresponding path program 17 times [2022-07-23 16:02:36,457 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:36,457 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [570591299] [2022-07-23 16:02:36,457 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:36,457 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:36,472 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:02:36,473 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1472649269] [2022-07-23 16:02:36,473 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-07-23 16:02:36,473 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:02:36,473 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:36,480 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-23 16:02:36,506 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-23 16:02:36,660 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 11 check-sat command(s) [2022-07-23 16:02:36,660 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-23 16:02:36,663 INFO L263 TraceCheckSpWp]: Trace formula consists of 351 conjuncts, 25 conjunts are in the unsatisfiable core [2022-07-23 16:02:36,665 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:02:37,115 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-23 16:02:37,115 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-23 16:02:37,512 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-23 16:02:37,513 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 16:02:37,513 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [570591299] [2022-07-23 16:02:37,513 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-23 16:02:37,513 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1472649269] [2022-07-23 16:02:37,513 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1472649269] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-23 16:02:37,513 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-23 16:02:37,513 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [25, 24] total 36 [2022-07-23 16:02:37,514 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1306669075] [2022-07-23 16:02:37,514 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-23 16:02:37,564 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 16:02:37,564 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 37 interpolants. [2022-07-23 16:02:37,565 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=346, Invalid=986, Unknown=0, NotChecked=0, Total=1332 [2022-07-23 16:02:37,565 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-23 16:02:38,398 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 16:02:38,398 INFO L93 Difference]: Finished difference Result 231 states and 239 transitions. [2022-07-23 16:02:38,399 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 34 states. [2022-07-23 16:02:38,399 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 231 states and 239 transitions. [2022-07-23 16:02:38,401 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:02:38,401 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 231 states to 123 states and 130 transitions. [2022-07-23 16:02:38,401 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 34 [2022-07-23 16:02:38,401 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 34 [2022-07-23 16:02:38,401 INFO L73 IsDeterministic]: Start isDeterministic. Operand 123 states and 130 transitions. [2022-07-23 16:02:38,402 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 16:02:38,402 INFO L369 hiAutomatonCegarLoop]: Abstraction has 123 states and 130 transitions. [2022-07-23 16:02:38,402 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 123 states and 130 transitions. [2022-07-23 16:02:38,403 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 123 to 121. [2022-07-23 16:02:38,403 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-23 16:02:38,404 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 121 states to 121 states and 128 transitions. [2022-07-23 16:02:38,404 INFO L392 hiAutomatonCegarLoop]: Abstraction has 121 states and 128 transitions. [2022-07-23 16:02:38,404 INFO L374 stractBuchiCegarLoop]: Abstraction has 121 states and 128 transitions. [2022-07-23 16:02:38,404 INFO L287 stractBuchiCegarLoop]: ======== Iteration 26 ============ [2022-07-23 16:02:38,404 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 121 states and 128 transitions. [2022-07-23 16:02:38,405 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:02:38,405 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 16:02:38,405 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 16:02:38,406 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-23 16:02:38,406 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-23 16:02:38,406 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-23 16:02:38,406 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-23 16:02:38,407 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:38,407 INFO L85 PathProgramCache]: Analyzing trace with hash 602132313, now seen corresponding path program 18 times [2022-07-23 16:02:38,407 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:38,407 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1796865246] [2022-07-23 16:02:38,407 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:38,407 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:38,428 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:02:38,428 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [858968157] [2022-07-23 16:02:38,428 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-07-23 16:02:38,428 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:02:38,428 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:38,430 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-23 16:02:38,453 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-23 16:02:38,851 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 12 check-sat command(s) [2022-07-23 16:02:38,851 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-23 16:02:38,855 INFO L263 TraceCheckSpWp]: Trace formula consists of 350 conjuncts, 24 conjunts are in the unsatisfiable core [2022-07-23 16:02:38,856 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:02:39,124 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-23 16:02:39,125 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-23 16:02:39,406 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-23 16:02:39,407 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 16:02:39,407 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1796865246] [2022-07-23 16:02:39,407 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-23 16:02:39,407 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [858968157] [2022-07-23 16:02:39,407 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [858968157] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-23 16:02:39,407 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-23 16:02:39,407 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [25, 25] total 36 [2022-07-23 16:02:39,407 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1531578762] [2022-07-23 16:02:39,408 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-23 16:02:39,408 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-23 16:02:39,408 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:39,408 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 14 times [2022-07-23 16:02:39,408 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:39,409 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1492586806] [2022-07-23 16:02:39,409 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:39,409 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:39,412 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:39,413 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:02:39,414 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:39,416 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:02:39,476 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 16:02:39,477 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 36 interpolants. [2022-07-23 16:02:39,477 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=311, Invalid=949, Unknown=0, NotChecked=0, Total=1260 [2022-07-23 16:02:39,477 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-23 16:02:40,553 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 16:02:40,554 INFO L93 Difference]: Finished difference Result 316 states and 339 transitions. [2022-07-23 16:02:40,555 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 46 states. [2022-07-23 16:02:40,555 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 316 states and 339 transitions. [2022-07-23 16:02:40,557 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:02:40,558 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 316 states to 316 states and 339 transitions. [2022-07-23 16:02:40,558 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 138 [2022-07-23 16:02:40,558 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 138 [2022-07-23 16:02:40,558 INFO L73 IsDeterministic]: Start isDeterministic. Operand 316 states and 339 transitions. [2022-07-23 16:02:40,558 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 16:02:40,558 INFO L369 hiAutomatonCegarLoop]: Abstraction has 316 states and 339 transitions. [2022-07-23 16:02:40,559 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 316 states and 339 transitions. [2022-07-23 16:02:40,561 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 316 to 127. [2022-07-23 16:02:40,561 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-23 16:02:40,561 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 127 states to 127 states and 134 transitions. [2022-07-23 16:02:40,561 INFO L392 hiAutomatonCegarLoop]: Abstraction has 127 states and 134 transitions. [2022-07-23 16:02:40,561 INFO L374 stractBuchiCegarLoop]: Abstraction has 127 states and 134 transitions. [2022-07-23 16:02:40,562 INFO L287 stractBuchiCegarLoop]: ======== Iteration 27 ============ [2022-07-23 16:02:40,562 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 127 states and 134 transitions. [2022-07-23 16:02:40,562 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:02:40,562 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 16:02:40,563 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 16:02:40,563 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-23 16:02:40,563 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-23 16:02:40,564 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-23 16:02:40,564 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-23 16:02:40,564 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:40,564 INFO L85 PathProgramCache]: Analyzing trace with hash -530614410, now seen corresponding path program 19 times [2022-07-23 16:02:40,564 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:40,565 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [260697880] [2022-07-23 16:02:40,565 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:40,565 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:40,580 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:02:40,580 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1433496064] [2022-07-23 16:02:40,580 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2022-07-23 16:02:40,580 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:02:40,581 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:40,587 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-23 16:02:40,607 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-23 16:02:40,817 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:40,818 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:02:40,894 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:40,919 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:02:40,920 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:40,920 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 15 times [2022-07-23 16:02:40,920 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:40,920 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [869737400] [2022-07-23 16:02:40,920 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:40,920 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:40,923 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:40,923 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:02:40,938 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:40,947 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:02:40,948 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:40,948 INFO L85 PathProgramCache]: Analyzing trace with hash -2054184294, now seen corresponding path program 20 times [2022-07-23 16:02:40,948 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:40,948 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2061031016] [2022-07-23 16:02:40,948 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:40,949 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:40,966 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:02:40,966 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1752350974] [2022-07-23 16:02:40,966 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-07-23 16:02:40,967 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:02:40,967 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:40,971 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-23 16:02:40,981 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-23 16:02:41,109 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-07-23 16:02:41,110 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-23 16:02:41,112 INFO L263 TraceCheckSpWp]: Trace formula consists of 386 conjuncts, 26 conjunts are in the unsatisfiable core [2022-07-23 16:02:41,114 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:02:41,474 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-23 16:02:41,475 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-23 16:02:41,875 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-23 16:02:41,875 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 16:02:41,875 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2061031016] [2022-07-23 16:02:41,875 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-23 16:02:41,875 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1752350974] [2022-07-23 16:02:41,875 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1752350974] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-23 16:02:41,875 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-23 16:02:41,875 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [26, 26] total 38 [2022-07-23 16:02:41,876 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [156516429] [2022-07-23 16:02:41,876 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-23 16:02:41,937 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 16:02:41,938 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 39 interpolants. [2022-07-23 16:02:41,939 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=363, Invalid=1119, Unknown=0, NotChecked=0, Total=1482 [2022-07-23 16:02:41,939 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-23 16:02:42,642 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 16:02:42,642 INFO L93 Difference]: Finished difference Result 247 states and 255 transitions. [2022-07-23 16:02:42,642 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2022-07-23 16:02:42,642 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 247 states and 255 transitions. [2022-07-23 16:02:42,643 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:02:42,644 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 247 states to 130 states and 137 transitions. [2022-07-23 16:02:42,644 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 36 [2022-07-23 16:02:42,644 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 36 [2022-07-23 16:02:42,644 INFO L73 IsDeterministic]: Start isDeterministic. Operand 130 states and 137 transitions. [2022-07-23 16:02:42,644 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 16:02:42,644 INFO L369 hiAutomatonCegarLoop]: Abstraction has 130 states and 137 transitions. [2022-07-23 16:02:42,644 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 130 states and 137 transitions. [2022-07-23 16:02:42,646 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 130 to 129. [2022-07-23 16:02:42,646 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-23 16:02:42,646 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 129 states to 129 states and 136 transitions. [2022-07-23 16:02:42,646 INFO L392 hiAutomatonCegarLoop]: Abstraction has 129 states and 136 transitions. [2022-07-23 16:02:42,647 INFO L374 stractBuchiCegarLoop]: Abstraction has 129 states and 136 transitions. [2022-07-23 16:02:42,647 INFO L287 stractBuchiCegarLoop]: ======== Iteration 28 ============ [2022-07-23 16:02:42,647 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 129 states and 136 transitions. [2022-07-23 16:02:42,647 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:02:42,647 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 16:02:42,647 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 16:02:42,648 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-23 16:02:42,648 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-23 16:02:42,649 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-23 16:02:42,649 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-23 16:02:42,649 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:42,649 INFO L85 PathProgramCache]: Analyzing trace with hash 486310164, now seen corresponding path program 21 times [2022-07-23 16:02:42,649 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:42,650 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1581512029] [2022-07-23 16:02:42,650 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:42,650 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:42,666 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:02:42,667 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [348555627] [2022-07-23 16:02:42,667 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-07-23 16:02:42,667 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:02:42,667 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:42,675 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-23 16:02:42,701 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-23 16:02:42,981 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 13 check-sat command(s) [2022-07-23 16:02:42,981 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-23 16:02:42,984 INFO L263 TraceCheckSpWp]: Trace formula consists of 385 conjuncts, 29 conjunts are in the unsatisfiable core [2022-07-23 16:02:42,986 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:02:43,611 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-23 16:02:43,611 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-23 16:02:44,304 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-23 16:02:44,305 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 16:02:44,305 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1581512029] [2022-07-23 16:02:44,305 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-23 16:02:44,305 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [348555627] [2022-07-23 16:02:44,305 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [348555627] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-23 16:02:44,305 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-23 16:02:44,305 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [30, 29] total 44 [2022-07-23 16:02:44,305 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1361295303] [2022-07-23 16:02:44,305 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-23 16:02:44,305 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-23 16:02:44,306 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:44,306 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 16 times [2022-07-23 16:02:44,306 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:44,306 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1643407550] [2022-07-23 16:02:44,306 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:44,306 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:44,309 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:44,309 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:02:44,311 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:44,313 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:02:44,379 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 16:02:44,379 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 44 interpolants. [2022-07-23 16:02:44,380 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=447, Invalid=1445, Unknown=0, NotChecked=0, Total=1892 [2022-07-23 16:02:44,380 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-23 16:02:45,523 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 16:02:45,523 INFO L93 Difference]: Finished difference Result 263 states and 276 transitions. [2022-07-23 16:02:45,524 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 41 states. [2022-07-23 16:02:45,524 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 263 states and 276 transitions. [2022-07-23 16:02:45,525 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 12 [2022-07-23 16:02:45,526 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 263 states to 256 states and 269 transitions. [2022-07-23 16:02:45,526 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 99 [2022-07-23 16:02:45,526 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 99 [2022-07-23 16:02:45,527 INFO L73 IsDeterministic]: Start isDeterministic. Operand 256 states and 269 transitions. [2022-07-23 16:02:45,527 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 16:02:45,527 INFO L369 hiAutomatonCegarLoop]: Abstraction has 256 states and 269 transitions. [2022-07-23 16:02:45,527 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 256 states and 269 transitions. [2022-07-23 16:02:45,529 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 256 to 138. [2022-07-23 16:02:45,529 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-23 16:02:45,529 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 138 states to 138 states and 145 transitions. [2022-07-23 16:02:45,530 INFO L392 hiAutomatonCegarLoop]: Abstraction has 138 states and 145 transitions. [2022-07-23 16:02:45,530 INFO L374 stractBuchiCegarLoop]: Abstraction has 138 states and 145 transitions. [2022-07-23 16:02:45,530 INFO L287 stractBuchiCegarLoop]: ======== Iteration 29 ============ [2022-07-23 16:02:45,530 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 138 states and 145 transitions. [2022-07-23 16:02:45,531 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:02:45,531 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 16:02:45,531 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 16:02:45,531 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-23 16:02:45,531 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-23 16:02:45,532 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-23 16:02:45,532 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-23 16:02:45,532 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:45,532 INFO L85 PathProgramCache]: Analyzing trace with hash -1653131305, now seen corresponding path program 22 times [2022-07-23 16:02:45,533 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:45,533 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1272503608] [2022-07-23 16:02:45,533 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:45,533 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:45,550 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:02:45,550 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [791908854] [2022-07-23 16:02:45,550 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-07-23 16:02:45,550 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:02:45,550 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:45,563 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-23 16:02:45,567 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-23 16:02:45,772 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-07-23 16:02:45,773 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-07-23 16:02:45,773 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:02:45,928 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:45,953 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:02:45,953 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:45,954 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 17 times [2022-07-23 16:02:45,954 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:45,954 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1743169703] [2022-07-23 16:02:45,954 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:45,954 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:45,957 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:45,957 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:02:45,959 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:45,961 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:02:45,962 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:45,962 INFO L85 PathProgramCache]: Analyzing trace with hash 1955330713, now seen corresponding path program 23 times [2022-07-23 16:02:45,962 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:45,962 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1525455554] [2022-07-23 16:02:45,962 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:45,962 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:45,981 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:02:45,981 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2063220374] [2022-07-23 16:02:45,981 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-07-23 16:02:45,981 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:02:45,982 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:45,983 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-23 16:02:46,008 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-23 16:02:46,182 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 13 check-sat command(s) [2022-07-23 16:02:46,182 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-23 16:02:46,185 INFO L263 TraceCheckSpWp]: Trace formula consists of 405 conjuncts, 15 conjunts are in the unsatisfiable core [2022-07-23 16:02:46,186 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:02:46,812 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-23 16:02:46,812 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-23 16:02:47,329 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-23 16:02:47,329 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 16:02:47,329 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1525455554] [2022-07-23 16:02:47,329 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-23 16:02:47,329 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2063220374] [2022-07-23 16:02:47,329 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2063220374] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-23 16:02:47,329 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-23 16:02:47,329 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 15] total 28 [2022-07-23 16:02:47,329 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [808452750] [2022-07-23 16:02:47,329 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-23 16:02:47,389 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 16:02:47,390 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 29 interpolants. [2022-07-23 16:02:47,390 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=231, Invalid=581, Unknown=0, NotChecked=0, Total=812 [2022-07-23 16:02:47,390 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-23 16:02:48,129 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 16:02:48,129 INFO L93 Difference]: Finished difference Result 257 states and 269 transitions. [2022-07-23 16:02:48,130 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-07-23 16:02:48,130 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 257 states and 269 transitions. [2022-07-23 16:02:48,131 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:02:48,132 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 257 states to 165 states and 172 transitions. [2022-07-23 16:02:48,132 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 58 [2022-07-23 16:02:48,132 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 58 [2022-07-23 16:02:48,132 INFO L73 IsDeterministic]: Start isDeterministic. Operand 165 states and 172 transitions. [2022-07-23 16:02:48,132 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 16:02:48,132 INFO L369 hiAutomatonCegarLoop]: Abstraction has 165 states and 172 transitions. [2022-07-23 16:02:48,132 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 165 states and 172 transitions. [2022-07-23 16:02:48,134 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 165 to 144. [2022-07-23 16:02:48,134 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-23 16:02:48,134 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 144 states to 144 states and 151 transitions. [2022-07-23 16:02:48,134 INFO L392 hiAutomatonCegarLoop]: Abstraction has 144 states and 151 transitions. [2022-07-23 16:02:48,135 INFO L374 stractBuchiCegarLoop]: Abstraction has 144 states and 151 transitions. [2022-07-23 16:02:48,135 INFO L287 stractBuchiCegarLoop]: ======== Iteration 30 ============ [2022-07-23 16:02:48,135 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 144 states and 151 transitions. [2022-07-23 16:02:48,135 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:02:48,136 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 16:02:48,136 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 16:02:48,136 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-23 16:02:48,136 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-23 16:02:48,137 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-23 16:02:48,137 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-23 16:02:48,137 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:48,137 INFO L85 PathProgramCache]: Analyzing trace with hash -69138192, now seen corresponding path program 24 times [2022-07-23 16:02:48,138 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:48,138 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [918760492] [2022-07-23 16:02:48,138 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:48,138 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:48,156 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:02:48,156 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1315174331] [2022-07-23 16:02:48,156 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-07-23 16:02:48,157 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:02:48,157 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:48,163 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-23 16:02:48,185 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-23 16:02:48,670 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 14 check-sat command(s) [2022-07-23 16:02:48,670 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-23 16:02:48,674 INFO L263 TraceCheckSpWp]: Trace formula consists of 417 conjuncts, 28 conjunts are in the unsatisfiable core [2022-07-23 16:02:48,676 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:02:49,023 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-23 16:02:49,023 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-23 16:02:49,465 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-23 16:02:49,466 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 16:02:49,466 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [918760492] [2022-07-23 16:02:49,466 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-23 16:02:49,466 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1315174331] [2022-07-23 16:02:49,466 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1315174331] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-23 16:02:49,466 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-23 16:02:49,466 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [29, 29] total 42 [2022-07-23 16:02:49,466 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1062374402] [2022-07-23 16:02:49,466 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-23 16:02:49,466 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-23 16:02:49,467 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:49,467 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 18 times [2022-07-23 16:02:49,467 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:49,467 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1183719086] [2022-07-23 16:02:49,467 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:49,467 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:49,470 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:49,470 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:02:49,472 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:49,474 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:02:49,546 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 16:02:49,547 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 42 interpolants. [2022-07-23 16:02:49,547 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=419, Invalid=1303, Unknown=0, NotChecked=0, Total=1722 [2022-07-23 16:02:49,547 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-23 16:02:50,055 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 16:02:50,055 INFO L93 Difference]: Finished difference Result 186 states and 193 transitions. [2022-07-23 16:02:50,056 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 31 states. [2022-07-23 16:02:50,057 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 186 states and 193 transitions. [2022-07-23 16:02:50,057 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:02:50,058 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 186 states to 147 states and 154 transitions. [2022-07-23 16:02:50,058 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 39 [2022-07-23 16:02:50,058 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 39 [2022-07-23 16:02:50,058 INFO L73 IsDeterministic]: Start isDeterministic. Operand 147 states and 154 transitions. [2022-07-23 16:02:50,058 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 16:02:50,058 INFO L369 hiAutomatonCegarLoop]: Abstraction has 147 states and 154 transitions. [2022-07-23 16:02:50,058 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 147 states and 154 transitions. [2022-07-23 16:02:50,059 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 147 to 146. [2022-07-23 16:02:50,059 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-23 16:02:50,060 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 146 states to 146 states and 153 transitions. [2022-07-23 16:02:50,060 INFO L392 hiAutomatonCegarLoop]: Abstraction has 146 states and 153 transitions. [2022-07-23 16:02:50,060 INFO L374 stractBuchiCegarLoop]: Abstraction has 146 states and 153 transitions. [2022-07-23 16:02:50,060 INFO L287 stractBuchiCegarLoop]: ======== Iteration 31 ============ [2022-07-23 16:02:50,060 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 146 states and 153 transitions. [2022-07-23 16:02:50,061 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:02:50,061 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 16:02:50,061 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 16:02:50,062 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-23 16:02:50,062 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-23 16:02:50,062 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-23 16:02:50,062 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-23 16:02:50,063 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:50,063 INFO L85 PathProgramCache]: Analyzing trace with hash -1914313202, now seen corresponding path program 25 times [2022-07-23 16:02:50,063 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:50,063 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1679676253] [2022-07-23 16:02:50,063 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:50,063 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:50,082 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:02:50,082 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1274898227] [2022-07-23 16:02:50,083 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2022-07-23 16:02:50,083 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:02:50,083 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:50,088 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-23 16:02:50,089 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-23 16:02:50,281 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:50,281 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:02:50,451 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:50,478 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:02:50,478 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:50,478 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 19 times [2022-07-23 16:02:50,478 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:50,478 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1965576672] [2022-07-23 16:02:50,478 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:50,478 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:50,481 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:50,481 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:02:50,483 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:50,485 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:02:50,485 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:50,485 INFO L85 PathProgramCache]: Analyzing trace with hash -728789758, now seen corresponding path program 26 times [2022-07-23 16:02:50,485 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:50,485 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [623905112] [2022-07-23 16:02:50,485 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:50,485 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:50,500 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:02:50,501 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2016366642] [2022-07-23 16:02:50,501 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-07-23 16:02:50,501 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:02:50,501 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:50,507 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-23 16:02:50,530 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-23 16:02:50,651 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-07-23 16:02:50,651 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-23 16:02:50,653 INFO L263 TraceCheckSpWp]: Trace formula consists of 440 conjuncts, 30 conjunts are in the unsatisfiable core [2022-07-23 16:02:50,655 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:02:51,075 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-23 16:02:51,076 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-23 16:02:51,627 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-23 16:02:51,627 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 16:02:51,627 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [623905112] [2022-07-23 16:02:51,627 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-23 16:02:51,627 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2016366642] [2022-07-23 16:02:51,627 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2016366642] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-23 16:02:51,627 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-23 16:02:51,627 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [30, 30] total 44 [2022-07-23 16:02:51,628 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [964154208] [2022-07-23 16:02:51,628 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-23 16:02:51,687 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 16:02:51,687 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 45 interpolants. [2022-07-23 16:02:51,688 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=479, Invalid=1501, Unknown=0, NotChecked=0, Total=1980 [2022-07-23 16:02:51,688 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-23 16:02:52,814 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 16:02:52,814 INFO L93 Difference]: Finished difference Result 284 states and 292 transitions. [2022-07-23 16:02:52,815 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 33 states. [2022-07-23 16:02:52,815 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 284 states and 292 transitions. [2022-07-23 16:02:52,816 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:02:52,817 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 284 states to 149 states and 156 transitions. [2022-07-23 16:02:52,817 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 39 [2022-07-23 16:02:52,817 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 39 [2022-07-23 16:02:52,817 INFO L73 IsDeterministic]: Start isDeterministic. Operand 149 states and 156 transitions. [2022-07-23 16:02:52,817 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 16:02:52,817 INFO L369 hiAutomatonCegarLoop]: Abstraction has 149 states and 156 transitions. [2022-07-23 16:02:52,817 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 149 states and 156 transitions. [2022-07-23 16:02:52,818 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 149 to 148. [2022-07-23 16:02:52,819 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-23 16:02:52,819 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 148 states to 148 states and 155 transitions. [2022-07-23 16:02:52,819 INFO L392 hiAutomatonCegarLoop]: Abstraction has 148 states and 155 transitions. [2022-07-23 16:02:52,819 INFO L374 stractBuchiCegarLoop]: Abstraction has 148 states and 155 transitions. [2022-07-23 16:02:52,819 INFO L287 stractBuchiCegarLoop]: ======== Iteration 32 ============ [2022-07-23 16:02:52,819 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 148 states and 155 transitions. [2022-07-23 16:02:52,820 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:02:52,820 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 16:02:52,820 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 16:02:52,820 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-23 16:02:52,820 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-23 16:02:52,821 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-23 16:02:52,821 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-23 16:02:52,821 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:52,821 INFO L85 PathProgramCache]: Analyzing trace with hash -1306004564, now seen corresponding path program 27 times [2022-07-23 16:02:52,821 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:52,821 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1605366710] [2022-07-23 16:02:52,821 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:52,821 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:52,843 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:02:52,843 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [987624171] [2022-07-23 16:02:52,844 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-07-23 16:02:52,844 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:02:52,844 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:52,851 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-23 16:02:52,870 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-23 16:02:53,327 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 15 check-sat command(s) [2022-07-23 16:02:53,327 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-23 16:02:53,332 INFO L263 TraceCheckSpWp]: Trace formula consists of 439 conjuncts, 33 conjunts are in the unsatisfiable core [2022-07-23 16:02:53,333 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:02:54,103 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-23 16:02:54,103 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-23 16:02:55,013 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-23 16:02:55,013 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 16:02:55,013 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1605366710] [2022-07-23 16:02:55,013 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-23 16:02:55,013 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [987624171] [2022-07-23 16:02:55,013 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [987624171] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-23 16:02:55,013 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-23 16:02:55,013 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [34, 33] total 50 [2022-07-23 16:02:55,013 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1589386397] [2022-07-23 16:02:55,013 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-23 16:02:55,014 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-23 16:02:55,014 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:55,014 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 20 times [2022-07-23 16:02:55,014 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:55,014 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2138781483] [2022-07-23 16:02:55,014 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:55,014 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:55,017 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:55,018 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:02:55,019 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:55,021 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:02:55,088 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 16:02:55,089 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 50 interpolants. [2022-07-23 16:02:55,089 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=570, Invalid=1880, Unknown=0, NotChecked=0, Total=2450 [2022-07-23 16:02:55,090 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-23 16:02:56,649 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 16:02:56,649 INFO L93 Difference]: Finished difference Result 297 states and 310 transitions. [2022-07-23 16:02:56,650 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 47 states. [2022-07-23 16:02:56,650 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 297 states and 310 transitions. [2022-07-23 16:02:56,651 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 12 [2022-07-23 16:02:56,652 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 297 states to 290 states and 303 transitions. [2022-07-23 16:02:56,652 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 111 [2022-07-23 16:02:56,653 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 111 [2022-07-23 16:02:56,653 INFO L73 IsDeterministic]: Start isDeterministic. Operand 290 states and 303 transitions. [2022-07-23 16:02:56,653 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 16:02:56,653 INFO L369 hiAutomatonCegarLoop]: Abstraction has 290 states and 303 transitions. [2022-07-23 16:02:56,653 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 290 states and 303 transitions. [2022-07-23 16:02:56,655 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 290 to 157. [2022-07-23 16:02:56,655 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-23 16:02:56,656 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 157 states to 157 states and 164 transitions. [2022-07-23 16:02:56,656 INFO L392 hiAutomatonCegarLoop]: Abstraction has 157 states and 164 transitions. [2022-07-23 16:02:56,656 INFO L374 stractBuchiCegarLoop]: Abstraction has 157 states and 164 transitions. [2022-07-23 16:02:56,656 INFO L287 stractBuchiCegarLoop]: ======== Iteration 33 ============ [2022-07-23 16:02:56,656 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 157 states and 164 transitions. [2022-07-23 16:02:56,657 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:02:56,657 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 16:02:56,657 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 16:02:56,658 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-23 16:02:56,658 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-23 16:02:56,658 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-23 16:02:56,658 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-23 16:02:56,659 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:56,659 INFO L85 PathProgramCache]: Analyzing trace with hash 451302003, now seen corresponding path program 28 times [2022-07-23 16:02:56,659 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:56,659 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [411071046] [2022-07-23 16:02:56,659 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:56,659 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:56,677 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:02:56,678 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1975398496] [2022-07-23 16:02:56,678 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-07-23 16:02:56,678 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:02:56,678 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:56,683 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-23 16:02:56,704 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-23 16:02:56,996 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-07-23 16:02:56,996 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-07-23 16:02:56,996 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:02:57,189 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:57,219 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:02:57,219 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:57,219 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 21 times [2022-07-23 16:02:57,219 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:57,219 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1544438608] [2022-07-23 16:02:57,219 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:57,219 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:57,222 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:57,223 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:02:57,224 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:02:57,228 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:02:57,228 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:02:57,228 INFO L85 PathProgramCache]: Analyzing trace with hash 1490389629, now seen corresponding path program 29 times [2022-07-23 16:02:57,229 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:02:57,229 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [852479312] [2022-07-23 16:02:57,229 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:02:57,229 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:02:57,254 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:02:57,254 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [240828588] [2022-07-23 16:02:57,254 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-07-23 16:02:57,254 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:02:57,254 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:02:57,259 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-23 16:02:57,282 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-23 16:02:57,543 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 15 check-sat command(s) [2022-07-23 16:02:57,544 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-23 16:02:57,548 INFO L263 TraceCheckSpWp]: Trace formula consists of 459 conjuncts, 17 conjunts are in the unsatisfiable core [2022-07-23 16:02:57,550 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:02:58,584 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-23 16:02:58,584 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-23 16:02:59,374 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-23 16:02:59,374 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 16:02:59,374 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [852479312] [2022-07-23 16:02:59,374 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-23 16:02:59,374 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [240828588] [2022-07-23 16:02:59,374 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [240828588] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-23 16:02:59,374 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-23 16:02:59,374 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 17] total 32 [2022-07-23 16:02:59,374 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [237094874] [2022-07-23 16:02:59,375 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-23 16:02:59,427 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 16:02:59,427 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 33 interpolants. [2022-07-23 16:02:59,428 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=296, Invalid=760, Unknown=0, NotChecked=0, Total=1056 [2022-07-23 16:02:59,428 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-23 16:03:00,470 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 16:03:00,470 INFO L93 Difference]: Finished difference Result 291 states and 303 transitions. [2022-07-23 16:03:00,471 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 25 states. [2022-07-23 16:03:00,471 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 291 states and 303 transitions. [2022-07-23 16:03:00,472 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:03:00,473 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 291 states to 187 states and 194 transitions. [2022-07-23 16:03:00,473 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 64 [2022-07-23 16:03:00,473 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 64 [2022-07-23 16:03:00,473 INFO L73 IsDeterministic]: Start isDeterministic. Operand 187 states and 194 transitions. [2022-07-23 16:03:00,473 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 16:03:00,473 INFO L369 hiAutomatonCegarLoop]: Abstraction has 187 states and 194 transitions. [2022-07-23 16:03:00,474 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 187 states and 194 transitions. [2022-07-23 16:03:00,475 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 187 to 163. [2022-07-23 16:03:00,475 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-23 16:03:00,476 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 163 states to 163 states and 170 transitions. [2022-07-23 16:03:00,476 INFO L392 hiAutomatonCegarLoop]: Abstraction has 163 states and 170 transitions. [2022-07-23 16:03:00,476 INFO L374 stractBuchiCegarLoop]: Abstraction has 163 states and 170 transitions. [2022-07-23 16:03:00,476 INFO L287 stractBuchiCegarLoop]: ======== Iteration 34 ============ [2022-07-23 16:03:00,476 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 163 states and 170 transitions. [2022-07-23 16:03:00,477 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:03:00,477 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 16:03:00,477 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 16:03:00,478 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-23 16:03:00,478 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-23 16:03:00,478 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-23 16:03:00,479 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-23 16:03:00,479 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:03:00,479 INFO L85 PathProgramCache]: Analyzing trace with hash -1183701744, now seen corresponding path program 30 times [2022-07-23 16:03:00,479 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:03:00,479 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [720268678] [2022-07-23 16:03:00,479 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:03:00,480 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:03:00,503 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:03:00,503 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1030940253] [2022-07-23 16:03:00,504 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-07-23 16:03:00,504 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:03:00,504 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:03:00,506 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-23 16:03:00,528 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-23 16:03:00,899 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 16 check-sat command(s) [2022-07-23 16:03:00,899 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-23 16:03:00,904 INFO L263 TraceCheckSpWp]: Trace formula consists of 471 conjuncts, 32 conjunts are in the unsatisfiable core [2022-07-23 16:03:00,906 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:03:01,378 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-23 16:03:01,379 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-23 16:03:02,046 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-23 16:03:02,046 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 16:03:02,047 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [720268678] [2022-07-23 16:03:02,047 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-23 16:03:02,047 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1030940253] [2022-07-23 16:03:02,047 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1030940253] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-23 16:03:02,047 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-23 16:03:02,047 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [32, 32] total 47 [2022-07-23 16:03:02,047 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1423203861] [2022-07-23 16:03:02,048 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-23 16:03:02,048 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-23 16:03:02,048 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:03:02,048 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 22 times [2022-07-23 16:03:02,048 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:03:02,049 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [298257360] [2022-07-23 16:03:02,049 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:03:02,049 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:03:02,053 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:03:02,053 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:03:02,054 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:03:02,057 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:03:02,124 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 16:03:02,124 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 48 interpolants. [2022-07-23 16:03:02,125 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=543, Invalid=1713, Unknown=0, NotChecked=0, Total=2256 [2022-07-23 16:03:02,125 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-23 16:03:02,764 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 16:03:02,765 INFO L93 Difference]: Finished difference Result 211 states and 218 transitions. [2022-07-23 16:03:02,765 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 35 states. [2022-07-23 16:03:02,765 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 211 states and 218 transitions. [2022-07-23 16:03:02,766 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:03:02,766 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 211 states to 166 states and 173 transitions. [2022-07-23 16:03:02,766 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 42 [2022-07-23 16:03:02,767 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 42 [2022-07-23 16:03:02,767 INFO L73 IsDeterministic]: Start isDeterministic. Operand 166 states and 173 transitions. [2022-07-23 16:03:02,767 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 16:03:02,767 INFO L369 hiAutomatonCegarLoop]: Abstraction has 166 states and 173 transitions. [2022-07-23 16:03:02,767 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 166 states and 173 transitions. [2022-07-23 16:03:02,768 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 166 to 165. [2022-07-23 16:03:02,768 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-23 16:03:02,769 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 165 states to 165 states and 172 transitions. [2022-07-23 16:03:02,769 INFO L392 hiAutomatonCegarLoop]: Abstraction has 165 states and 172 transitions. [2022-07-23 16:03:02,769 INFO L374 stractBuchiCegarLoop]: Abstraction has 165 states and 172 transitions. [2022-07-23 16:03:02,769 INFO L287 stractBuchiCegarLoop]: ======== Iteration 35 ============ [2022-07-23 16:03:02,769 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 165 states and 172 transitions. [2022-07-23 16:03:02,770 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:03:02,770 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 16:03:02,770 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 16:03:02,771 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-23 16:03:02,771 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-23 16:03:02,771 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-23 16:03:02,771 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-23 16:03:02,772 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:03:02,772 INFO L85 PathProgramCache]: Analyzing trace with hash -603650514, now seen corresponding path program 31 times [2022-07-23 16:03:02,772 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:03:02,772 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1137004709] [2022-07-23 16:03:02,772 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:03:02,772 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:03:02,789 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:03:02,790 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1395290148] [2022-07-23 16:03:02,790 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2022-07-23 16:03:02,790 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:03:02,790 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:03:02,795 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-23 16:03:02,818 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-23 16:03:03,066 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:03:03,066 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:03:03,362 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:03:03,395 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:03:03,395 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:03:03,395 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 23 times [2022-07-23 16:03:03,396 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:03:03,396 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1996356933] [2022-07-23 16:03:03,396 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:03:03,396 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:03:03,400 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:03:03,400 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:03:03,402 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:03:03,404 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:03:03,404 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:03:03,404 INFO L85 PathProgramCache]: Analyzing trace with hash -324339486, now seen corresponding path program 32 times [2022-07-23 16:03:03,404 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:03:03,405 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1062934507] [2022-07-23 16:03:03,405 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:03:03,405 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:03:03,424 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:03:03,424 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2124662152] [2022-07-23 16:03:03,424 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-07-23 16:03:03,424 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:03:03,424 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:03:03,431 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-23 16:03:03,463 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-23 16:03:03,597 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-07-23 16:03:03,597 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-23 16:03:03,600 INFO L263 TraceCheckSpWp]: Trace formula consists of 494 conjuncts, 34 conjunts are in the unsatisfiable core [2022-07-23 16:03:03,602 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:03:04,139 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-23 16:03:04,139 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-23 16:03:04,891 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-23 16:03:04,892 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 16:03:04,892 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1062934507] [2022-07-23 16:03:04,892 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-23 16:03:04,892 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2124662152] [2022-07-23 16:03:04,892 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2124662152] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-23 16:03:04,892 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-23 16:03:04,892 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [34, 34] total 50 [2022-07-23 16:03:04,892 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1892824620] [2022-07-23 16:03:04,892 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-23 16:03:04,948 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 16:03:04,949 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 51 interpolants. [2022-07-23 16:03:04,950 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=611, Invalid=1939, Unknown=0, NotChecked=0, Total=2550 [2022-07-23 16:03:04,950 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-23 16:03:06,218 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 16:03:06,218 INFO L93 Difference]: Finished difference Result 321 states and 329 transitions. [2022-07-23 16:03:06,218 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 37 states. [2022-07-23 16:03:06,219 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 321 states and 329 transitions. [2022-07-23 16:03:06,219 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:03:06,220 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 321 states to 168 states and 175 transitions. [2022-07-23 16:03:06,220 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 42 [2022-07-23 16:03:06,220 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 42 [2022-07-23 16:03:06,220 INFO L73 IsDeterministic]: Start isDeterministic. Operand 168 states and 175 transitions. [2022-07-23 16:03:06,220 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 16:03:06,220 INFO L369 hiAutomatonCegarLoop]: Abstraction has 168 states and 175 transitions. [2022-07-23 16:03:06,220 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 168 states and 175 transitions. [2022-07-23 16:03:06,221 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 168 to 167. [2022-07-23 16:03:06,222 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-23 16:03:06,222 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 167 states to 167 states and 174 transitions. [2022-07-23 16:03:06,222 INFO L392 hiAutomatonCegarLoop]: Abstraction has 167 states and 174 transitions. [2022-07-23 16:03:06,222 INFO L374 stractBuchiCegarLoop]: Abstraction has 167 states and 174 transitions. [2022-07-23 16:03:06,222 INFO L287 stractBuchiCegarLoop]: ======== Iteration 36 ============ [2022-07-23 16:03:06,222 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 167 states and 174 transitions. [2022-07-23 16:03:06,223 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:03:06,223 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 16:03:06,223 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 16:03:06,224 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-23 16:03:06,224 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-23 16:03:06,224 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-23 16:03:06,224 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-23 16:03:06,225 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:03:06,225 INFO L85 PathProgramCache]: Analyzing trace with hash -1520166964, now seen corresponding path program 33 times [2022-07-23 16:03:06,225 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:03:06,225 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [733719247] [2022-07-23 16:03:06,225 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:03:06,225 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:03:06,245 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:03:06,245 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1348324913] [2022-07-23 16:03:06,245 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-07-23 16:03:06,245 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:03:06,246 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:03:06,255 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-23 16:03:06,263 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-23 16:03:06,967 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 17 check-sat command(s) [2022-07-23 16:03:06,968 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-23 16:03:06,973 INFO L263 TraceCheckSpWp]: Trace formula consists of 493 conjuncts, 55 conjunts are in the unsatisfiable core [2022-07-23 16:03:06,992 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:03:07,998 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-23 16:03:07,998 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-23 16:03:09,221 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-23 16:03:09,222 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 16:03:09,222 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [733719247] [2022-07-23 16:03:09,222 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-23 16:03:09,222 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1348324913] [2022-07-23 16:03:09,222 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1348324913] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-23 16:03:09,222 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-23 16:03:09,222 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [38, 37] total 56 [2022-07-23 16:03:09,223 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [349432502] [2022-07-23 16:03:09,223 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-23 16:03:09,223 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-23 16:03:09,223 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:03:09,223 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 24 times [2022-07-23 16:03:09,224 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:03:09,224 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1703872295] [2022-07-23 16:03:09,224 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:03:09,224 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:03:09,228 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:03:09,228 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:03:09,230 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:03:09,234 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:03:09,315 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 16:03:09,316 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 56 interpolants. [2022-07-23 16:03:09,316 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=708, Invalid=2372, Unknown=0, NotChecked=0, Total=3080 [2022-07-23 16:03:09,317 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-23 16:03:11,541 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 16:03:11,542 INFO L93 Difference]: Finished difference Result 331 states and 344 transitions. [2022-07-23 16:03:11,542 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 53 states. [2022-07-23 16:03:11,542 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 331 states and 344 transitions. [2022-07-23 16:03:11,543 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 12 [2022-07-23 16:03:11,544 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 331 states to 324 states and 337 transitions. [2022-07-23 16:03:11,544 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 123 [2022-07-23 16:03:11,544 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 123 [2022-07-23 16:03:11,544 INFO L73 IsDeterministic]: Start isDeterministic. Operand 324 states and 337 transitions. [2022-07-23 16:03:11,544 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 16:03:11,544 INFO L369 hiAutomatonCegarLoop]: Abstraction has 324 states and 337 transitions. [2022-07-23 16:03:11,545 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 324 states and 337 transitions. [2022-07-23 16:03:11,546 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 324 to 176. [2022-07-23 16:03:11,546 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-23 16:03:11,547 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 176 states to 176 states and 183 transitions. [2022-07-23 16:03:11,547 INFO L392 hiAutomatonCegarLoop]: Abstraction has 176 states and 183 transitions. [2022-07-23 16:03:11,547 INFO L374 stractBuchiCegarLoop]: Abstraction has 176 states and 183 transitions. [2022-07-23 16:03:11,547 INFO L287 stractBuchiCegarLoop]: ======== Iteration 37 ============ [2022-07-23 16:03:11,547 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 176 states and 183 transitions. [2022-07-23 16:03:11,548 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:03:11,548 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 16:03:11,548 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 16:03:11,549 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-23 16:03:11,549 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-23 16:03:11,549 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-23 16:03:11,549 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-23 16:03:11,550 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:03:11,550 INFO L85 PathProgramCache]: Analyzing trace with hash -206814833, now seen corresponding path program 34 times [2022-07-23 16:03:11,550 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:03:11,550 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1701394774] [2022-07-23 16:03:11,550 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:03:11,550 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:03:11,568 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:03:11,569 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1518115470] [2022-07-23 16:03:11,569 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-07-23 16:03:11,569 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:03:11,569 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:03:11,575 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-23 16:03:11,603 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-23 16:03:12,079 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-07-23 16:03:12,079 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-07-23 16:03:12,080 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:03:12,421 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:03:12,466 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:03:12,466 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:03:12,467 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 25 times [2022-07-23 16:03:12,467 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:03:12,467 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [359601522] [2022-07-23 16:03:12,467 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:03:12,467 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:03:12,471 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:03:12,472 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:03:12,474 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:03:12,476 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:03:12,477 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:03:12,477 INFO L85 PathProgramCache]: Analyzing trace with hash 2057434593, now seen corresponding path program 35 times [2022-07-23 16:03:12,477 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:03:12,477 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1431869677] [2022-07-23 16:03:12,477 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:03:12,477 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:03:12,494 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:03:12,494 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1601082390] [2022-07-23 16:03:12,495 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-07-23 16:03:12,495 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:03:12,495 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:03:12,497 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-23 16:03:12,503 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-23 16:03:12,781 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 17 check-sat command(s) [2022-07-23 16:03:12,782 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-23 16:03:12,786 INFO L263 TraceCheckSpWp]: Trace formula consists of 513 conjuncts, 37 conjunts are in the unsatisfiable core [2022-07-23 16:03:12,788 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:03:13,805 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-23 16:03:13,805 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-23 16:03:14,971 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-23 16:03:14,972 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 16:03:14,972 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1431869677] [2022-07-23 16:03:14,972 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-23 16:03:14,972 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1601082390] [2022-07-23 16:03:14,972 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1601082390] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-23 16:03:14,972 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-23 16:03:14,972 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [37, 36] total 54 [2022-07-23 16:03:14,972 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1467582840] [2022-07-23 16:03:14,972 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-23 16:03:15,036 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 16:03:15,036 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 55 interpolants. [2022-07-23 16:03:15,037 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=748, Invalid=2222, Unknown=0, NotChecked=0, Total=2970 [2022-07-23 16:03:15,037 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-23 16:03:17,004 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 16:03:17,004 INFO L93 Difference]: Finished difference Result 342 states and 350 transitions. [2022-07-23 16:03:17,005 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 49 states. [2022-07-23 16:03:17,005 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 342 states and 350 transitions. [2022-07-23 16:03:17,006 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:03:17,007 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 342 states to 180 states and 187 transitions. [2022-07-23 16:03:17,007 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 43 [2022-07-23 16:03:17,007 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 43 [2022-07-23 16:03:17,007 INFO L73 IsDeterministic]: Start isDeterministic. Operand 180 states and 187 transitions. [2022-07-23 16:03:17,007 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 16:03:17,007 INFO L369 hiAutomatonCegarLoop]: Abstraction has 180 states and 187 transitions. [2022-07-23 16:03:17,008 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 180 states and 187 transitions. [2022-07-23 16:03:17,009 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 180 to 178. [2022-07-23 16:03:17,009 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-23 16:03:17,010 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 178 states to 178 states and 185 transitions. [2022-07-23 16:03:17,010 INFO L392 hiAutomatonCegarLoop]: Abstraction has 178 states and 185 transitions. [2022-07-23 16:03:17,010 INFO L374 stractBuchiCegarLoop]: Abstraction has 178 states and 185 transitions. [2022-07-23 16:03:17,010 INFO L287 stractBuchiCegarLoop]: ======== Iteration 38 ============ [2022-07-23 16:03:17,010 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 178 states and 185 transitions. [2022-07-23 16:03:17,010 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:03:17,010 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 16:03:17,010 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 16:03:17,011 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-23 16:03:17,011 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-23 16:03:17,011 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-23 16:03:17,011 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-23 16:03:17,012 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:03:17,012 INFO L85 PathProgramCache]: Analyzing trace with hash -72952531, now seen corresponding path program 36 times [2022-07-23 16:03:17,012 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:03:17,012 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [982669481] [2022-07-23 16:03:17,012 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:03:17,012 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:03:17,031 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:03:17,031 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1094140488] [2022-07-23 16:03:17,031 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-07-23 16:03:17,031 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:03:17,031 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:03:17,084 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-23 16:03:17,085 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-23 16:03:17,768 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 18 check-sat command(s) [2022-07-23 16:03:17,768 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-23 16:03:17,774 INFO L263 TraceCheckSpWp]: Trace formula consists of 512 conjuncts, 39 conjunts are in the unsatisfiable core [2022-07-23 16:03:17,776 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:03:18,427 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-23 16:03:18,427 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-23 16:03:19,987 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-23 16:03:19,987 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 16:03:19,988 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [982669481] [2022-07-23 16:03:19,988 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-23 16:03:19,988 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1094140488] [2022-07-23 16:03:19,988 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1094140488] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-23 16:03:19,988 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-23 16:03:19,988 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [29, 40] total 49 [2022-07-23 16:03:19,988 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2084453298] [2022-07-23 16:03:19,988 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-23 16:03:19,988 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-23 16:03:19,988 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:03:19,989 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 26 times [2022-07-23 16:03:19,989 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:03:19,989 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1111331897] [2022-07-23 16:03:19,989 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:03:19,989 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:03:19,992 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:03:19,992 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:03:19,993 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:03:19,996 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:03:20,059 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 16:03:20,061 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 49 interpolants. [2022-07-23 16:03:20,062 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=413, Invalid=1939, Unknown=0, NotChecked=0, Total=2352 [2022-07-23 16:03:20,062 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-23 16:03:21,746 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 16:03:21,746 INFO L93 Difference]: Finished difference Result 215 states and 222 transitions. [2022-07-23 16:03:21,748 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 38 states. [2022-07-23 16:03:21,748 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 215 states and 222 transitions. [2022-07-23 16:03:21,749 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:03:21,749 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 215 states to 215 states and 222 transitions. [2022-07-23 16:03:21,749 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 70 [2022-07-23 16:03:21,750 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 70 [2022-07-23 16:03:21,750 INFO L73 IsDeterministic]: Start isDeterministic. Operand 215 states and 222 transitions. [2022-07-23 16:03:21,750 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 16:03:21,750 INFO L369 hiAutomatonCegarLoop]: Abstraction has 215 states and 222 transitions. [2022-07-23 16:03:21,750 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 215 states and 222 transitions. [2022-07-23 16:03:21,752 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 215 to 184. [2022-07-23 16:03:21,752 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-23 16:03:21,753 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 184 states to 184 states and 191 transitions. [2022-07-23 16:03:21,753 INFO L392 hiAutomatonCegarLoop]: Abstraction has 184 states and 191 transitions. [2022-07-23 16:03:21,753 INFO L374 stractBuchiCegarLoop]: Abstraction has 184 states and 191 transitions. [2022-07-23 16:03:21,753 INFO L287 stractBuchiCegarLoop]: ======== Iteration 39 ============ [2022-07-23 16:03:21,753 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 184 states and 191 transitions. [2022-07-23 16:03:21,754 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:03:21,754 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 16:03:21,754 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 16:03:21,754 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-23 16:03:21,755 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-23 16:03:21,755 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-23 16:03:21,755 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-23 16:03:21,755 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:03:21,756 INFO L85 PathProgramCache]: Analyzing trace with hash -1436166458, now seen corresponding path program 37 times [2022-07-23 16:03:21,756 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:03:21,756 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [199095264] [2022-07-23 16:03:21,756 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:03:21,756 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:03:21,774 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:03:21,774 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1742141829] [2022-07-23 16:03:21,774 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2022-07-23 16:03:21,774 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:03:21,775 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:03:21,780 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-23 16:03:21,782 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-23 16:03:22,101 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:03:22,101 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:03:22,229 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:03:22,263 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:03:22,264 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:03:22,264 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 27 times [2022-07-23 16:03:22,264 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:03:22,264 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1691765808] [2022-07-23 16:03:22,264 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:03:22,264 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:03:22,268 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:03:22,268 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:03:22,269 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:03:22,271 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:03:22,272 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:03:22,272 INFO L85 PathProgramCache]: Analyzing trace with hash 1629307210, now seen corresponding path program 38 times [2022-07-23 16:03:22,272 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:03:22,272 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [462829911] [2022-07-23 16:03:22,272 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:03:22,272 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:03:22,292 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:03:22,292 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1299990804] [2022-07-23 16:03:22,292 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-07-23 16:03:22,292 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:03:22,293 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:03:22,299 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-23 16:03:22,322 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-23 16:03:22,482 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-07-23 16:03:22,482 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-23 16:03:22,484 INFO L263 TraceCheckSpWp]: Trace formula consists of 548 conjuncts, 38 conjunts are in the unsatisfiable core [2022-07-23 16:03:22,486 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:03:23,048 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-23 16:03:23,048 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-23 16:03:24,051 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-23 16:03:24,051 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 16:03:24,051 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [462829911] [2022-07-23 16:03:24,051 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-23 16:03:24,051 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1299990804] [2022-07-23 16:03:24,051 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1299990804] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-23 16:03:24,051 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-23 16:03:24,051 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [38, 38] total 56 [2022-07-23 16:03:24,051 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [8778691] [2022-07-23 16:03:24,052 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-23 16:03:24,131 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 16:03:24,131 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 57 interpolants. [2022-07-23 16:03:24,132 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=759, Invalid=2433, Unknown=0, NotChecked=0, Total=3192 [2022-07-23 16:03:24,132 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-23 16:03:25,621 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 16:03:25,621 INFO L93 Difference]: Finished difference Result 358 states and 366 transitions. [2022-07-23 16:03:25,622 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 41 states. [2022-07-23 16:03:25,622 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 358 states and 366 transitions. [2022-07-23 16:03:25,623 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:03:25,623 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 358 states to 187 states and 194 transitions. [2022-07-23 16:03:25,623 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 45 [2022-07-23 16:03:25,624 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 45 [2022-07-23 16:03:25,624 INFO L73 IsDeterministic]: Start isDeterministic. Operand 187 states and 194 transitions. [2022-07-23 16:03:25,624 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 16:03:25,624 INFO L369 hiAutomatonCegarLoop]: Abstraction has 187 states and 194 transitions. [2022-07-23 16:03:25,624 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 187 states and 194 transitions. [2022-07-23 16:03:25,625 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 187 to 186. [2022-07-23 16:03:25,625 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-23 16:03:25,626 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 186 states to 186 states and 193 transitions. [2022-07-23 16:03:25,626 INFO L392 hiAutomatonCegarLoop]: Abstraction has 186 states and 193 transitions. [2022-07-23 16:03:25,626 INFO L374 stractBuchiCegarLoop]: Abstraction has 186 states and 193 transitions. [2022-07-23 16:03:25,626 INFO L287 stractBuchiCegarLoop]: ======== Iteration 40 ============ [2022-07-23 16:03:25,626 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 186 states and 193 transitions. [2022-07-23 16:03:25,626 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:03:25,626 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 16:03:25,626 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 16:03:25,627 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-23 16:03:25,627 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-23 16:03:25,627 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-23 16:03:25,627 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-23 16:03:25,628 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:03:25,628 INFO L85 PathProgramCache]: Analyzing trace with hash -430314396, now seen corresponding path program 39 times [2022-07-23 16:03:25,628 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:03:25,628 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1571492510] [2022-07-23 16:03:25,628 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:03:25,628 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:03:25,649 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:03:25,649 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [807681487] [2022-07-23 16:03:25,649 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-07-23 16:03:25,649 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:03:25,650 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:03:25,655 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-23 16:03:25,679 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-23 16:03:26,546 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 19 check-sat command(s) [2022-07-23 16:03:26,546 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-23 16:03:26,553 INFO L263 TraceCheckSpWp]: Trace formula consists of 547 conjuncts, 61 conjunts are in the unsatisfiable core [2022-07-23 16:03:26,555 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:03:28,081 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-23 16:03:28,081 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-23 16:03:30,341 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-23 16:03:30,341 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 16:03:30,341 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1571492510] [2022-07-23 16:03:30,341 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-23 16:03:30,341 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [807681487] [2022-07-23 16:03:30,341 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [807681487] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-23 16:03:30,341 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-23 16:03:30,341 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [42, 48] total 71 [2022-07-23 16:03:30,342 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [755115016] [2022-07-23 16:03:30,342 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-23 16:03:30,342 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-23 16:03:30,342 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:03:30,342 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 28 times [2022-07-23 16:03:30,342 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:03:30,342 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [907771349] [2022-07-23 16:03:30,342 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:03:30,342 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:03:30,347 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:03:30,347 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:03:30,348 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:03:30,351 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:03:30,410 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 16:03:30,411 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 71 interpolants. [2022-07-23 16:03:30,412 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1037, Invalid=3933, Unknown=0, NotChecked=0, Total=4970 [2022-07-23 16:03:30,413 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-23 16:03:33,996 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 16:03:33,996 INFO L93 Difference]: Finished difference Result 365 states and 378 transitions. [2022-07-23 16:03:33,997 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 62 states. [2022-07-23 16:03:33,997 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 365 states and 378 transitions. [2022-07-23 16:03:33,998 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 12 [2022-07-23 16:03:33,999 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 365 states to 358 states and 371 transitions. [2022-07-23 16:03:33,999 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 135 [2022-07-23 16:03:33,999 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 135 [2022-07-23 16:03:33,999 INFO L73 IsDeterministic]: Start isDeterministic. Operand 358 states and 371 transitions. [2022-07-23 16:03:33,999 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 16:03:33,999 INFO L369 hiAutomatonCegarLoop]: Abstraction has 358 states and 371 transitions. [2022-07-23 16:03:33,999 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 358 states and 371 transitions. [2022-07-23 16:03:34,001 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 358 to 195. [2022-07-23 16:03:34,002 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-23 16:03:34,002 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 195 states to 195 states and 202 transitions. [2022-07-23 16:03:34,002 INFO L392 hiAutomatonCegarLoop]: Abstraction has 195 states and 202 transitions. [2022-07-23 16:03:34,002 INFO L374 stractBuchiCegarLoop]: Abstraction has 195 states and 202 transitions. [2022-07-23 16:03:34,002 INFO L287 stractBuchiCegarLoop]: ======== Iteration 41 ============ [2022-07-23 16:03:34,002 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 195 states and 202 transitions. [2022-07-23 16:03:34,003 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:03:34,003 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 16:03:34,003 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 16:03:34,004 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-23 16:03:34,004 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-23 16:03:34,004 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-23 16:03:34,004 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-23 16:03:34,004 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:03:34,004 INFO L85 PathProgramCache]: Analyzing trace with hash -1396951765, now seen corresponding path program 40 times [2022-07-23 16:03:34,004 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:03:34,004 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [700432207] [2022-07-23 16:03:34,005 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:03:34,005 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:03:34,026 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:03:34,026 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1454131580] [2022-07-23 16:03:34,026 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-07-23 16:03:34,026 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:03:34,027 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:03:34,031 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-23 16:03:34,043 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-23 16:03:34,401 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-07-23 16:03:34,401 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-07-23 16:03:34,401 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:03:34,987 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:03:35,034 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:03:35,035 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:03:35,035 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 29 times [2022-07-23 16:03:35,035 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:03:35,035 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1175236035] [2022-07-23 16:03:35,035 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:03:35,035 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:03:35,039 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:03:35,039 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:03:35,049 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:03:35,051 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:03:35,051 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:03:35,052 INFO L85 PathProgramCache]: Analyzing trace with hash 1643121861, now seen corresponding path program 41 times [2022-07-23 16:03:35,052 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:03:35,052 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [11744870] [2022-07-23 16:03:35,052 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:03:35,052 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:03:35,069 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:03:35,070 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [546814167] [2022-07-23 16:03:35,070 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-07-23 16:03:35,070 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:03:35,070 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:03:35,075 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-23 16:03:35,076 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-23 16:03:35,461 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 19 check-sat command(s) [2022-07-23 16:03:35,461 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-23 16:03:35,467 INFO L263 TraceCheckSpWp]: Trace formula consists of 567 conjuncts, 40 conjunts are in the unsatisfiable core [2022-07-23 16:03:35,469 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:03:36,097 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-23 16:03:36,097 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-23 16:03:37,338 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-23 16:03:37,339 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 16:03:37,339 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [11744870] [2022-07-23 16:03:37,339 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-23 16:03:37,339 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [546814167] [2022-07-23 16:03:37,339 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [546814167] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-23 16:03:37,339 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-23 16:03:37,339 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [40, 40] total 59 [2022-07-23 16:03:37,339 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [661177073] [2022-07-23 16:03:37,339 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-23 16:03:37,412 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 16:03:37,412 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 60 interpolants. [2022-07-23 16:03:37,413 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=839, Invalid=2701, Unknown=0, NotChecked=0, Total=3540 [2022-07-23 16:03:37,413 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-23 16:03:39,219 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 16:03:39,219 INFO L93 Difference]: Finished difference Result 378 states and 386 transitions. [2022-07-23 16:03:39,219 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 43 states. [2022-07-23 16:03:39,220 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 378 states and 386 transitions. [2022-07-23 16:03:39,221 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:03:39,221 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 378 states to 198 states and 205 transitions. [2022-07-23 16:03:39,221 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 45 [2022-07-23 16:03:39,221 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 45 [2022-07-23 16:03:39,221 INFO L73 IsDeterministic]: Start isDeterministic. Operand 198 states and 205 transitions. [2022-07-23 16:03:39,221 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 16:03:39,221 INFO L369 hiAutomatonCegarLoop]: Abstraction has 198 states and 205 transitions. [2022-07-23 16:03:39,222 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 198 states and 205 transitions. [2022-07-23 16:03:39,223 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 198 to 197. [2022-07-23 16:03:39,223 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-23 16:03:39,224 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 197 states to 197 states and 204 transitions. [2022-07-23 16:03:39,224 INFO L392 hiAutomatonCegarLoop]: Abstraction has 197 states and 204 transitions. [2022-07-23 16:03:39,224 INFO L374 stractBuchiCegarLoop]: Abstraction has 197 states and 204 transitions. [2022-07-23 16:03:39,224 INFO L287 stractBuchiCegarLoop]: ======== Iteration 42 ============ [2022-07-23 16:03:39,224 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 197 states and 204 transitions. [2022-07-23 16:03:39,225 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:03:39,225 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 16:03:39,225 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 16:03:39,225 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-23 16:03:39,225 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-23 16:03:39,226 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-23 16:03:39,226 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-23 16:03:39,226 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:03:39,226 INFO L85 PathProgramCache]: Analyzing trace with hash -737686327, now seen corresponding path program 42 times [2022-07-23 16:03:39,226 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:03:39,226 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [99037408] [2022-07-23 16:03:39,226 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:03:39,226 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:03:39,246 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:03:39,246 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [556655009] [2022-07-23 16:03:39,246 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-07-23 16:03:39,246 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:03:39,246 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:03:39,251 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-23 16:03:39,275 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-23 16:03:40,278 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 20 check-sat command(s) [2022-07-23 16:03:40,278 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-23 16:03:40,286 INFO L263 TraceCheckSpWp]: Trace formula consists of 566 conjuncts, 40 conjunts are in the unsatisfiable core [2022-07-23 16:03:40,288 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:03:40,873 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-23 16:03:40,873 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-23 16:03:41,908 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-23 16:03:41,908 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 16:03:41,908 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [99037408] [2022-07-23 16:03:41,908 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-23 16:03:41,908 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [556655009] [2022-07-23 16:03:41,908 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [556655009] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-23 16:03:41,908 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-23 16:03:41,909 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [41, 41] total 60 [2022-07-23 16:03:41,909 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1268795154] [2022-07-23 16:03:41,909 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-23 16:03:41,909 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-23 16:03:41,909 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:03:41,909 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 30 times [2022-07-23 16:03:41,909 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:03:41,909 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1798497225] [2022-07-23 16:03:41,910 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:03:41,910 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:03:41,914 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:03:41,914 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:03:41,915 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:03:41,918 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:03:41,997 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 16:03:41,997 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 60 interpolants. [2022-07-23 16:03:41,998 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=839, Invalid=2701, Unknown=0, NotChecked=0, Total=3540 [2022-07-23 16:03:41,998 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-23 16:03:47,608 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 16:03:47,608 INFO L93 Difference]: Finished difference Result 702 states and 737 transitions. [2022-07-23 16:03:47,610 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 96 states. [2022-07-23 16:03:47,610 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 702 states and 737 transitions. [2022-07-23 16:03:47,612 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:03:47,613 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 702 states to 702 states and 737 transitions. [2022-07-23 16:03:47,614 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 342 [2022-07-23 16:03:47,614 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 342 [2022-07-23 16:03:47,614 INFO L73 IsDeterministic]: Start isDeterministic. Operand 702 states and 737 transitions. [2022-07-23 16:03:47,614 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 16:03:47,614 INFO L369 hiAutomatonCegarLoop]: Abstraction has 702 states and 737 transitions. [2022-07-23 16:03:47,614 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 702 states and 737 transitions. [2022-07-23 16:03:47,617 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 702 to 203. [2022-07-23 16:03:47,618 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-23 16:03:47,618 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 203 states to 203 states and 210 transitions. [2022-07-23 16:03:47,618 INFO L392 hiAutomatonCegarLoop]: Abstraction has 203 states and 210 transitions. [2022-07-23 16:03:47,618 INFO L374 stractBuchiCegarLoop]: Abstraction has 203 states and 210 transitions. [2022-07-23 16:03:47,618 INFO L287 stractBuchiCegarLoop]: ======== Iteration 43 ============ [2022-07-23 16:03:47,618 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 203 states and 210 transitions. [2022-07-23 16:03:47,619 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:03:47,619 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 16:03:47,619 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 16:03:47,619 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-23 16:03:47,620 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-23 16:03:47,620 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-23 16:03:47,620 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-23 16:03:47,620 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:03:47,620 INFO L85 PathProgramCache]: Analyzing trace with hash 1782467814, now seen corresponding path program 43 times [2022-07-23 16:03:47,620 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:03:47,620 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [575264516] [2022-07-23 16:03:47,620 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:03:47,621 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:03:47,659 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:03:47,659 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2007786997] [2022-07-23 16:03:47,659 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2022-07-23 16:03:47,659 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:03:47,660 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:03:47,663 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-23 16:03:47,673 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-23 16:03:48,385 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:03:48,385 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:03:48,809 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:03:48,863 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:03:48,864 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:03:48,864 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 31 times [2022-07-23 16:03:48,864 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:03:48,864 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [407588376] [2022-07-23 16:03:48,864 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:03:48,864 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:03:48,869 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:03:48,869 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:03:48,870 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:03:48,872 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:03:48,873 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:03:48,873 INFO L85 PathProgramCache]: Analyzing trace with hash -1476946134, now seen corresponding path program 44 times [2022-07-23 16:03:48,873 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:03:48,873 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1988175990] [2022-07-23 16:03:48,873 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:03:48,873 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:03:48,904 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:03:48,904 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [649061883] [2022-07-23 16:03:48,904 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-07-23 16:03:48,904 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:03:48,905 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:03:48,907 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-23 16:03:48,908 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-23 16:03:49,111 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-07-23 16:03:49,111 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-23 16:03:49,114 INFO L263 TraceCheckSpWp]: Trace formula consists of 602 conjuncts, 42 conjunts are in the unsatisfiable core [2022-07-23 16:03:49,117 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:03:49,813 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-23 16:03:49,813 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-23 16:03:51,374 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-23 16:03:51,374 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 16:03:51,374 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1988175990] [2022-07-23 16:03:51,374 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-23 16:03:51,374 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [649061883] [2022-07-23 16:03:51,375 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [649061883] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-23 16:03:51,375 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-23 16:03:51,375 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [42, 42] total 62 [2022-07-23 16:03:51,375 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [106774037] [2022-07-23 16:03:51,375 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-23 16:03:51,464 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 16:03:51,465 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 63 interpolants. [2022-07-23 16:03:51,466 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=923, Invalid=2983, Unknown=0, NotChecked=0, Total=3906 [2022-07-23 16:03:51,466 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-23 16:03:53,298 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 16:03:53,298 INFO L93 Difference]: Finished difference Result 395 states and 403 transitions. [2022-07-23 16:03:53,299 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 45 states. [2022-07-23 16:03:53,299 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 395 states and 403 transitions. [2022-07-23 16:03:53,300 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:03:53,300 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 395 states to 206 states and 213 transitions. [2022-07-23 16:03:53,300 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 48 [2022-07-23 16:03:53,301 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 48 [2022-07-23 16:03:53,301 INFO L73 IsDeterministic]: Start isDeterministic. Operand 206 states and 213 transitions. [2022-07-23 16:03:53,301 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 16:03:53,301 INFO L369 hiAutomatonCegarLoop]: Abstraction has 206 states and 213 transitions. [2022-07-23 16:03:53,301 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 206 states and 213 transitions. [2022-07-23 16:03:53,302 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 206 to 205. [2022-07-23 16:03:53,303 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-23 16:03:53,303 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 205 states to 205 states and 212 transitions. [2022-07-23 16:03:53,303 INFO L392 hiAutomatonCegarLoop]: Abstraction has 205 states and 212 transitions. [2022-07-23 16:03:53,303 INFO L374 stractBuchiCegarLoop]: Abstraction has 205 states and 212 transitions. [2022-07-23 16:03:53,303 INFO L287 stractBuchiCegarLoop]: ======== Iteration 44 ============ [2022-07-23 16:03:53,303 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 205 states and 212 transitions. [2022-07-23 16:03:53,304 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:03:53,304 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 16:03:53,304 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 16:03:53,304 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-23 16:03:53,304 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-23 16:03:53,305 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-23 16:03:53,305 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-23 16:03:53,305 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:03:53,305 INFO L85 PathProgramCache]: Analyzing trace with hash -163617148, now seen corresponding path program 45 times [2022-07-23 16:03:53,305 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:03:53,305 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1847251247] [2022-07-23 16:03:53,305 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:03:53,305 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:03:53,336 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:03:53,337 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [761201888] [2022-07-23 16:03:53,337 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-07-23 16:03:53,337 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:03:53,337 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:03:53,339 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-23 16:03:53,366 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-23 16:03:54,616 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 21 check-sat command(s) [2022-07-23 16:03:54,616 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-23 16:03:54,625 INFO L263 TraceCheckSpWp]: Trace formula consists of 601 conjuncts, 45 conjunts are in the unsatisfiable core [2022-07-23 16:03:54,628 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:03:56,864 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-23 16:03:56,864 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-23 16:03:59,278 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-23 16:03:59,278 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 16:03:59,279 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1847251247] [2022-07-23 16:03:59,279 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-23 16:03:59,279 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [761201888] [2022-07-23 16:03:59,279 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [761201888] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-23 16:03:59,279 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-23 16:03:59,279 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [46, 45] total 68 [2022-07-23 16:03:59,279 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1095675300] [2022-07-23 16:03:59,279 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-23 16:03:59,279 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-23 16:03:59,279 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:03:59,280 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 32 times [2022-07-23 16:03:59,280 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:03:59,280 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [775200959] [2022-07-23 16:03:59,280 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:03:59,280 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:03:59,283 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:03:59,283 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:03:59,284 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:03:59,287 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:03:59,406 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 16:03:59,407 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 68 interpolants. [2022-07-23 16:03:59,408 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1029, Invalid=3527, Unknown=0, NotChecked=0, Total=4556 [2022-07-23 16:03:59,408 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-23 16:04:03,326 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 16:04:03,326 INFO L93 Difference]: Finished difference Result 399 states and 412 transitions. [2022-07-23 16:04:03,327 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 65 states. [2022-07-23 16:04:03,327 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 399 states and 412 transitions. [2022-07-23 16:04:03,328 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 12 [2022-07-23 16:04:03,329 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 399 states to 392 states and 405 transitions. [2022-07-23 16:04:03,329 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 147 [2022-07-23 16:04:03,329 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 147 [2022-07-23 16:04:03,329 INFO L73 IsDeterministic]: Start isDeterministic. Operand 392 states and 405 transitions. [2022-07-23 16:04:03,330 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 16:04:03,330 INFO L369 hiAutomatonCegarLoop]: Abstraction has 392 states and 405 transitions. [2022-07-23 16:04:03,330 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 392 states and 405 transitions. [2022-07-23 16:04:03,332 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 392 to 214. [2022-07-23 16:04:03,333 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-23 16:04:03,333 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 214 states to 214 states and 221 transitions. [2022-07-23 16:04:03,333 INFO L392 hiAutomatonCegarLoop]: Abstraction has 214 states and 221 transitions. [2022-07-23 16:04:03,333 INFO L374 stractBuchiCegarLoop]: Abstraction has 214 states and 221 transitions. [2022-07-23 16:04:03,333 INFO L287 stractBuchiCegarLoop]: ======== Iteration 45 ============ [2022-07-23 16:04:03,333 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 214 states and 221 transitions. [2022-07-23 16:04:03,334 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:04:03,334 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 16:04:03,334 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 16:04:03,334 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-23 16:04:03,334 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-23 16:04:03,335 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-23 16:04:03,335 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-23 16:04:03,335 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:04:03,335 INFO L85 PathProgramCache]: Analyzing trace with hash -171433145, now seen corresponding path program 46 times [2022-07-23 16:04:03,335 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:04:03,335 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1793734848] [2022-07-23 16:04:03,335 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:04:03,335 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:04:03,357 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:04:03,357 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [654843892] [2022-07-23 16:04:03,357 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-07-23 16:04:03,357 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:04:03,357 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:04:03,363 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-23 16:04:03,375 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-23 16:04:03,890 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-07-23 16:04:03,890 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-07-23 16:04:03,890 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:04:04,861 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:04:04,910 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:04:04,911 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:04:04,911 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 33 times [2022-07-23 16:04:04,911 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:04:04,911 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1247140462] [2022-07-23 16:04:04,911 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:04:04,911 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:04:04,915 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:04:04,915 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:04:04,916 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:04:04,918 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:04:04,918 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:04:04,918 INFO L85 PathProgramCache]: Analyzing trace with hash -448653015, now seen corresponding path program 47 times [2022-07-23 16:04:04,918 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:04:04,918 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [605826968] [2022-07-23 16:04:04,918 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:04:04,918 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:04:04,935 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:04:04,935 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1707444941] [2022-07-23 16:04:04,936 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-07-23 16:04:04,936 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:04:04,936 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:04:04,938 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-23 16:04:04,939 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-23 16:04:05,474 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 21 check-sat command(s) [2022-07-23 16:04:05,474 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-23 16:04:05,480 INFO L263 TraceCheckSpWp]: Trace formula consists of 621 conjuncts, 23 conjunts are in the unsatisfiable core [2022-07-23 16:04:05,482 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:04:07,822 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-23 16:04:07,823 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-23 16:04:10,538 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-23 16:04:10,538 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 16:04:10,538 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [605826968] [2022-07-23 16:04:10,538 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-23 16:04:10,538 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1707444941] [2022-07-23 16:04:10,538 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1707444941] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-23 16:04:10,538 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-23 16:04:10,538 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 23] total 44 [2022-07-23 16:04:10,539 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2079496697] [2022-07-23 16:04:10,539 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-23 16:04:10,603 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 16:04:10,604 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 45 interpolants. [2022-07-23 16:04:10,604 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=539, Invalid=1441, Unknown=0, NotChecked=0, Total=1980 [2022-07-23 16:04:10,604 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-23 16:04:12,833 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 16:04:12,833 INFO L93 Difference]: Finished difference Result 393 states and 405 transitions. [2022-07-23 16:04:12,834 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 31 states. [2022-07-23 16:04:12,834 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 393 states and 405 transitions. [2022-07-23 16:04:12,835 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:04:12,835 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 393 states to 253 states and 260 transitions. [2022-07-23 16:04:12,835 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 82 [2022-07-23 16:04:12,835 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 82 [2022-07-23 16:04:12,835 INFO L73 IsDeterministic]: Start isDeterministic. Operand 253 states and 260 transitions. [2022-07-23 16:04:12,836 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 16:04:12,836 INFO L369 hiAutomatonCegarLoop]: Abstraction has 253 states and 260 transitions. [2022-07-23 16:04:12,836 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 253 states and 260 transitions. [2022-07-23 16:04:12,837 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 253 to 220. [2022-07-23 16:04:12,837 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-23 16:04:12,837 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 220 states to 220 states and 227 transitions. [2022-07-23 16:04:12,838 INFO L392 hiAutomatonCegarLoop]: Abstraction has 220 states and 227 transitions. [2022-07-23 16:04:12,838 INFO L374 stractBuchiCegarLoop]: Abstraction has 220 states and 227 transitions. [2022-07-23 16:04:12,838 INFO L287 stractBuchiCegarLoop]: ======== Iteration 46 ============ [2022-07-23 16:04:12,838 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 220 states and 227 transitions. [2022-07-23 16:04:12,838 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:04:12,838 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 16:04:12,838 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 16:04:12,839 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-23 16:04:12,839 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-23 16:04:12,839 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-23 16:04:12,839 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-23 16:04:12,840 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:04:12,840 INFO L85 PathProgramCache]: Analyzing trace with hash 1611223648, now seen corresponding path program 48 times [2022-07-23 16:04:12,840 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:04:12,840 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [788323957] [2022-07-23 16:04:12,840 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:04:12,840 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:04:12,861 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:04:12,862 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [461438697] [2022-07-23 16:04:12,862 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-07-23 16:04:12,862 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:04:12,862 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:04:12,867 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-23 16:04:12,888 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-23 16:04:14,169 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 22 check-sat command(s) [2022-07-23 16:04:14,169 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-23 16:04:14,179 INFO L263 TraceCheckSpWp]: Trace formula consists of 633 conjuncts, 45 conjunts are in the unsatisfiable core [2022-07-23 16:04:14,181 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:04:15,707 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-23 16:04:15,708 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-23 16:04:18,789 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-23 16:04:18,789 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 16:04:18,789 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [788323957] [2022-07-23 16:04:18,789 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-23 16:04:18,789 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [461438697] [2022-07-23 16:04:18,790 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [461438697] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-23 16:04:18,790 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-23 16:04:18,790 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [45, 44] total 66 [2022-07-23 16:04:18,790 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [769091550] [2022-07-23 16:04:18,790 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-23 16:04:18,790 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-23 16:04:18,790 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:04:18,790 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 34 times [2022-07-23 16:04:18,790 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:04:18,790 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1206864287] [2022-07-23 16:04:18,790 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:04:18,791 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:04:18,794 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:04:18,794 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:04:18,795 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:04:18,797 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:04:18,882 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 16:04:18,883 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 67 interpolants. [2022-07-23 16:04:18,884 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1101, Invalid=3321, Unknown=0, NotChecked=0, Total=4422 [2022-07-23 16:04:18,884 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-23 16:04:20,473 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 16:04:20,473 INFO L93 Difference]: Finished difference Result 287 states and 294 transitions. [2022-07-23 16:04:20,475 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 49 states. [2022-07-23 16:04:20,476 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 287 states and 294 transitions. [2022-07-23 16:04:20,477 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:04:20,477 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 287 states to 224 states and 231 transitions. [2022-07-23 16:04:20,477 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 52 [2022-07-23 16:04:20,477 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 52 [2022-07-23 16:04:20,477 INFO L73 IsDeterministic]: Start isDeterministic. Operand 224 states and 231 transitions. [2022-07-23 16:04:20,477 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 16:04:20,477 INFO L369 hiAutomatonCegarLoop]: Abstraction has 224 states and 231 transitions. [2022-07-23 16:04:20,478 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 224 states and 231 transitions. [2022-07-23 16:04:20,479 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 224 to 222. [2022-07-23 16:04:20,479 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-23 16:04:20,479 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 222 states to 222 states and 229 transitions. [2022-07-23 16:04:20,479 INFO L392 hiAutomatonCegarLoop]: Abstraction has 222 states and 229 transitions. [2022-07-23 16:04:20,479 INFO L374 stractBuchiCegarLoop]: Abstraction has 222 states and 229 transitions. [2022-07-23 16:04:20,479 INFO L287 stractBuchiCegarLoop]: ======== Iteration 47 ============ [2022-07-23 16:04:20,480 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 222 states and 229 transitions. [2022-07-23 16:04:20,480 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:04:20,480 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 16:04:20,480 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 16:04:20,481 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-23 16:04:20,481 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-23 16:04:20,481 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-23 16:04:20,481 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-23 16:04:20,481 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:04:20,481 INFO L85 PathProgramCache]: Analyzing trace with hash 957759358, now seen corresponding path program 49 times [2022-07-23 16:04:20,482 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:04:20,482 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [381110568] [2022-07-23 16:04:20,482 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:04:20,482 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:04:20,500 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:04:20,501 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [759131325] [2022-07-23 16:04:20,501 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2022-07-23 16:04:20,501 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:04:20,501 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:04:20,503 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-23 16:04:20,505 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-23 16:04:21,396 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:04:21,396 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:04:22,372 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:04:22,430 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:04:22,431 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:04:22,431 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 35 times [2022-07-23 16:04:22,431 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:04:22,432 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1441817630] [2022-07-23 16:04:22,432 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:04:22,432 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:04:22,439 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:04:22,439 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:04:22,441 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:04:22,446 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:04:22,446 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:04:22,446 INFO L85 PathProgramCache]: Analyzing trace with hash 1141341586, now seen corresponding path program 50 times [2022-07-23 16:04:22,446 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:04:22,446 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1827816529] [2022-07-23 16:04:22,447 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:04:22,447 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:04:22,469 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:04:22,469 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [251228505] [2022-07-23 16:04:22,469 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-07-23 16:04:22,470 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:04:22,470 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:04:22,481 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-23 16:04:22,482 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-23 16:04:22,770 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-07-23 16:04:22,770 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-23 16:04:22,774 INFO L263 TraceCheckSpWp]: Trace formula consists of 656 conjuncts, 46 conjunts are in the unsatisfiable core [2022-07-23 16:04:22,777 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:04:23,649 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-23 16:04:23,650 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-23 16:04:25,698 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-23 16:04:25,698 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 16:04:25,699 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1827816529] [2022-07-23 16:04:25,699 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-23 16:04:25,699 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [251228505] [2022-07-23 16:04:25,699 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [251228505] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-23 16:04:25,700 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-23 16:04:25,700 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [46, 46] total 68 [2022-07-23 16:04:25,700 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [925234453] [2022-07-23 16:04:25,700 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-23 16:04:25,802 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 16:04:25,802 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 69 interpolants. [2022-07-23 16:04:25,803 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1103, Invalid=3589, Unknown=0, NotChecked=0, Total=4692 [2022-07-23 16:04:25,803 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-23 16:04:28,410 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 16:04:28,410 INFO L93 Difference]: Finished difference Result 432 states and 440 transitions. [2022-07-23 16:04:28,411 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 49 states. [2022-07-23 16:04:28,412 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 432 states and 440 transitions. [2022-07-23 16:04:28,413 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:04:28,413 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 432 states to 225 states and 232 transitions. [2022-07-23 16:04:28,413 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 51 [2022-07-23 16:04:28,413 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 51 [2022-07-23 16:04:28,413 INFO L73 IsDeterministic]: Start isDeterministic. Operand 225 states and 232 transitions. [2022-07-23 16:04:28,413 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 16:04:28,413 INFO L369 hiAutomatonCegarLoop]: Abstraction has 225 states and 232 transitions. [2022-07-23 16:04:28,414 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 225 states and 232 transitions. [2022-07-23 16:04:28,415 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 225 to 224. [2022-07-23 16:04:28,415 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-23 16:04:28,416 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 224 states to 224 states and 231 transitions. [2022-07-23 16:04:28,416 INFO L392 hiAutomatonCegarLoop]: Abstraction has 224 states and 231 transitions. [2022-07-23 16:04:28,416 INFO L374 stractBuchiCegarLoop]: Abstraction has 224 states and 231 transitions. [2022-07-23 16:04:28,416 INFO L287 stractBuchiCegarLoop]: ======== Iteration 48 ============ [2022-07-23 16:04:28,416 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 224 states and 231 transitions. [2022-07-23 16:04:28,417 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:04:28,417 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 16:04:28,417 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 16:04:28,417 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-23 16:04:28,417 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-23 16:04:28,418 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-23 16:04:28,418 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-23 16:04:28,418 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:04:28,418 INFO L85 PathProgramCache]: Analyzing trace with hash 43801884, now seen corresponding path program 51 times [2022-07-23 16:04:28,418 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:04:28,418 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [676427771] [2022-07-23 16:04:28,418 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:04:28,418 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:04:28,439 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:04:28,439 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1191846207] [2022-07-23 16:04:28,439 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-07-23 16:04:28,440 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:04:28,440 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:04:28,445 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-23 16:04:28,446 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-23 16:04:29,664 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 23 check-sat command(s) [2022-07-23 16:04:29,664 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-23 16:04:29,674 INFO L263 TraceCheckSpWp]: Trace formula consists of 655 conjuncts, 57 conjunts are in the unsatisfiable core [2022-07-23 16:04:29,677 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:04:32,630 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-23 16:04:32,631 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-23 16:04:36,341 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-23 16:04:36,341 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 16:04:36,341 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [676427771] [2022-07-23 16:04:36,341 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-23 16:04:36,341 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1191846207] [2022-07-23 16:04:36,341 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1191846207] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-23 16:04:36,341 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-23 16:04:36,341 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [50, 49] total 74 [2022-07-23 16:04:36,342 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [358704189] [2022-07-23 16:04:36,342 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-23 16:04:36,342 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-23 16:04:36,342 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:04:36,342 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 36 times [2022-07-23 16:04:36,342 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:04:36,342 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [135558031] [2022-07-23 16:04:36,342 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:04:36,343 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:04:36,347 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:04:36,347 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:04:36,348 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:04:36,350 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:04:36,440 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 16:04:36,440 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 74 interpolants. [2022-07-23 16:04:36,441 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1212, Invalid=4190, Unknown=0, NotChecked=0, Total=5402 [2022-07-23 16:04:36,441 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-23 16:04:42,447 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 16:04:42,447 INFO L93 Difference]: Finished difference Result 433 states and 446 transitions. [2022-07-23 16:04:42,450 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 71 states. [2022-07-23 16:04:42,450 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 433 states and 446 transitions. [2022-07-23 16:04:42,451 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 12 [2022-07-23 16:04:42,452 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 433 states to 426 states and 439 transitions. [2022-07-23 16:04:42,453 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 159 [2022-07-23 16:04:42,453 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 159 [2022-07-23 16:04:42,453 INFO L73 IsDeterministic]: Start isDeterministic. Operand 426 states and 439 transitions. [2022-07-23 16:04:42,453 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 16:04:42,453 INFO L369 hiAutomatonCegarLoop]: Abstraction has 426 states and 439 transitions. [2022-07-23 16:04:42,453 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 426 states and 439 transitions. [2022-07-23 16:04:42,455 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 426 to 233. [2022-07-23 16:04:42,456 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-23 16:04:42,456 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 233 states to 233 states and 240 transitions. [2022-07-23 16:04:42,456 INFO L392 hiAutomatonCegarLoop]: Abstraction has 233 states and 240 transitions. [2022-07-23 16:04:42,456 INFO L374 stractBuchiCegarLoop]: Abstraction has 233 states and 240 transitions. [2022-07-23 16:04:42,456 INFO L287 stractBuchiCegarLoop]: ======== Iteration 49 ============ [2022-07-23 16:04:42,456 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 233 states and 240 transitions. [2022-07-23 16:04:42,457 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:04:42,457 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 16:04:42,457 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 16:04:42,458 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-23 16:04:42,458 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-23 16:04:42,458 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-23 16:04:42,458 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-23 16:04:42,458 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:04:42,458 INFO L85 PathProgramCache]: Analyzing trace with hash -981602333, now seen corresponding path program 52 times [2022-07-23 16:04:42,459 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:04:42,459 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [290743646] [2022-07-23 16:04:42,459 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:04:42,459 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:04:42,483 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:04:42,483 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [241139306] [2022-07-23 16:04:42,483 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-07-23 16:04:42,483 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:04:42,484 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:04:42,486 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-23 16:04:42,489 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-23 16:04:43,264 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-07-23 16:04:43,264 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-07-23 16:04:43,264 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:04:43,708 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:04:43,758 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:04:43,759 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:04:43,759 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 37 times [2022-07-23 16:04:43,759 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:04:43,759 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1383926920] [2022-07-23 16:04:43,759 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:04:43,759 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:04:43,763 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:04:43,763 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:04:43,764 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:04:43,766 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:04:43,766 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:04:43,766 INFO L85 PathProgramCache]: Analyzing trace with hash 1517270797, now seen corresponding path program 53 times [2022-07-23 16:04:43,766 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:04:43,766 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1452920834] [2022-07-23 16:04:43,766 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:04:43,766 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:04:43,788 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:04:43,789 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1190106008] [2022-07-23 16:04:43,789 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-07-23 16:04:43,791 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:04:43,792 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:04:43,793 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-23 16:04:43,794 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-23 16:04:44,517 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 23 check-sat command(s) [2022-07-23 16:04:44,517 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-23 16:04:44,524 INFO L263 TraceCheckSpWp]: Trace formula consists of 675 conjuncts, 25 conjunts are in the unsatisfiable core [2022-07-23 16:04:44,526 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:04:48,424 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-23 16:04:48,424 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-23 16:04:53,552 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-23 16:04:53,552 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 16:04:53,552 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1452920834] [2022-07-23 16:04:53,552 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-23 16:04:53,553 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1190106008] [2022-07-23 16:04:53,553 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1190106008] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-23 16:04:53,553 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-23 16:04:53,553 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [25, 25] total 48 [2022-07-23 16:04:53,553 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [258923898] [2022-07-23 16:04:53,553 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-23 16:04:53,621 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 16:04:53,621 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 49 interpolants. [2022-07-23 16:04:53,621 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=636, Invalid=1716, Unknown=0, NotChecked=0, Total=2352 [2022-07-23 16:04:53,622 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-23 16:04:57,417 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 16:04:57,417 INFO L93 Difference]: Finished difference Result 427 states and 439 transitions. [2022-07-23 16:04:57,418 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 33 states. [2022-07-23 16:04:57,418 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 427 states and 439 transitions. [2022-07-23 16:04:57,419 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:04:57,420 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 427 states to 275 states and 282 transitions. [2022-07-23 16:04:57,420 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 88 [2022-07-23 16:04:57,420 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 88 [2022-07-23 16:04:57,420 INFO L73 IsDeterministic]: Start isDeterministic. Operand 275 states and 282 transitions. [2022-07-23 16:04:57,420 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 16:04:57,421 INFO L369 hiAutomatonCegarLoop]: Abstraction has 275 states and 282 transitions. [2022-07-23 16:04:57,421 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 275 states and 282 transitions. [2022-07-23 16:04:57,423 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 275 to 239. [2022-07-23 16:04:57,423 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-23 16:04:57,423 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 239 states to 239 states and 246 transitions. [2022-07-23 16:04:57,423 INFO L392 hiAutomatonCegarLoop]: Abstraction has 239 states and 246 transitions. [2022-07-23 16:04:57,424 INFO L374 stractBuchiCegarLoop]: Abstraction has 239 states and 246 transitions. [2022-07-23 16:04:57,424 INFO L287 stractBuchiCegarLoop]: ======== Iteration 50 ============ [2022-07-23 16:04:57,424 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 239 states and 246 transitions. [2022-07-23 16:04:57,424 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:04:57,425 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 16:04:57,425 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 16:04:57,426 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-23 16:04:57,426 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-23 16:04:57,426 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-23 16:04:57,426 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-23 16:04:57,427 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:04:57,427 INFO L85 PathProgramCache]: Analyzing trace with hash -1861723520, now seen corresponding path program 54 times [2022-07-23 16:04:57,427 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:04:57,427 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1098986179] [2022-07-23 16:04:57,427 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:04:57,427 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:04:57,451 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:04:57,451 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [297814909] [2022-07-23 16:04:57,452 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-07-23 16:04:57,452 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:04:57,452 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:04:57,455 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-23 16:04:57,463 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-23 16:04:58,635 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 24 check-sat command(s) [2022-07-23 16:04:58,635 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-23 16:04:58,645 INFO L263 TraceCheckSpWp]: Trace formula consists of 687 conjuncts, 48 conjunts are in the unsatisfiable core [2022-07-23 16:04:58,647 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:04:59,489 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-23 16:04:59,489 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-23 16:05:02,299 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-23 16:05:02,300 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 16:05:02,300 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1098986179] [2022-07-23 16:05:02,300 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-23 16:05:02,300 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [297814909] [2022-07-23 16:05:02,300 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [297814909] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-23 16:05:02,300 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-23 16:05:02,300 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [48, 48] total 71 [2022-07-23 16:05:02,300 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2045356359] [2022-07-23 16:05:02,300 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-23 16:05:02,300 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-23 16:05:02,301 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:05:02,301 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 38 times [2022-07-23 16:05:02,301 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:05:02,301 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1443269232] [2022-07-23 16:05:02,301 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:05:02,301 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:05:02,305 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:05:02,305 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:05:02,306 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:05:02,309 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:05:02,397 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 16:05:02,397 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 72 interpolants. [2022-07-23 16:05:02,398 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1199, Invalid=3913, Unknown=0, NotChecked=0, Total=5112 [2022-07-23 16:05:02,398 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-23 16:05:04,654 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 16:05:04,654 INFO L93 Difference]: Finished difference Result 311 states and 318 transitions. [2022-07-23 16:05:04,655 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 51 states. [2022-07-23 16:05:04,655 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 311 states and 318 transitions. [2022-07-23 16:05:04,656 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:05:04,656 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 311 states to 242 states and 249 transitions. [2022-07-23 16:05:04,656 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 54 [2022-07-23 16:05:04,657 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 54 [2022-07-23 16:05:04,657 INFO L73 IsDeterministic]: Start isDeterministic. Operand 242 states and 249 transitions. [2022-07-23 16:05:04,657 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 16:05:04,657 INFO L369 hiAutomatonCegarLoop]: Abstraction has 242 states and 249 transitions. [2022-07-23 16:05:04,657 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 242 states and 249 transitions. [2022-07-23 16:05:04,659 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 242 to 241. [2022-07-23 16:05:04,659 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-23 16:05:04,659 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 241 states to 241 states and 248 transitions. [2022-07-23 16:05:04,659 INFO L392 hiAutomatonCegarLoop]: Abstraction has 241 states and 248 transitions. [2022-07-23 16:05:04,659 INFO L374 stractBuchiCegarLoop]: Abstraction has 241 states and 248 transitions. [2022-07-23 16:05:04,659 INFO L287 stractBuchiCegarLoop]: ======== Iteration 51 ============ [2022-07-23 16:05:04,660 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 241 states and 248 transitions. [2022-07-23 16:05:04,660 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:05:04,660 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 16:05:04,660 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 16:05:04,661 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-23 16:05:04,661 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-23 16:05:04,661 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-23 16:05:04,661 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-23 16:05:04,661 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:05:04,662 INFO L85 PathProgramCache]: Analyzing trace with hash -2004661346, now seen corresponding path program 55 times [2022-07-23 16:05:04,662 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:05:04,662 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1721578237] [2022-07-23 16:05:04,662 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:05:04,662 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:05:04,686 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:05:04,686 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [119926093] [2022-07-23 16:05:04,686 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2022-07-23 16:05:04,687 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:05:04,687 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:05:04,693 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-23 16:05:04,694 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-23 16:05:05,538 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:05:05,538 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:05:06,804 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:05:06,877 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:05:06,878 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:05:06,878 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 39 times [2022-07-23 16:05:06,878 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:05:06,879 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2021489328] [2022-07-23 16:05:06,879 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:05:06,879 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:05:06,884 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:05:06,885 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:05:06,886 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:05:06,890 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:05:06,891 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:05:06,891 INFO L85 PathProgramCache]: Analyzing trace with hash 654146930, now seen corresponding path program 56 times [2022-07-23 16:05:06,891 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:05:06,891 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [321387460] [2022-07-23 16:05:06,892 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:05:06,892 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:05:06,916 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:05:06,917 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [494946750] [2022-07-23 16:05:06,917 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-07-23 16:05:06,917 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:05:06,917 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:05:06,923 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-23 16:05:06,944 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-23 16:05:07,201 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-07-23 16:05:07,201 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-23 16:05:07,204 INFO L263 TraceCheckSpWp]: Trace formula consists of 710 conjuncts, 50 conjunts are in the unsatisfiable core [2022-07-23 16:05:07,206 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:05:08,116 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-23 16:05:08,116 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-23 16:05:11,590 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-23 16:05:11,590 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 16:05:11,607 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [321387460] [2022-07-23 16:05:11,607 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-23 16:05:11,607 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [494946750] [2022-07-23 16:05:11,607 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [494946750] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-23 16:05:11,607 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-23 16:05:11,607 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [50, 50] total 74 [2022-07-23 16:05:11,607 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [4456258] [2022-07-23 16:05:11,607 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-23 16:05:11,746 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 16:05:11,747 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 75 interpolants. [2022-07-23 16:05:11,747 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1299, Invalid=4251, Unknown=0, NotChecked=0, Total=5550 [2022-07-23 16:05:11,747 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-23 16:05:15,375 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 16:05:15,375 INFO L93 Difference]: Finished difference Result 469 states and 477 transitions. [2022-07-23 16:05:15,378 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 53 states. [2022-07-23 16:05:15,379 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 469 states and 477 transitions. [2022-07-23 16:05:15,380 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:05:15,380 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 469 states to 244 states and 251 transitions. [2022-07-23 16:05:15,380 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 54 [2022-07-23 16:05:15,380 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 54 [2022-07-23 16:05:15,380 INFO L73 IsDeterministic]: Start isDeterministic. Operand 244 states and 251 transitions. [2022-07-23 16:05:15,381 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 16:05:15,381 INFO L369 hiAutomatonCegarLoop]: Abstraction has 244 states and 251 transitions. [2022-07-23 16:05:15,381 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 244 states and 251 transitions. [2022-07-23 16:05:15,383 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 244 to 243. [2022-07-23 16:05:15,383 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-23 16:05:15,383 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 243 states to 243 states and 250 transitions. [2022-07-23 16:05:15,383 INFO L392 hiAutomatonCegarLoop]: Abstraction has 243 states and 250 transitions. [2022-07-23 16:05:15,383 INFO L374 stractBuchiCegarLoop]: Abstraction has 243 states and 250 transitions. [2022-07-23 16:05:15,383 INFO L287 stractBuchiCegarLoop]: ======== Iteration 52 ============ [2022-07-23 16:05:15,383 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 243 states and 250 transitions. [2022-07-23 16:05:15,384 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:05:15,384 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 16:05:15,384 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 16:05:15,385 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-23 16:05:15,385 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-23 16:05:15,385 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-23 16:05:15,385 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-23 16:05:15,386 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:05:15,386 INFO L85 PathProgramCache]: Analyzing trace with hash -1928958660, now seen corresponding path program 57 times [2022-07-23 16:05:15,386 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:05:15,386 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [571604827] [2022-07-23 16:05:15,386 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:05:15,386 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:05:15,417 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:05:15,417 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1178676924] [2022-07-23 16:05:15,417 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-07-23 16:05:15,417 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:05:15,417 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:05:15,423 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-23 16:05:15,444 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-23 16:05:17,072 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 25 check-sat command(s) [2022-07-23 16:05:17,072 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-23 16:05:17,082 INFO L263 TraceCheckSpWp]: Trace formula consists of 709 conjuncts, 61 conjunts are in the unsatisfiable core [2022-07-23 16:05:17,084 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:05:20,902 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-23 16:05:20,902 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-23 16:05:26,546 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-23 16:05:26,546 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 16:05:26,546 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [571604827] [2022-07-23 16:05:26,547 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-23 16:05:26,547 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1178676924] [2022-07-23 16:05:26,547 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1178676924] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-23 16:05:26,547 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-23 16:05:26,547 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [54, 53] total 80 [2022-07-23 16:05:26,547 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [338946260] [2022-07-23 16:05:26,547 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-23 16:05:26,547 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-23 16:05:26,547 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:05:26,547 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 40 times [2022-07-23 16:05:26,548 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:05:26,548 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2126091395] [2022-07-23 16:05:26,548 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:05:26,548 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:05:26,552 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:05:26,552 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:05:26,553 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:05:26,554 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:05:26,619 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 16:05:26,619 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 80 interpolants. [2022-07-23 16:05:26,620 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1410, Invalid=4910, Unknown=0, NotChecked=0, Total=6320 [2022-07-23 16:05:26,620 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-23 16:05:35,293 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 16:05:35,293 INFO L93 Difference]: Finished difference Result 467 states and 480 transitions. [2022-07-23 16:05:35,294 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 77 states. [2022-07-23 16:05:35,294 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 467 states and 480 transitions. [2022-07-23 16:05:35,295 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 12 [2022-07-23 16:05:35,296 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 467 states to 460 states and 473 transitions. [2022-07-23 16:05:35,296 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 171 [2022-07-23 16:05:35,296 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 171 [2022-07-23 16:05:35,296 INFO L73 IsDeterministic]: Start isDeterministic. Operand 460 states and 473 transitions. [2022-07-23 16:05:35,296 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 16:05:35,297 INFO L369 hiAutomatonCegarLoop]: Abstraction has 460 states and 473 transitions. [2022-07-23 16:05:35,297 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 460 states and 473 transitions. [2022-07-23 16:05:35,299 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 460 to 252. [2022-07-23 16:05:35,299 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-23 16:05:35,300 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 252 states to 252 states and 259 transitions. [2022-07-23 16:05:35,300 INFO L392 hiAutomatonCegarLoop]: Abstraction has 252 states and 259 transitions. [2022-07-23 16:05:35,300 INFO L374 stractBuchiCegarLoop]: Abstraction has 252 states and 259 transitions. [2022-07-23 16:05:35,300 INFO L287 stractBuchiCegarLoop]: ======== Iteration 53 ============ [2022-07-23 16:05:35,300 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 252 states and 259 transitions. [2022-07-23 16:05:35,301 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:05:35,301 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 16:05:35,301 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 16:05:35,302 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-23 16:05:35,302 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-23 16:05:35,302 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-23 16:05:35,303 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-23 16:05:35,303 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:05:35,303 INFO L85 PathProgramCache]: Analyzing trace with hash -274014977, now seen corresponding path program 58 times [2022-07-23 16:05:35,303 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:05:35,303 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2136306693] [2022-07-23 16:05:35,303 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:05:35,304 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:05:35,329 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:05:35,329 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1748776456] [2022-07-23 16:05:35,329 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-07-23 16:05:35,329 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:05:35,330 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:05:35,334 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-23 16:05:35,335 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-23 16:05:36,661 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-07-23 16:05:36,662 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-07-23 16:05:36,662 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:05:37,882 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:05:37,942 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:05:37,943 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:05:37,943 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 41 times [2022-07-23 16:05:37,943 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:05:37,943 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [849089223] [2022-07-23 16:05:37,943 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:05:37,943 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:05:37,947 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:05:37,947 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:05:37,948 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:05:37,950 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:05:37,950 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:05:37,950 INFO L85 PathProgramCache]: Analyzing trace with hash 1552704625, now seen corresponding path program 59 times [2022-07-23 16:05:37,951 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:05:37,951 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [712903373] [2022-07-23 16:05:37,951 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:05:37,951 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:05:37,971 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:05:37,971 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1534178897] [2022-07-23 16:05:37,971 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-07-23 16:05:37,971 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:05:37,972 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:05:37,974 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-23 16:05:37,998 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-23 16:05:38,773 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 25 check-sat command(s) [2022-07-23 16:05:38,773 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-23 16:05:38,782 INFO L263 TraceCheckSpWp]: Trace formula consists of 729 conjuncts, 52 conjunts are in the unsatisfiable core [2022-07-23 16:05:38,784 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:05:39,776 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-23 16:05:39,776 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-23 16:05:43,741 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-23 16:05:43,742 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 16:05:43,742 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [712903373] [2022-07-23 16:05:43,742 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-23 16:05:43,742 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1534178897] [2022-07-23 16:05:43,742 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1534178897] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-23 16:05:43,742 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-23 16:05:43,742 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [52, 52] total 77 [2022-07-23 16:05:43,742 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [846183410] [2022-07-23 16:05:43,742 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-23 16:05:43,800 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 16:05:43,800 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 78 interpolants. [2022-07-23 16:05:43,801 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1403, Invalid=4603, Unknown=0, NotChecked=0, Total=6006 [2022-07-23 16:05:43,801 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-23 16:05:48,434 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 16:05:48,434 INFO L93 Difference]: Finished difference Result 489 states and 497 transitions. [2022-07-23 16:05:48,436 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 55 states. [2022-07-23 16:05:48,436 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 489 states and 497 transitions. [2022-07-23 16:05:48,437 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:05:48,437 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 489 states to 255 states and 262 transitions. [2022-07-23 16:05:48,438 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 54 [2022-07-23 16:05:48,438 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 54 [2022-07-23 16:05:48,438 INFO L73 IsDeterministic]: Start isDeterministic. Operand 255 states and 262 transitions. [2022-07-23 16:05:48,438 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 16:05:48,438 INFO L369 hiAutomatonCegarLoop]: Abstraction has 255 states and 262 transitions. [2022-07-23 16:05:48,438 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 255 states and 262 transitions. [2022-07-23 16:05:48,440 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 255 to 254. [2022-07-23 16:05:48,440 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-23 16:05:48,441 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 254 states to 254 states and 261 transitions. [2022-07-23 16:05:48,441 INFO L392 hiAutomatonCegarLoop]: Abstraction has 254 states and 261 transitions. [2022-07-23 16:05:48,441 INFO L374 stractBuchiCegarLoop]: Abstraction has 254 states and 261 transitions. [2022-07-23 16:05:48,441 INFO L287 stractBuchiCegarLoop]: ======== Iteration 54 ============ [2022-07-23 16:05:48,441 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 254 states and 261 transitions. [2022-07-23 16:05:48,442 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2022-07-23 16:05:48,442 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 16:05:48,442 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 16:05:48,443 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-23 16:05:48,443 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-23 16:05:48,443 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-23 16:05:48,444 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-23 16:05:48,444 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:05:48,444 INFO L85 PathProgramCache]: Analyzing trace with hash 364478621, now seen corresponding path program 60 times [2022-07-23 16:05:48,444 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:05:48,444 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [586869031] [2022-07-23 16:05:48,445 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:05:48,445 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:05:48,471 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-23 16:05:48,471 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [917166755] [2022-07-23 16:05:48,471 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-07-23 16:05:48,471 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-23 16:05:48,471 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 16:05:48,475 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-23 16:05:48,478 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (145)] Waiting until timeout for monitored process [2022-07-23 16:05:50,822 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 26 check-sat command(s) [2022-07-23 16:05:50,822 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-23 16:05:50,835 INFO L263 TraceCheckSpWp]: Trace formula consists of 728 conjuncts, 52 conjunts are in the unsatisfiable core [2022-07-23 16:05:50,837 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 16:05:51,790 INFO L134 CoverageAnalysis]: Checked inductivity of 2259 backedges. 576 proven. 901 refuted. 0 times theorem prover too weak. 782 trivial. 0 not checked. [2022-07-23 16:05:51,790 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-23 16:05:56,201 INFO L134 CoverageAnalysis]: Checked inductivity of 2259 backedges. 576 proven. 901 refuted. 0 times theorem prover too weak. 782 trivial. 0 not checked. [2022-07-23 16:05:56,201 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 16:05:56,201 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [586869031] [2022-07-23 16:05:56,202 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-23 16:05:56,202 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [917166755] [2022-07-23 16:05:56,202 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [917166755] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-23 16:05:56,202 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-23 16:05:56,202 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [53, 53] total 78 [2022-07-23 16:05:56,202 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [25521846] [2022-07-23 16:05:56,202 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-23 16:05:56,203 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-23 16:05:56,203 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 16:05:56,203 INFO L85 PathProgramCache]: Analyzing trace with hash 84527, now seen corresponding path program 42 times [2022-07-23 16:05:56,204 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 16:05:56,204 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1361113401] [2022-07-23 16:05:56,204 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 16:05:56,204 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 16:05:56,209 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:05:56,210 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 16:05:56,211 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 16:05:56,214 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 16:05:56,407 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 16:05:56,408 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 78 interpolants. [2022-07-23 16:05:56,408 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1403, Invalid=4603, Unknown=0, NotChecked=0, Total=6006 [2022-07-23 16:05:56,408 INFO L87 Difference]: Start difference. First operand 254 states and 261 transitions. cyclomatic complexity: 15 Second operand has 78 states, 78 states have (on average 2.6666666666666665) internal successors, (208), 78 states have internal predecessors, (208), 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)