./Ultimate.py --spec ../sv-benchmarks/c/properties/termination.prp --file ../sv-benchmarks/c/seq-mthreaded/pals_lcr.8.ufo.BOUNDED-16.pals.c --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for termination Using default analysis Version 3a877d22 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/seq-mthreaded/pals_lcr.8.ufo.BOUNDED-16.pals.c -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 6327d27f7abe073a313b5cd298156d916d823d684efcd0c205043cb09610f085 --- Real Ultimate output --- This is Ultimate 0.2.2-3a877d227dc491413fd706022d0c47cd97beb353-3a877d2 [2021-12-15 17:23:10,788 INFO L177 SettingsManager]: Resetting all preferences to default values... [2021-12-15 17:23:10,789 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2021-12-15 17:23:10,808 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2021-12-15 17:23:10,808 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2021-12-15 17:23:10,811 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2021-12-15 17:23:10,813 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2021-12-15 17:23:10,815 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2021-12-15 17:23:10,817 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2021-12-15 17:23:10,820 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2021-12-15 17:23:10,821 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2021-12-15 17:23:10,822 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2021-12-15 17:23:10,822 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2021-12-15 17:23:10,824 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2021-12-15 17:23:10,826 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2021-12-15 17:23:10,828 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2021-12-15 17:23:10,828 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2021-12-15 17:23:10,829 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2021-12-15 17:23:10,832 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2021-12-15 17:23:10,837 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2021-12-15 17:23:10,838 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2021-12-15 17:23:10,838 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2021-12-15 17:23:10,840 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2021-12-15 17:23:10,840 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2021-12-15 17:23:10,843 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2021-12-15 17:23:10,844 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2021-12-15 17:23:10,844 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2021-12-15 17:23:10,844 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2021-12-15 17:23:10,845 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2021-12-15 17:23:10,845 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2021-12-15 17:23:10,845 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2021-12-15 17:23:10,846 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2021-12-15 17:23:10,846 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2021-12-15 17:23:10,847 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2021-12-15 17:23:10,847 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2021-12-15 17:23:10,847 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2021-12-15 17:23:10,848 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2021-12-15 17:23:10,848 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2021-12-15 17:23:10,848 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2021-12-15 17:23:10,848 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2021-12-15 17:23:10,849 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2021-12-15 17:23:10,856 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Termination-32bit-Automizer_Default.epf [2021-12-15 17:23:10,884 INFO L113 SettingsManager]: Loading preferences was successful [2021-12-15 17:23:10,885 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2021-12-15 17:23:10,885 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2021-12-15 17:23:10,885 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2021-12-15 17:23:10,887 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2021-12-15 17:23:10,887 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2021-12-15 17:23:10,887 INFO L138 SettingsManager]: * Use SBE=true [2021-12-15 17:23:10,888 INFO L136 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2021-12-15 17:23:10,888 INFO L138 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2021-12-15 17:23:10,888 INFO L138 SettingsManager]: * Use old map elimination=false [2021-12-15 17:23:10,889 INFO L138 SettingsManager]: * Use external solver (rank synthesis)=false [2021-12-15 17:23:10,889 INFO L138 SettingsManager]: * Use only trivial implications for array writes=true [2021-12-15 17:23:10,889 INFO L138 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2021-12-15 17:23:10,889 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2021-12-15 17:23:10,889 INFO L138 SettingsManager]: * sizeof long=4 [2021-12-15 17:23:10,889 INFO L138 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2021-12-15 17:23:10,890 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2021-12-15 17:23:10,890 INFO L138 SettingsManager]: * sizeof POINTER=4 [2021-12-15 17:23:10,890 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2021-12-15 17:23:10,890 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2021-12-15 17:23:10,890 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2021-12-15 17:23:10,890 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2021-12-15 17:23:10,890 INFO L138 SettingsManager]: * sizeof long double=12 [2021-12-15 17:23:10,891 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2021-12-15 17:23:10,891 INFO L138 SettingsManager]: * Assume nondeterminstic values are in range=false [2021-12-15 17:23:10,891 INFO L138 SettingsManager]: * Use constant arrays=true [2021-12-15 17:23:10,891 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2021-12-15 17:23:10,891 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2021-12-15 17:23:10,891 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2021-12-15 17:23:10,892 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2021-12-15 17:23:10,892 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2021-12-15 17:23:10,892 INFO L138 SettingsManager]: * Trace refinement exception blacklist=NONE [2021-12-15 17:23:10,893 INFO L136 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2021-12-15 17:23:10,893 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 -> 6327d27f7abe073a313b5cd298156d916d823d684efcd0c205043cb09610f085 [2021-12-15 17:23:11,127 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2021-12-15 17:23:11,149 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2021-12-15 17:23:11,152 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2021-12-15 17:23:11,153 INFO L271 PluginConnector]: Initializing CDTParser... [2021-12-15 17:23:11,153 INFO L275 PluginConnector]: CDTParser initialized [2021-12-15 17:23:11,154 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/seq-mthreaded/pals_lcr.8.ufo.BOUNDED-16.pals.c [2021-12-15 17:23:11,202 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/44aa2da83/9e3ade8a179d4010898b2e9524bc9305/FLAGb8e006b90 [2021-12-15 17:23:11,603 INFO L306 CDTParser]: Found 1 translation units. [2021-12-15 17:23:11,605 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/seq-mthreaded/pals_lcr.8.ufo.BOUNDED-16.pals.c [2021-12-15 17:23:11,615 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/44aa2da83/9e3ade8a179d4010898b2e9524bc9305/FLAGb8e006b90 [2021-12-15 17:23:12,007 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/44aa2da83/9e3ade8a179d4010898b2e9524bc9305 [2021-12-15 17:23:12,009 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2021-12-15 17:23:12,010 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2021-12-15 17:23:12,011 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2021-12-15 17:23:12,011 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2021-12-15 17:23:12,019 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2021-12-15 17:23:12,019 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.12 05:23:12" (1/1) ... [2021-12-15 17:23:12,021 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@5b95c7ee and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 05:23:12, skipping insertion in model container [2021-12-15 17:23:12,021 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.12 05:23:12" (1/1) ... [2021-12-15 17:23:12,025 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2021-12-15 17:23:12,059 INFO L178 MainTranslator]: Built tables and reachable declarations [2021-12-15 17:23:12,273 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/seq-mthreaded/pals_lcr.8.ufo.BOUNDED-16.pals.c[26453,26466] [2021-12-15 17:23:12,274 INFO L209 PostProcessor]: Analyzing one entry point: main [2021-12-15 17:23:12,284 INFO L203 MainTranslator]: Completed pre-run [2021-12-15 17:23:12,341 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/seq-mthreaded/pals_lcr.8.ufo.BOUNDED-16.pals.c[26453,26466] [2021-12-15 17:23:12,342 INFO L209 PostProcessor]: Analyzing one entry point: main [2021-12-15 17:23:12,355 INFO L208 MainTranslator]: Completed translation [2021-12-15 17:23:12,356 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 05:23:12 WrapperNode [2021-12-15 17:23:12,356 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2021-12-15 17:23:12,357 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2021-12-15 17:23:12,357 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2021-12-15 17:23:12,357 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2021-12-15 17:23:12,364 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 05:23:12" (1/1) ... [2021-12-15 17:23:12,373 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 05:23:12" (1/1) ... [2021-12-15 17:23:12,415 INFO L137 Inliner]: procedures = 27, calls = 19, calls flagged for inlining = 14, calls inlined = 14, statements flattened = 497 [2021-12-15 17:23:12,415 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2021-12-15 17:23:12,416 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2021-12-15 17:23:12,416 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2021-12-15 17:23:12,416 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2021-12-15 17:23:12,422 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 05:23:12" (1/1) ... [2021-12-15 17:23:12,422 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 05:23:12" (1/1) ... [2021-12-15 17:23:12,425 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 05:23:12" (1/1) ... [2021-12-15 17:23:12,432 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 05:23:12" (1/1) ... [2021-12-15 17:23:12,438 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 05:23:12" (1/1) ... [2021-12-15 17:23:12,443 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 05:23:12" (1/1) ... [2021-12-15 17:23:12,446 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 05:23:12" (1/1) ... [2021-12-15 17:23:12,449 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2021-12-15 17:23:12,454 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2021-12-15 17:23:12,455 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2021-12-15 17:23:12,455 INFO L275 PluginConnector]: RCFGBuilder initialized [2021-12-15 17:23:12,456 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 05:23:12" (1/1) ... [2021-12-15 17:23:12,482 INFO L168 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2021-12-15 17:23:12,490 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2021-12-15 17:23:12,506 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) [2021-12-15 17:23:12,508 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 [2021-12-15 17:23:12,532 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2021-12-15 17:23:12,532 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2021-12-15 17:23:12,532 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2021-12-15 17:23:12,533 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2021-12-15 17:23:12,622 INFO L236 CfgBuilder]: Building ICFG [2021-12-15 17:23:12,624 INFO L262 CfgBuilder]: Building CFG for each procedure with an implementation [2021-12-15 17:23:13,054 INFO L277 CfgBuilder]: Performing block encoding [2021-12-15 17:23:13,061 INFO L296 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2021-12-15 17:23:13,065 INFO L301 CfgBuilder]: Removed 1 assume(true) statements. [2021-12-15 17:23:13,067 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.12 05:23:13 BoogieIcfgContainer [2021-12-15 17:23:13,067 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2021-12-15 17:23:13,067 INFO L113 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2021-12-15 17:23:13,067 INFO L271 PluginConnector]: Initializing BuchiAutomizer... [2021-12-15 17:23:13,070 INFO L275 PluginConnector]: BuchiAutomizer initialized [2021-12-15 17:23:13,070 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2021-12-15 17:23:13,070 INFO L185 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "CDTParser AST 15.12 05:23:12" (1/3) ... [2021-12-15 17:23:13,071 INFO L205 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@41fed0fc and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 15.12 05:23:13, skipping insertion in model container [2021-12-15 17:23:13,071 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2021-12-15 17:23:13,071 INFO L185 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 05:23:12" (2/3) ... [2021-12-15 17:23:13,071 INFO L205 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@41fed0fc and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 15.12 05:23:13, skipping insertion in model container [2021-12-15 17:23:13,071 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2021-12-15 17:23:13,071 INFO L185 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.12 05:23:13" (3/3) ... [2021-12-15 17:23:13,072 INFO L388 chiAutomizerObserver]: Analyzing ICFG pals_lcr.8.ufo.BOUNDED-16.pals.c [2021-12-15 17:23:13,100 INFO L359 BuchiCegarLoop]: Interprodecural is true [2021-12-15 17:23:13,100 INFO L360 BuchiCegarLoop]: Hoare is false [2021-12-15 17:23:13,100 INFO L361 BuchiCegarLoop]: Compute interpolants for ForwardPredicates [2021-12-15 17:23:13,100 INFO L362 BuchiCegarLoop]: Backedges is STRAIGHT_LINE [2021-12-15 17:23:13,100 INFO L363 BuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2021-12-15 17:23:13,100 INFO L364 BuchiCegarLoop]: Difference is false [2021-12-15 17:23:13,100 INFO L365 BuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2021-12-15 17:23:13,101 INFO L368 BuchiCegarLoop]: ======== Iteration 0==of CEGAR loop == BuchiCegarLoop======== [2021-12-15 17:23:13,112 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 146 states, 145 states have (on average 1.7586206896551724) internal successors, (255), 145 states have internal predecessors, (255), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-12-15 17:23:13,130 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 75 [2021-12-15 17:23:13,130 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2021-12-15 17:23:13,130 INFO L119 BuchiIsEmpty]: Starting construction of run [2021-12-15 17:23:13,136 INFO L842 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1] [2021-12-15 17:23:13,136 INFO L843 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-12-15 17:23:13,136 INFO L425 BuchiCegarLoop]: ======== Iteration 1============ [2021-12-15 17:23:13,137 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 146 states, 145 states have (on average 1.7586206896551724) internal successors, (255), 145 states have internal predecessors, (255), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-12-15 17:23:13,142 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 75 [2021-12-15 17:23:13,142 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2021-12-15 17:23:13,142 INFO L119 BuchiIsEmpty]: Starting construction of run [2021-12-15 17:23:13,143 INFO L842 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1] [2021-12-15 17:23:13,143 INFO L843 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-12-15 17:23:13,148 INFO L791 eck$LassoCheckResult]: Stem: 137#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(33, 2);call #Ultimate.allocInit(12, 3);~nomsg~0 := -1;~r1~0 := 0;~p1~0 := 0;~p1_old~0 := 0;~p1_new~0 := 0;~id1~0 := 0;~st1~0 := 0;~send1~0 := 0;~mode1~0 := 0;~p2~0 := 0;~p2_old~0 := 0;~p2_new~0 := 0;~id2~0 := 0;~st2~0 := 0;~send2~0 := 0;~mode2~0 := 0;~p3~0 := 0;~p3_old~0 := 0;~p3_new~0 := 0;~id3~0 := 0;~st3~0 := 0;~send3~0 := 0;~mode3~0 := 0;~p4~0 := 0;~p4_old~0 := 0;~p4_new~0 := 0;~id4~0 := 0;~st4~0 := 0;~send4~0 := 0;~mode4~0 := 0;~p5~0 := 0;~p5_old~0 := 0;~p5_new~0 := 0;~id5~0 := 0;~st5~0 := 0;~send5~0 := 0;~mode5~0 := 0;~p6~0 := 0;~p6_old~0 := 0;~p6_new~0 := 0;~id6~0 := 0;~st6~0 := 0;~send6~0 := 0;~mode6~0 := 0;~p7~0 := 0;~p7_old~0 := 0;~p7_new~0 := 0;~id7~0 := 0;~st7~0 := 0;~send7~0 := 0;~mode7~0 := 0;~p8~0 := 0;~p8_old~0 := 0;~p8_new~0 := 0;~id8~0 := 0;~st8~0 := 0;~send8~0 := 0;~mode8~0 := 0;~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[0 := #funAddr~node1.base], ~nodes~0.offset[0 := #funAddr~node1.offset];~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[1 := #funAddr~node2.base], ~nodes~0.offset[1 := #funAddr~node2.offset];~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[2 := #funAddr~node3.base], ~nodes~0.offset[2 := #funAddr~node3.offset];~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[3 := #funAddr~node4.base], ~nodes~0.offset[3 := #funAddr~node4.offset];~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[4 := #funAddr~node5.base], ~nodes~0.offset[4 := #funAddr~node5.offset];~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[5 := #funAddr~node6.base], ~nodes~0.offset[5 := #funAddr~node6.offset];~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[6 := #funAddr~node7.base], ~nodes~0.offset[6 := #funAddr~node7.offset];~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[7 := #funAddr~node8.base], ~nodes~0.offset[7 := #funAddr~node8.offset]; 43#L-1true assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet12#1, main_#t~nondet13#1, main_#t~nondet14#1, main_#t~nondet15#1, main_#t~nondet16#1, main_#t~nondet17#1, main_#t~nondet18#1, main_#t~nondet19#1, main_#t~nondet20#1, main_#t~nondet21#1, main_#t~nondet22#1, main_#t~nondet23#1, main_#t~nondet24#1, main_#t~nondet25#1, main_#t~nondet26#1, main_#t~nondet27#1, main_#t~nondet28#1, main_#t~nondet29#1, main_#t~nondet30#1, main_#t~nondet31#1, main_#t~nondet32#1, main_#t~nondet33#1, main_#t~nondet34#1, main_#t~nondet35#1, main_#t~nondet36#1, main_#t~nondet37#1, main_#t~nondet38#1, main_#t~nondet39#1, main_#t~nondet40#1, main_#t~nondet41#1, main_#t~nondet42#1, main_#t~nondet43#1, main_#t~nondet44#1, main_#t~ret45#1, main_#t~ret46#1, main_#t~post47#1, main_~c1~0#1, main_~i2~0#1;havoc main_~c1~0#1;havoc main_~i2~0#1;main_~c1~0#1 := 0;~r1~0 := main_#t~nondet12#1;havoc main_#t~nondet12#1;~id1~0 := main_#t~nondet13#1;havoc main_#t~nondet13#1;~st1~0 := main_#t~nondet14#1;havoc main_#t~nondet14#1;~send1~0 := main_#t~nondet15#1;havoc main_#t~nondet15#1;~mode1~0 := main_#t~nondet16#1;havoc main_#t~nondet16#1;~id2~0 := main_#t~nondet17#1;havoc main_#t~nondet17#1;~st2~0 := main_#t~nondet18#1;havoc main_#t~nondet18#1;~send2~0 := main_#t~nondet19#1;havoc main_#t~nondet19#1;~mode2~0 := main_#t~nondet20#1;havoc main_#t~nondet20#1;~id3~0 := main_#t~nondet21#1;havoc main_#t~nondet21#1;~st3~0 := main_#t~nondet22#1;havoc main_#t~nondet22#1;~send3~0 := main_#t~nondet23#1;havoc main_#t~nondet23#1;~mode3~0 := main_#t~nondet24#1;havoc main_#t~nondet24#1;~id4~0 := main_#t~nondet25#1;havoc main_#t~nondet25#1;~st4~0 := main_#t~nondet26#1;havoc main_#t~nondet26#1;~send4~0 := main_#t~nondet27#1;havoc main_#t~nondet27#1;~mode4~0 := main_#t~nondet28#1;havoc main_#t~nondet28#1;~id5~0 := main_#t~nondet29#1;havoc main_#t~nondet29#1;~st5~0 := main_#t~nondet30#1;havoc main_#t~nondet30#1;~send5~0 := main_#t~nondet31#1;havoc main_#t~nondet31#1;~mode5~0 := main_#t~nondet32#1;havoc main_#t~nondet32#1;~id6~0 := main_#t~nondet33#1;havoc main_#t~nondet33#1;~st6~0 := main_#t~nondet34#1;havoc main_#t~nondet34#1;~send6~0 := main_#t~nondet35#1;havoc main_#t~nondet35#1;~mode6~0 := main_#t~nondet36#1;havoc main_#t~nondet36#1;~id7~0 := main_#t~nondet37#1;havoc main_#t~nondet37#1;~st7~0 := main_#t~nondet38#1;havoc main_#t~nondet38#1;~send7~0 := main_#t~nondet39#1;havoc main_#t~nondet39#1;~mode7~0 := main_#t~nondet40#1;havoc main_#t~nondet40#1;~id8~0 := main_#t~nondet41#1;havoc main_#t~nondet41#1;~st8~0 := main_#t~nondet42#1;havoc main_#t~nondet42#1;~send8~0 := main_#t~nondet43#1;havoc main_#t~nondet43#1;~mode8~0 := main_#t~nondet44#1;havoc main_#t~nondet44#1;assume { :begin_inline_init } true;havoc init_#res#1;havoc init_~tmp~0#1;havoc init_~tmp~0#1; 9#L295true assume !(0 == ~r1~0);init_~tmp~0#1 := 0; 115#L295-1true init_#res#1 := init_~tmp~0#1; 25#L540true main_#t~ret45#1 := init_#res#1;assume { :end_inline_init } true;main_~i2~0#1 := main_#t~ret45#1;havoc main_#t~ret45#1;assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := main_~i2~0#1;havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; 46#L22true assume !(0 == assume_abort_if_not_~cond#1); 110#L21true assume { :end_inline_assume_abort_if_not } true;~p1_old~0 := ~nomsg~0;~p1_new~0 := ~nomsg~0;~p2_old~0 := ~nomsg~0;~p2_new~0 := ~nomsg~0;~p3_old~0 := ~nomsg~0;~p3_new~0 := ~nomsg~0;~p4_old~0 := ~nomsg~0;~p4_new~0 := ~nomsg~0;~p5_old~0 := ~nomsg~0;~p5_new~0 := ~nomsg~0;~p6_old~0 := ~nomsg~0;~p6_new~0 := ~nomsg~0;~p7_old~0 := ~nomsg~0;~p7_new~0 := ~nomsg~0;~p8_old~0 := ~nomsg~0;~p8_new~0 := ~nomsg~0;main_~i2~0#1 := 0; 52#L630-2true [2021-12-15 17:23:13,149 INFO L793 eck$LassoCheckResult]: Loop: 52#L630-2true assume !!(main_~i2~0#1 < 16);assume { :begin_inline_node1 } true;havoc node1_#t~ite4#1, node1_~m1~0#1;havoc node1_~m1~0#1;node1_~m1~0#1 := ~nomsg~0; 129#L92true assume !(0 != ~mode1~0 % 256); 136#L106true assume ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0;node1_#t~ite4#1 := ~send1~0; 59#L106-2true ~p1_new~0 := (if node1_#t~ite4#1 % 256 <= 127 then node1_#t~ite4#1 % 256 else node1_#t~ite4#1 % 256 - 256);havoc node1_#t~ite4#1;~mode1~0 := 1; 69#L92-2true assume { :end_inline_node1 } true;assume { :begin_inline_node2 } true;havoc node2_#t~ite5#1, node2_~m2~0#1;havoc node2_~m2~0#1;node2_~m2~0#1 := ~nomsg~0; 105#L118true assume 0 != ~mode2~0 % 256;node2_~m2~0#1 := ~p1_old~0;~p1_old~0 := ~nomsg~0; 26#L121true assume !(node2_~m2~0#1 != ~nomsg~0); 120#L121-1true ~mode2~0 := 0; 64#L118-2true assume { :end_inline_node2 } true;assume { :begin_inline_node3 } true;havoc node3_#t~ite6#1, node3_~m3~0#1;havoc node3_~m3~0#1;node3_~m3~0#1 := ~nomsg~0; 113#L143true assume 0 != ~mode3~0 % 256;node3_~m3~0#1 := ~p2_old~0;~p2_old~0 := ~nomsg~0; 99#L146true assume !(node3_~m3~0#1 != ~nomsg~0); 20#L146-1true ~mode3~0 := 0; 13#L143-2true assume { :end_inline_node3 } true;assume { :begin_inline_node4 } true;havoc node4_#t~ite7#1, node4_~m4~0#1;havoc node4_~m4~0#1;node4_~m4~0#1 := ~nomsg~0; 8#L168true assume !(0 != ~mode4~0 % 256); 106#L181true assume ~send4~0 != ~nomsg~0 && ~p4_new~0 == ~nomsg~0;node4_#t~ite7#1 := ~send4~0; 53#L181-2true ~p4_new~0 := (if node4_#t~ite7#1 % 256 <= 127 then node4_#t~ite7#1 % 256 else node4_#t~ite7#1 % 256 - 256);havoc node4_#t~ite7#1;~mode4~0 := 1; 10#L168-2true assume { :end_inline_node4 } true;assume { :begin_inline_node5 } true;havoc node5_#t~ite8#1, node5_~m5~0#1;havoc node5_~m5~0#1;node5_~m5~0#1 := ~nomsg~0; 65#L193true assume 0 != ~mode5~0 % 256;node5_~m5~0#1 := ~p4_old~0;~p4_old~0 := ~nomsg~0; 72#L196true assume !(node5_~m5~0#1 != ~nomsg~0); 75#L196-1true ~mode5~0 := 0; 57#L193-2true assume { :end_inline_node5 } true;assume { :begin_inline_node6 } true;havoc node6_#t~ite9#1, node6_~m6~0#1;havoc node6_~m6~0#1;node6_~m6~0#1 := ~nomsg~0; 44#L218true assume 0 != ~mode6~0 % 256;node6_~m6~0#1 := ~p5_old~0;~p5_old~0 := ~nomsg~0; 96#L221true assume !(node6_~m6~0#1 != ~nomsg~0); 66#L221-1true ~mode6~0 := 0; 15#L218-2true assume { :end_inline_node6 } true;assume { :begin_inline_node7 } true;havoc node7_#t~ite10#1, node7_~m7~0#1;havoc node7_~m7~0#1;node7_~m7~0#1 := ~nomsg~0; 89#L243true assume !(0 != ~mode7~0 % 256); 60#L256true assume ~send7~0 != ~nomsg~0 && ~p7_new~0 == ~nomsg~0;node7_#t~ite10#1 := ~send7~0; 14#L256-2true ~p7_new~0 := (if node7_#t~ite10#1 % 256 <= 127 then node7_#t~ite10#1 % 256 else node7_#t~ite10#1 % 256 - 256);havoc node7_#t~ite10#1;~mode7~0 := 1; 146#L243-2true assume { :end_inline_node7 } true;assume { :begin_inline_node8 } true;havoc node8_#t~ite11#1, node8_~m8~0#1;havoc node8_~m8~0#1;node8_~m8~0#1 := ~nomsg~0; 21#L268true assume 0 != ~mode8~0 % 256;node8_~m8~0#1 := ~p7_old~0;~p7_old~0 := ~nomsg~0; 33#L271true assume !(node8_~m8~0#1 != ~nomsg~0); 22#L271-1true ~mode8~0 := 0; 116#L268-2true assume { :end_inline_node8 } true;~p1_old~0 := ~p1_new~0;~p1_new~0 := ~nomsg~0;~p2_old~0 := ~p2_new~0;~p2_new~0 := ~nomsg~0;~p3_old~0 := ~p3_new~0;~p3_new~0 := ~nomsg~0;~p4_old~0 := ~p4_new~0;~p4_new~0 := ~nomsg~0;~p5_old~0 := ~p5_new~0;~p5_new~0 := ~nomsg~0;~p6_old~0 := ~p6_new~0;~p6_new~0 := ~nomsg~0;~p7_old~0 := ~p7_new~0;~p7_new~0 := ~nomsg~0;~p8_old~0 := ~p8_new~0;~p8_new~0 := ~nomsg~0;assume { :begin_inline_check } true;havoc check_#res#1;havoc check_~tmp~1#1;havoc check_~tmp~1#1; 68#L548true assume !(~st1~0 + ~st2~0 + ~st3~0 + ~st4~0 + ~st5~0 + ~st6~0 + ~st7~0 + ~st8~0 <= 1);check_~tmp~1#1 := 0; 125#L548-1true check_#res#1 := check_~tmp~1#1; 147#L568true main_#t~ret46#1 := check_#res#1;assume { :end_inline_check } true;main_~c1~0#1 := main_#t~ret46#1;havoc main_#t~ret46#1;assume { :begin_inline_assert } true;assert_#in~arg#1 := (if 0 == main_~c1~0#1 then 0 else 1);havoc assert_~arg#1;assert_~arg#1 := assert_#in~arg#1; 128#L669true assume !(0 == assert_~arg#1 % 256); 41#L664true assume { :end_inline_assert } true;main_#t~post47#1 := main_~i2~0#1;main_~i2~0#1 := 1 + main_#t~post47#1;havoc main_#t~post47#1; 52#L630-2true [2021-12-15 17:23:13,153 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-12-15 17:23:13,153 INFO L85 PathProgramCache]: Analyzing trace with hash -2144605008, now seen corresponding path program 1 times [2021-12-15 17:23:13,158 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2021-12-15 17:23:13,159 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [359995953] [2021-12-15 17:23:13,159 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-12-15 17:23:13,160 INFO L126 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2021-12-15 17:23:13,281 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-12-15 17:23:13,402 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-12-15 17:23:13,403 INFO L139 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2021-12-15 17:23:13,404 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [359995953] [2021-12-15 17:23:13,404 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [359995953] provided 1 perfect and 0 imperfect interpolant sequences [2021-12-15 17:23:13,405 INFO L186 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2021-12-15 17:23:13,405 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2021-12-15 17:23:13,407 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [19894268] [2021-12-15 17:23:13,407 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2021-12-15 17:23:13,411 INFO L796 eck$LassoCheckResult]: stem already infeasible [2021-12-15 17:23:13,412 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-12-15 17:23:13,413 INFO L85 PathProgramCache]: Analyzing trace with hash 488446507, now seen corresponding path program 1 times [2021-12-15 17:23:13,413 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2021-12-15 17:23:13,413 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [148781994] [2021-12-15 17:23:13,413 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-12-15 17:23:13,414 INFO L126 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2021-12-15 17:23:13,461 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-12-15 17:23:13,567 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-12-15 17:23:13,567 INFO L139 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2021-12-15 17:23:13,567 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [148781994] [2021-12-15 17:23:13,567 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [148781994] provided 1 perfect and 0 imperfect interpolant sequences [2021-12-15 17:23:13,568 INFO L186 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2021-12-15 17:23:13,568 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2021-12-15 17:23:13,568 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1850577046] [2021-12-15 17:23:13,568 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2021-12-15 17:23:13,569 INFO L808 eck$LassoCheckResult]: loop already infeasible [2021-12-15 17:23:13,570 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2021-12-15 17:23:13,593 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2021-12-15 17:23:13,593 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2021-12-15 17:23:13,596 INFO L87 Difference]: Start difference. First operand has 146 states, 145 states have (on average 1.7586206896551724) internal successors, (255), 145 states have internal predecessors, (255), 0 states have call successors, (0), 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 5 states, 5 states have (on average 1.4) internal successors, (7), 5 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-12-15 17:23:13,717 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-12-15 17:23:13,717 INFO L93 Difference]: Finished difference Result 149 states and 254 transitions. [2021-12-15 17:23:13,723 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2021-12-15 17:23:13,728 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 149 states and 254 transitions. [2021-12-15 17:23:13,737 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 74 [2021-12-15 17:23:13,741 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 149 states to 141 states and 186 transitions. [2021-12-15 17:23:13,742 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 141 [2021-12-15 17:23:13,743 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 141 [2021-12-15 17:23:13,743 INFO L73 IsDeterministic]: Start isDeterministic. Operand 141 states and 186 transitions. [2021-12-15 17:23:13,744 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2021-12-15 17:23:13,744 INFO L681 BuchiCegarLoop]: Abstraction has 141 states and 186 transitions. [2021-12-15 17:23:13,760 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 141 states and 186 transitions. [2021-12-15 17:23:13,776 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 141 to 141. [2021-12-15 17:23:13,778 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 141 states, 141 states have (on average 1.3191489361702127) internal successors, (186), 140 states have internal predecessors, (186), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-12-15 17:23:13,782 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 141 states to 141 states and 186 transitions. [2021-12-15 17:23:13,783 INFO L704 BuchiCegarLoop]: Abstraction has 141 states and 186 transitions. [2021-12-15 17:23:13,783 INFO L587 BuchiCegarLoop]: Abstraction has 141 states and 186 transitions. [2021-12-15 17:23:13,783 INFO L425 BuchiCegarLoop]: ======== Iteration 2============ [2021-12-15 17:23:13,783 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 141 states and 186 transitions. [2021-12-15 17:23:13,785 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 74 [2021-12-15 17:23:13,785 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2021-12-15 17:23:13,786 INFO L119 BuchiIsEmpty]: Starting construction of run [2021-12-15 17:23:13,790 INFO L842 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-12-15 17:23:13,791 INFO L843 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-12-15 17:23:13,792 INFO L791 eck$LassoCheckResult]: Stem: 452#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(33, 2);call #Ultimate.allocInit(12, 3);~nomsg~0 := -1;~r1~0 := 0;~p1~0 := 0;~p1_old~0 := 0;~p1_new~0 := 0;~id1~0 := 0;~st1~0 := 0;~send1~0 := 0;~mode1~0 := 0;~p2~0 := 0;~p2_old~0 := 0;~p2_new~0 := 0;~id2~0 := 0;~st2~0 := 0;~send2~0 := 0;~mode2~0 := 0;~p3~0 := 0;~p3_old~0 := 0;~p3_new~0 := 0;~id3~0 := 0;~st3~0 := 0;~send3~0 := 0;~mode3~0 := 0;~p4~0 := 0;~p4_old~0 := 0;~p4_new~0 := 0;~id4~0 := 0;~st4~0 := 0;~send4~0 := 0;~mode4~0 := 0;~p5~0 := 0;~p5_old~0 := 0;~p5_new~0 := 0;~id5~0 := 0;~st5~0 := 0;~send5~0 := 0;~mode5~0 := 0;~p6~0 := 0;~p6_old~0 := 0;~p6_new~0 := 0;~id6~0 := 0;~st6~0 := 0;~send6~0 := 0;~mode6~0 := 0;~p7~0 := 0;~p7_old~0 := 0;~p7_new~0 := 0;~id7~0 := 0;~st7~0 := 0;~send7~0 := 0;~mode7~0 := 0;~p8~0 := 0;~p8_old~0 := 0;~p8_new~0 := 0;~id8~0 := 0;~st8~0 := 0;~send8~0 := 0;~mode8~0 := 0;~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[0 := #funAddr~node1.base], ~nodes~0.offset[0 := #funAddr~node1.offset];~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[1 := #funAddr~node2.base], ~nodes~0.offset[1 := #funAddr~node2.offset];~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[2 := #funAddr~node3.base], ~nodes~0.offset[2 := #funAddr~node3.offset];~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[3 := #funAddr~node4.base], ~nodes~0.offset[3 := #funAddr~node4.offset];~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[4 := #funAddr~node5.base], ~nodes~0.offset[4 := #funAddr~node5.offset];~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[5 := #funAddr~node6.base], ~nodes~0.offset[5 := #funAddr~node6.offset];~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[6 := #funAddr~node7.base], ~nodes~0.offset[6 := #funAddr~node7.offset];~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[7 := #funAddr~node8.base], ~nodes~0.offset[7 := #funAddr~node8.offset]; 379#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet12#1, main_#t~nondet13#1, main_#t~nondet14#1, main_#t~nondet15#1, main_#t~nondet16#1, main_#t~nondet17#1, main_#t~nondet18#1, main_#t~nondet19#1, main_#t~nondet20#1, main_#t~nondet21#1, main_#t~nondet22#1, main_#t~nondet23#1, main_#t~nondet24#1, main_#t~nondet25#1, main_#t~nondet26#1, main_#t~nondet27#1, main_#t~nondet28#1, main_#t~nondet29#1, main_#t~nondet30#1, main_#t~nondet31#1, main_#t~nondet32#1, main_#t~nondet33#1, main_#t~nondet34#1, main_#t~nondet35#1, main_#t~nondet36#1, main_#t~nondet37#1, main_#t~nondet38#1, main_#t~nondet39#1, main_#t~nondet40#1, main_#t~nondet41#1, main_#t~nondet42#1, main_#t~nondet43#1, main_#t~nondet44#1, main_#t~ret45#1, main_#t~ret46#1, main_#t~post47#1, main_~c1~0#1, main_~i2~0#1;havoc main_~c1~0#1;havoc main_~i2~0#1;main_~c1~0#1 := 0;~r1~0 := main_#t~nondet12#1;havoc main_#t~nondet12#1;~id1~0 := main_#t~nondet13#1;havoc main_#t~nondet13#1;~st1~0 := main_#t~nondet14#1;havoc main_#t~nondet14#1;~send1~0 := main_#t~nondet15#1;havoc main_#t~nondet15#1;~mode1~0 := main_#t~nondet16#1;havoc main_#t~nondet16#1;~id2~0 := main_#t~nondet17#1;havoc main_#t~nondet17#1;~st2~0 := main_#t~nondet18#1;havoc main_#t~nondet18#1;~send2~0 := main_#t~nondet19#1;havoc main_#t~nondet19#1;~mode2~0 := main_#t~nondet20#1;havoc main_#t~nondet20#1;~id3~0 := main_#t~nondet21#1;havoc main_#t~nondet21#1;~st3~0 := main_#t~nondet22#1;havoc main_#t~nondet22#1;~send3~0 := main_#t~nondet23#1;havoc main_#t~nondet23#1;~mode3~0 := main_#t~nondet24#1;havoc main_#t~nondet24#1;~id4~0 := main_#t~nondet25#1;havoc main_#t~nondet25#1;~st4~0 := main_#t~nondet26#1;havoc main_#t~nondet26#1;~send4~0 := main_#t~nondet27#1;havoc main_#t~nondet27#1;~mode4~0 := main_#t~nondet28#1;havoc main_#t~nondet28#1;~id5~0 := main_#t~nondet29#1;havoc main_#t~nondet29#1;~st5~0 := main_#t~nondet30#1;havoc main_#t~nondet30#1;~send5~0 := main_#t~nondet31#1;havoc main_#t~nondet31#1;~mode5~0 := main_#t~nondet32#1;havoc main_#t~nondet32#1;~id6~0 := main_#t~nondet33#1;havoc main_#t~nondet33#1;~st6~0 := main_#t~nondet34#1;havoc main_#t~nondet34#1;~send6~0 := main_#t~nondet35#1;havoc main_#t~nondet35#1;~mode6~0 := main_#t~nondet36#1;havoc main_#t~nondet36#1;~id7~0 := main_#t~nondet37#1;havoc main_#t~nondet37#1;~st7~0 := main_#t~nondet38#1;havoc main_#t~nondet38#1;~send7~0 := main_#t~nondet39#1;havoc main_#t~nondet39#1;~mode7~0 := main_#t~nondet40#1;havoc main_#t~nondet40#1;~id8~0 := main_#t~nondet41#1;havoc main_#t~nondet41#1;~st8~0 := main_#t~nondet42#1;havoc main_#t~nondet42#1;~send8~0 := main_#t~nondet43#1;havoc main_#t~nondet43#1;~mode8~0 := main_#t~nondet44#1;havoc main_#t~nondet44#1;assume { :begin_inline_init } true;havoc init_#res#1;havoc init_~tmp~0#1;havoc init_~tmp~0#1; 324#L295 assume 0 == ~r1~0; 325#L296 assume ~id1~0 >= 0; 363#L297 assume 0 == ~st1~0; 358#L298 assume ~send1~0 == ~id1~0; 359#L299 assume 0 == ~mode1~0 % 256; 374#L300 assume ~id2~0 >= 0; 422#L301 assume 0 == ~st2~0; 432#L302 assume ~send2~0 == ~id2~0; 433#L303 assume 0 == ~mode2~0 % 256; 443#L304 assume ~id3~0 >= 0; 413#L305 assume 0 == ~st3~0; 414#L306 assume ~send3~0 == ~id3~0; 429#L307 assume 0 == ~mode3~0 % 256; 330#L308 assume ~id4~0 >= 0; 331#L309 assume 0 == ~st4~0; 425#L310 assume ~send4~0 == ~id4~0; 397#L311 assume 0 == ~mode4~0 % 256; 398#L312 assume ~id5~0 >= 0; 349#L313 assume 0 == ~st5~0; 350#L314 assume ~send5~0 == ~id5~0; 390#L315 assume 0 == ~mode5~0 % 256; 391#L316 assume ~id6~0 >= 0; 319#L317 assume 0 == ~st6~0; 320#L318 assume ~send6~0 == ~id6~0; 453#L319 assume 0 == ~mode6~0 % 256; 431#L320 assume ~id7~0 >= 0; 420#L321 assume 0 == ~st7~0; 421#L322 assume ~send7~0 == ~id7~0; 317#L323 assume 0 == ~mode7~0 % 256; 318#L324 assume ~id8~0 >= 0; 338#L325 assume 0 == ~st8~0; 357#L326 assume ~send8~0 == ~id8~0; 340#L327 assume 0 == ~mode8~0 % 256; 341#L328 assume ~id1~0 != ~id2~0; 367#L329 assume ~id1~0 != ~id3~0; 368#L330 assume ~id1~0 != ~id4~0; 328#L331 assume ~id1~0 != ~id5~0; 329#L332 assume ~id1~0 != ~id6~0; 356#L333 assume ~id1~0 != ~id7~0; 364#L334 assume ~id1~0 != ~id8~0; 347#L335 assume ~id2~0 != ~id3~0; 348#L336 assume ~id2~0 != ~id4~0; 428#L337 assume ~id2~0 != ~id5~0; 404#L338 assume ~id2~0 != ~id6~0; 405#L339 assume ~id2~0 != ~id7~0; 445#L340 assume ~id2~0 != ~id8~0; 440#L341 assume ~id3~0 != ~id4~0; 369#L342 assume ~id3~0 != ~id5~0; 370#L343 assume ~id3~0 != ~id6~0; 360#L344 assume ~id3~0 != ~id7~0; 361#L345 assume ~id3~0 != ~id8~0; 392#L346 assume ~id4~0 != ~id5~0; 393#L347 assume ~id4~0 != ~id6~0; 451#L348 assume ~id4~0 != ~id7~0; 435#L349 assume ~id4~0 != ~id8~0; 436#L350 assume ~id5~0 != ~id6~0; 423#L351 assume ~id5~0 != ~id7~0; 424#L352 assume ~id5~0 != ~id8~0; 441#L353 assume ~id6~0 != ~id7~0; 411#L354 assume ~id6~0 != ~id8~0; 371#L355 assume ~id7~0 != ~id8~0;init_~tmp~0#1 := 1; 372#L295-1 init_#res#1 := init_~tmp~0#1; 351#L540 main_#t~ret45#1 := init_#res#1;assume { :end_inline_init } true;main_~i2~0#1 := main_#t~ret45#1;havoc main_#t~ret45#1;assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := main_~i2~0#1;havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; 352#L22 assume !(0 == assume_abort_if_not_~cond#1); 386#L21 assume { :end_inline_assume_abort_if_not } true;~p1_old~0 := ~nomsg~0;~p1_new~0 := ~nomsg~0;~p2_old~0 := ~nomsg~0;~p2_new~0 := ~nomsg~0;~p3_old~0 := ~nomsg~0;~p3_new~0 := ~nomsg~0;~p4_old~0 := ~nomsg~0;~p4_new~0 := ~nomsg~0;~p5_old~0 := ~nomsg~0;~p5_new~0 := ~nomsg~0;~p6_old~0 := ~nomsg~0;~p6_new~0 := ~nomsg~0;~p7_old~0 := ~nomsg~0;~p7_new~0 := ~nomsg~0;~p8_old~0 := ~nomsg~0;~p8_new~0 := ~nomsg~0;main_~i2~0#1 := 0; 376#L630-2 [2021-12-15 17:23:13,793 INFO L793 eck$LassoCheckResult]: Loop: 376#L630-2 assume !!(main_~i2~0#1 < 16);assume { :begin_inline_node1 } true;havoc node1_#t~ite4#1, node1_~m1~0#1;havoc node1_~m1~0#1;node1_~m1~0#1 := ~nomsg~0; 394#L92 assume 0 != ~mode1~0 % 256;~r1~0 := (if (1 + ~r1~0) % 256 <= 127 then (1 + ~r1~0) % 256 else (1 + ~r1~0) % 256 - 256);node1_~m1~0#1 := ~p8_old~0;~p8_old~0 := ~nomsg~0; 449#L96 assume !(node1_~m1~0#1 != ~nomsg~0); 408#L96-1 ~mode1~0 := 0; 403#L92-2 assume { :end_inline_node1 } true;assume { :begin_inline_node2 } true;havoc node2_#t~ite5#1, node2_~m2~0#1;havoc node2_~m2~0#1;node2_~m2~0#1 := ~nomsg~0; 415#L118 assume 0 != ~mode2~0 % 256;node2_~m2~0#1 := ~p1_old~0;~p1_old~0 := ~nomsg~0; 353#L121 assume !(node2_~m2~0#1 != ~nomsg~0); 354#L121-1 ~mode2~0 := 0; 409#L118-2 assume { :end_inline_node2 } true;assume { :begin_inline_node3 } true;havoc node3_#t~ite6#1, node3_~m3~0#1;havoc node3_~m3~0#1;node3_~m3~0#1 := ~nomsg~0; 410#L143 assume 0 != ~mode3~0 % 256;node3_~m3~0#1 := ~p2_old~0;~p2_old~0 := ~nomsg~0; 437#L146 assume !(node3_~m3~0#1 != ~nomsg~0); 342#L146-1 ~mode3~0 := 0; 332#L143-2 assume { :end_inline_node3 } true;assume { :begin_inline_node4 } true;havoc node4_#t~ite7#1, node4_~m4~0#1;havoc node4_~m4~0#1;node4_~m4~0#1 := ~nomsg~0; 321#L168 assume 0 != ~mode4~0 % 256;node4_~m4~0#1 := ~p3_old~0;~p3_old~0 := ~nomsg~0; 322#L171 assume !(node4_~m4~0#1 != ~nomsg~0); 314#L171-1 ~mode4~0 := 0; 326#L168-2 assume { :end_inline_node4 } true;assume { :begin_inline_node5 } true;havoc node5_#t~ite8#1, node5_~m5~0#1;havoc node5_~m5~0#1;node5_~m5~0#1 := ~nomsg~0; 327#L193 assume 0 != ~mode5~0 % 256;node5_~m5~0#1 := ~p4_old~0;~p4_old~0 := ~nomsg~0; 406#L196 assume !(node5_~m5~0#1 != ~nomsg~0); 416#L196-1 ~mode5~0 := 0; 400#L193-2 assume { :end_inline_node5 } true;assume { :begin_inline_node6 } true;havoc node6_#t~ite9#1, node6_~m6~0#1;havoc node6_~m6~0#1;node6_~m6~0#1 := ~nomsg~0; 380#L218 assume 0 != ~mode6~0 % 256;node6_~m6~0#1 := ~p5_old~0;~p5_old~0 := ~nomsg~0; 381#L221 assume !(node6_~m6~0#1 != ~nomsg~0); 378#L221-1 ~mode6~0 := 0; 316#L218-2 assume { :end_inline_node6 } true;assume { :begin_inline_node7 } true;havoc node7_#t~ite10#1, node7_~m7~0#1;havoc node7_~m7~0#1;node7_~m7~0#1 := ~nomsg~0; 335#L243 assume !(0 != ~mode7~0 % 256); 401#L256 assume ~send7~0 != ~nomsg~0 && ~p7_new~0 == ~nomsg~0;node7_#t~ite10#1 := ~send7~0; 333#L256-2 ~p7_new~0 := (if node7_#t~ite10#1 % 256 <= 127 then node7_#t~ite10#1 % 256 else node7_#t~ite10#1 % 256 - 256);havoc node7_#t~ite10#1;~mode7~0 := 1; 334#L243-2 assume { :end_inline_node7 } true;assume { :begin_inline_node8 } true;havoc node8_#t~ite11#1, node8_~m8~0#1;havoc node8_~m8~0#1;node8_~m8~0#1 := ~nomsg~0; 343#L268 assume !(0 != ~mode8~0 % 256); 336#L281 assume ~send8~0 != ~nomsg~0 && ~p8_new~0 == ~nomsg~0;node8_#t~ite11#1 := ~send8~0; 337#L281-2 ~p8_new~0 := (if node8_#t~ite11#1 % 256 <= 127 then node8_#t~ite11#1 % 256 else node8_#t~ite11#1 % 256 - 256);havoc node8_#t~ite11#1;~mode8~0 := 1; 346#L268-2 assume { :end_inline_node8 } true;~p1_old~0 := ~p1_new~0;~p1_new~0 := ~nomsg~0;~p2_old~0 := ~p2_new~0;~p2_new~0 := ~nomsg~0;~p3_old~0 := ~p3_new~0;~p3_new~0 := ~nomsg~0;~p4_old~0 := ~p4_new~0;~p4_new~0 := ~nomsg~0;~p5_old~0 := ~p5_new~0;~p5_new~0 := ~nomsg~0;~p6_old~0 := ~p6_new~0;~p6_new~0 := ~nomsg~0;~p7_old~0 := ~p7_new~0;~p7_new~0 := ~nomsg~0;~p8_old~0 := ~p8_new~0;~p8_new~0 := ~nomsg~0;assume { :begin_inline_check } true;havoc check_#res#1;havoc check_~tmp~1#1;havoc check_~tmp~1#1; 412#L548 assume !(~st1~0 + ~st2~0 + ~st3~0 + ~st4~0 + ~st5~0 + ~st6~0 + ~st7~0 + ~st8~0 <= 1);check_~tmp~1#1 := 0; 384#L548-1 check_#res#1 := check_~tmp~1#1; 447#L568 main_#t~ret46#1 := check_#res#1;assume { :end_inline_check } true;main_~c1~0#1 := main_#t~ret46#1;havoc main_#t~ret46#1;assume { :begin_inline_assert } true;assert_#in~arg#1 := (if 0 == main_~c1~0#1 then 0 else 1);havoc assert_~arg#1;assert_~arg#1 := assert_#in~arg#1; 448#L669 assume !(0 == assert_~arg#1 % 256); 375#L664 assume { :end_inline_assert } true;main_#t~post47#1 := main_~i2~0#1;main_~i2~0#1 := 1 + main_#t~post47#1;havoc main_#t~post47#1; 376#L630-2 [2021-12-15 17:23:13,794 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-12-15 17:23:13,794 INFO L85 PathProgramCache]: Analyzing trace with hash 354076320, now seen corresponding path program 1 times [2021-12-15 17:23:13,807 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2021-12-15 17:23:13,807 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1637987793] [2021-12-15 17:23:13,807 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-12-15 17:23:13,808 INFO L126 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2021-12-15 17:23:13,857 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2021-12-15 17:23:13,858 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2021-12-15 17:23:13,887 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2021-12-15 17:23:13,929 INFO L133 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2021-12-15 17:23:13,930 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-12-15 17:23:13,930 INFO L85 PathProgramCache]: Analyzing trace with hash 1035007925, now seen corresponding path program 1 times [2021-12-15 17:23:13,930 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2021-12-15 17:23:13,930 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1160541466] [2021-12-15 17:23:13,931 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-12-15 17:23:13,931 INFO L126 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2021-12-15 17:23:13,967 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-12-15 17:23:14,029 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-12-15 17:23:14,033 INFO L139 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2021-12-15 17:23:14,033 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1160541466] [2021-12-15 17:23:14,034 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1160541466] provided 1 perfect and 0 imperfect interpolant sequences [2021-12-15 17:23:14,034 INFO L186 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2021-12-15 17:23:14,034 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2021-12-15 17:23:14,035 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [173811434] [2021-12-15 17:23:14,035 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2021-12-15 17:23:14,035 INFO L808 eck$LassoCheckResult]: loop already infeasible [2021-12-15 17:23:14,035 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2021-12-15 17:23:14,036 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2021-12-15 17:23:14,037 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2021-12-15 17:23:14,037 INFO L87 Difference]: Start difference. First operand 141 states and 186 transitions. cyclomatic complexity: 46 Second operand has 5 states, 5 states have (on average 7.6) internal successors, (38), 5 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) [2021-12-15 17:23:14,086 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-12-15 17:23:14,087 INFO L93 Difference]: Finished difference Result 144 states and 188 transitions. [2021-12-15 17:23:14,087 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2021-12-15 17:23:14,088 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 144 states and 188 transitions. [2021-12-15 17:23:14,089 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 74 [2021-12-15 17:23:14,091 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 144 states to 141 states and 183 transitions. [2021-12-15 17:23:14,092 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 141 [2021-12-15 17:23:14,092 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 141 [2021-12-15 17:23:14,092 INFO L73 IsDeterministic]: Start isDeterministic. Operand 141 states and 183 transitions. [2021-12-15 17:23:14,103 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2021-12-15 17:23:14,103 INFO L681 BuchiCegarLoop]: Abstraction has 141 states and 183 transitions. [2021-12-15 17:23:14,103 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 141 states and 183 transitions. [2021-12-15 17:23:14,106 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 141 to 141. [2021-12-15 17:23:14,108 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 141 states, 141 states have (on average 1.297872340425532) internal successors, (183), 140 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) [2021-12-15 17:23:14,109 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 141 states to 141 states and 183 transitions. [2021-12-15 17:23:14,109 INFO L704 BuchiCegarLoop]: Abstraction has 141 states and 183 transitions. [2021-12-15 17:23:14,109 INFO L587 BuchiCegarLoop]: Abstraction has 141 states and 183 transitions. [2021-12-15 17:23:14,109 INFO L425 BuchiCegarLoop]: ======== Iteration 3============ [2021-12-15 17:23:14,109 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 141 states and 183 transitions. [2021-12-15 17:23:14,111 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 74 [2021-12-15 17:23:14,111 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2021-12-15 17:23:14,111 INFO L119 BuchiIsEmpty]: Starting construction of run [2021-12-15 17:23:14,115 INFO L842 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-12-15 17:23:14,117 INFO L843 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-12-15 17:23:14,117 INFO L791 eck$LassoCheckResult]: Stem: 749#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(33, 2);call #Ultimate.allocInit(12, 3);~nomsg~0 := -1;~r1~0 := 0;~p1~0 := 0;~p1_old~0 := 0;~p1_new~0 := 0;~id1~0 := 0;~st1~0 := 0;~send1~0 := 0;~mode1~0 := 0;~p2~0 := 0;~p2_old~0 := 0;~p2_new~0 := 0;~id2~0 := 0;~st2~0 := 0;~send2~0 := 0;~mode2~0 := 0;~p3~0 := 0;~p3_old~0 := 0;~p3_new~0 := 0;~id3~0 := 0;~st3~0 := 0;~send3~0 := 0;~mode3~0 := 0;~p4~0 := 0;~p4_old~0 := 0;~p4_new~0 := 0;~id4~0 := 0;~st4~0 := 0;~send4~0 := 0;~mode4~0 := 0;~p5~0 := 0;~p5_old~0 := 0;~p5_new~0 := 0;~id5~0 := 0;~st5~0 := 0;~send5~0 := 0;~mode5~0 := 0;~p6~0 := 0;~p6_old~0 := 0;~p6_new~0 := 0;~id6~0 := 0;~st6~0 := 0;~send6~0 := 0;~mode6~0 := 0;~p7~0 := 0;~p7_old~0 := 0;~p7_new~0 := 0;~id7~0 := 0;~st7~0 := 0;~send7~0 := 0;~mode7~0 := 0;~p8~0 := 0;~p8_old~0 := 0;~p8_new~0 := 0;~id8~0 := 0;~st8~0 := 0;~send8~0 := 0;~mode8~0 := 0;~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[0 := #funAddr~node1.base], ~nodes~0.offset[0 := #funAddr~node1.offset];~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[1 := #funAddr~node2.base], ~nodes~0.offset[1 := #funAddr~node2.offset];~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[2 := #funAddr~node3.base], ~nodes~0.offset[2 := #funAddr~node3.offset];~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[3 := #funAddr~node4.base], ~nodes~0.offset[3 := #funAddr~node4.offset];~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[4 := #funAddr~node5.base], ~nodes~0.offset[4 := #funAddr~node5.offset];~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[5 := #funAddr~node6.base], ~nodes~0.offset[5 := #funAddr~node6.offset];~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[6 := #funAddr~node7.base], ~nodes~0.offset[6 := #funAddr~node7.offset];~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[7 := #funAddr~node8.base], ~nodes~0.offset[7 := #funAddr~node8.offset]; 676#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet12#1, main_#t~nondet13#1, main_#t~nondet14#1, main_#t~nondet15#1, main_#t~nondet16#1, main_#t~nondet17#1, main_#t~nondet18#1, main_#t~nondet19#1, main_#t~nondet20#1, main_#t~nondet21#1, main_#t~nondet22#1, main_#t~nondet23#1, main_#t~nondet24#1, main_#t~nondet25#1, main_#t~nondet26#1, main_#t~nondet27#1, main_#t~nondet28#1, main_#t~nondet29#1, main_#t~nondet30#1, main_#t~nondet31#1, main_#t~nondet32#1, main_#t~nondet33#1, main_#t~nondet34#1, main_#t~nondet35#1, main_#t~nondet36#1, main_#t~nondet37#1, main_#t~nondet38#1, main_#t~nondet39#1, main_#t~nondet40#1, main_#t~nondet41#1, main_#t~nondet42#1, main_#t~nondet43#1, main_#t~nondet44#1, main_#t~ret45#1, main_#t~ret46#1, main_#t~post47#1, main_~c1~0#1, main_~i2~0#1;havoc main_~c1~0#1;havoc main_~i2~0#1;main_~c1~0#1 := 0;~r1~0 := main_#t~nondet12#1;havoc main_#t~nondet12#1;~id1~0 := main_#t~nondet13#1;havoc main_#t~nondet13#1;~st1~0 := main_#t~nondet14#1;havoc main_#t~nondet14#1;~send1~0 := main_#t~nondet15#1;havoc main_#t~nondet15#1;~mode1~0 := main_#t~nondet16#1;havoc main_#t~nondet16#1;~id2~0 := main_#t~nondet17#1;havoc main_#t~nondet17#1;~st2~0 := main_#t~nondet18#1;havoc main_#t~nondet18#1;~send2~0 := main_#t~nondet19#1;havoc main_#t~nondet19#1;~mode2~0 := main_#t~nondet20#1;havoc main_#t~nondet20#1;~id3~0 := main_#t~nondet21#1;havoc main_#t~nondet21#1;~st3~0 := main_#t~nondet22#1;havoc main_#t~nondet22#1;~send3~0 := main_#t~nondet23#1;havoc main_#t~nondet23#1;~mode3~0 := main_#t~nondet24#1;havoc main_#t~nondet24#1;~id4~0 := main_#t~nondet25#1;havoc main_#t~nondet25#1;~st4~0 := main_#t~nondet26#1;havoc main_#t~nondet26#1;~send4~0 := main_#t~nondet27#1;havoc main_#t~nondet27#1;~mode4~0 := main_#t~nondet28#1;havoc main_#t~nondet28#1;~id5~0 := main_#t~nondet29#1;havoc main_#t~nondet29#1;~st5~0 := main_#t~nondet30#1;havoc main_#t~nondet30#1;~send5~0 := main_#t~nondet31#1;havoc main_#t~nondet31#1;~mode5~0 := main_#t~nondet32#1;havoc main_#t~nondet32#1;~id6~0 := main_#t~nondet33#1;havoc main_#t~nondet33#1;~st6~0 := main_#t~nondet34#1;havoc main_#t~nondet34#1;~send6~0 := main_#t~nondet35#1;havoc main_#t~nondet35#1;~mode6~0 := main_#t~nondet36#1;havoc main_#t~nondet36#1;~id7~0 := main_#t~nondet37#1;havoc main_#t~nondet37#1;~st7~0 := main_#t~nondet38#1;havoc main_#t~nondet38#1;~send7~0 := main_#t~nondet39#1;havoc main_#t~nondet39#1;~mode7~0 := main_#t~nondet40#1;havoc main_#t~nondet40#1;~id8~0 := main_#t~nondet41#1;havoc main_#t~nondet41#1;~st8~0 := main_#t~nondet42#1;havoc main_#t~nondet42#1;~send8~0 := main_#t~nondet43#1;havoc main_#t~nondet43#1;~mode8~0 := main_#t~nondet44#1;havoc main_#t~nondet44#1;assume { :begin_inline_init } true;havoc init_#res#1;havoc init_~tmp~0#1;havoc init_~tmp~0#1; 621#L295 assume 0 == ~r1~0; 622#L296 assume ~id1~0 >= 0; 660#L297 assume 0 == ~st1~0; 657#L298 assume ~send1~0 == ~id1~0; 658#L299 assume 0 == ~mode1~0 % 256; 671#L300 assume ~id2~0 >= 0; 718#L301 assume 0 == ~st2~0; 729#L302 assume ~send2~0 == ~id2~0; 730#L303 assume 0 == ~mode2~0 % 256; 740#L304 assume ~id3~0 >= 0; 710#L305 assume 0 == ~st3~0; 711#L306 assume ~send3~0 == ~id3~0; 725#L307 assume 0 == ~mode3~0 % 256; 627#L308 assume ~id4~0 >= 0; 628#L309 assume 0 == ~st4~0; 721#L310 assume ~send4~0 == ~id4~0; 694#L311 assume 0 == ~mode4~0 % 256; 695#L312 assume ~id5~0 >= 0; 646#L313 assume 0 == ~st5~0; 647#L314 assume ~send5~0 == ~id5~0; 686#L315 assume 0 == ~mode5~0 % 256; 687#L316 assume ~id6~0 >= 0; 616#L317 assume 0 == ~st6~0; 617#L318 assume ~send6~0 == ~id6~0; 750#L319 assume 0 == ~mode6~0 % 256; 728#L320 assume ~id7~0 >= 0; 716#L321 assume 0 == ~st7~0; 717#L322 assume ~send7~0 == ~id7~0; 614#L323 assume 0 == ~mode7~0 % 256; 615#L324 assume ~id8~0 >= 0; 635#L325 assume 0 == ~st8~0; 654#L326 assume ~send8~0 == ~id8~0; 637#L327 assume 0 == ~mode8~0 % 256; 638#L328 assume ~id1~0 != ~id2~0; 664#L329 assume ~id1~0 != ~id3~0; 665#L330 assume ~id1~0 != ~id4~0; 625#L331 assume ~id1~0 != ~id5~0; 626#L332 assume ~id1~0 != ~id6~0; 653#L333 assume ~id1~0 != ~id7~0; 661#L334 assume ~id1~0 != ~id8~0; 644#L335 assume ~id2~0 != ~id3~0; 645#L336 assume ~id2~0 != ~id4~0; 724#L337 assume ~id2~0 != ~id5~0; 700#L338 assume ~id2~0 != ~id6~0; 701#L339 assume ~id2~0 != ~id7~0; 742#L340 assume ~id2~0 != ~id8~0; 737#L341 assume ~id3~0 != ~id4~0; 666#L342 assume ~id3~0 != ~id5~0; 667#L343 assume ~id3~0 != ~id6~0; 655#L344 assume ~id3~0 != ~id7~0; 656#L345 assume ~id3~0 != ~id8~0; 688#L346 assume ~id4~0 != ~id5~0; 689#L347 assume ~id4~0 != ~id6~0; 748#L348 assume ~id4~0 != ~id7~0; 732#L349 assume ~id4~0 != ~id8~0; 733#L350 assume ~id5~0 != ~id6~0; 719#L351 assume ~id5~0 != ~id7~0; 720#L352 assume ~id5~0 != ~id8~0; 738#L353 assume ~id6~0 != ~id7~0; 707#L354 assume ~id6~0 != ~id8~0; 668#L355 assume ~id7~0 != ~id8~0;init_~tmp~0#1 := 1; 669#L295-1 init_#res#1 := init_~tmp~0#1; 648#L540 main_#t~ret45#1 := init_#res#1;assume { :end_inline_init } true;main_~i2~0#1 := main_#t~ret45#1;havoc main_#t~ret45#1;assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := main_~i2~0#1;havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; 649#L22 assume !(0 == assume_abort_if_not_~cond#1); 682#L21 assume { :end_inline_assume_abort_if_not } true;~p1_old~0 := ~nomsg~0;~p1_new~0 := ~nomsg~0;~p2_old~0 := ~nomsg~0;~p2_new~0 := ~nomsg~0;~p3_old~0 := ~nomsg~0;~p3_new~0 := ~nomsg~0;~p4_old~0 := ~nomsg~0;~p4_new~0 := ~nomsg~0;~p5_old~0 := ~nomsg~0;~p5_new~0 := ~nomsg~0;~p6_old~0 := ~nomsg~0;~p6_new~0 := ~nomsg~0;~p7_old~0 := ~nomsg~0;~p7_new~0 := ~nomsg~0;~p8_old~0 := ~nomsg~0;~p8_new~0 := ~nomsg~0;main_~i2~0#1 := 0; 673#L630-2 [2021-12-15 17:23:14,118 INFO L793 eck$LassoCheckResult]: Loop: 673#L630-2 assume !!(main_~i2~0#1 < 16);assume { :begin_inline_node1 } true;havoc node1_#t~ite4#1, node1_~m1~0#1;havoc node1_~m1~0#1;node1_~m1~0#1 := ~nomsg~0; 690#L92 assume 0 != ~mode1~0 % 256;~r1~0 := (if (1 + ~r1~0) % 256 <= 127 then (1 + ~r1~0) % 256 else (1 + ~r1~0) % 256 - 256);node1_~m1~0#1 := ~p8_old~0;~p8_old~0 := ~nomsg~0; 746#L96 assume !(node1_~m1~0#1 != ~nomsg~0); 703#L96-1 ~mode1~0 := 0; 698#L92-2 assume { :end_inline_node1 } true;assume { :begin_inline_node2 } true;havoc node2_#t~ite5#1, node2_~m2~0#1;havoc node2_~m2~0#1;node2_~m2~0#1 := ~nomsg~0; 709#L118 assume 0 != ~mode2~0 % 256;node2_~m2~0#1 := ~p1_old~0;~p1_old~0 := ~nomsg~0; 650#L121 assume !(node2_~m2~0#1 != ~nomsg~0); 651#L121-1 ~mode2~0 := 0; 704#L118-2 assume { :end_inline_node2 } true;assume { :begin_inline_node3 } true;havoc node3_#t~ite6#1, node3_~m3~0#1;havoc node3_~m3~0#1;node3_~m3~0#1 := ~nomsg~0; 705#L143 assume !(0 != ~mode3~0 % 256); 741#L156 assume !(~send3~0 != ~nomsg~0 && ~p3_new~0 == ~nomsg~0);node3_#t~ite6#1 := ~p3_new~0; 670#L156-2 ~p3_new~0 := (if node3_#t~ite6#1 % 256 <= 127 then node3_#t~ite6#1 % 256 else node3_#t~ite6#1 % 256 - 256);havoc node3_#t~ite6#1;~mode3~0 := 1; 629#L143-2 assume { :end_inline_node3 } true;assume { :begin_inline_node4 } true;havoc node4_#t~ite7#1, node4_~m4~0#1;havoc node4_~m4~0#1;node4_~m4~0#1 := ~nomsg~0; 618#L168 assume 0 != ~mode4~0 % 256;node4_~m4~0#1 := ~p3_old~0;~p3_old~0 := ~nomsg~0; 619#L171 assume !(node4_~m4~0#1 != ~nomsg~0); 611#L171-1 ~mode4~0 := 0; 623#L168-2 assume { :end_inline_node4 } true;assume { :begin_inline_node5 } true;havoc node5_#t~ite8#1, node5_~m5~0#1;havoc node5_~m5~0#1;node5_~m5~0#1 := ~nomsg~0; 624#L193 assume 0 != ~mode5~0 % 256;node5_~m5~0#1 := ~p4_old~0;~p4_old~0 := ~nomsg~0; 706#L196 assume !(node5_~m5~0#1 != ~nomsg~0); 712#L196-1 ~mode5~0 := 0; 696#L193-2 assume { :end_inline_node5 } true;assume { :begin_inline_node6 } true;havoc node6_#t~ite9#1, node6_~m6~0#1;havoc node6_~m6~0#1;node6_~m6~0#1 := ~nomsg~0; 677#L218 assume 0 != ~mode6~0 % 256;node6_~m6~0#1 := ~p5_old~0;~p5_old~0 := ~nomsg~0; 678#L221 assume !(node6_~m6~0#1 != ~nomsg~0); 675#L221-1 ~mode6~0 := 0; 613#L218-2 assume { :end_inline_node6 } true;assume { :begin_inline_node7 } true;havoc node7_#t~ite10#1, node7_~m7~0#1;havoc node7_~m7~0#1;node7_~m7~0#1 := ~nomsg~0; 632#L243 assume 0 != ~mode7~0 % 256;node7_~m7~0#1 := ~p6_old~0;~p6_old~0 := ~nomsg~0; 714#L246 assume !(node7_~m7~0#1 != ~nomsg~0); 636#L246-1 ~mode7~0 := 0; 631#L243-2 assume { :end_inline_node7 } true;assume { :begin_inline_node8 } true;havoc node8_#t~ite11#1, node8_~m8~0#1;havoc node8_~m8~0#1;node8_~m8~0#1 := ~nomsg~0; 640#L268 assume 0 != ~mode8~0 % 256;node8_~m8~0#1 := ~p7_old~0;~p7_old~0 := ~nomsg~0; 641#L271 assume !(node8_~m8~0#1 != ~nomsg~0); 642#L271-1 ~mode8~0 := 0; 643#L268-2 assume { :end_inline_node8 } true;~p1_old~0 := ~p1_new~0;~p1_new~0 := ~nomsg~0;~p2_old~0 := ~p2_new~0;~p2_new~0 := ~nomsg~0;~p3_old~0 := ~p3_new~0;~p3_new~0 := ~nomsg~0;~p4_old~0 := ~p4_new~0;~p4_new~0 := ~nomsg~0;~p5_old~0 := ~p5_new~0;~p5_new~0 := ~nomsg~0;~p6_old~0 := ~p6_new~0;~p6_new~0 := ~nomsg~0;~p7_old~0 := ~p7_new~0;~p7_new~0 := ~nomsg~0;~p8_old~0 := ~p8_new~0;~p8_new~0 := ~nomsg~0;assume { :begin_inline_check } true;havoc check_#res#1;havoc check_~tmp~1#1;havoc check_~tmp~1#1; 708#L548 assume ~st1~0 + ~st2~0 + ~st3~0 + ~st4~0 + ~st5~0 + ~st6~0 + ~st7~0 + ~st8~0 <= 1; 692#L549 assume ~r1~0 >= 8; 681#L553 assume ~r1~0 < 8;check_~tmp~1#1 := 1; 726#L548-1 check_#res#1 := check_~tmp~1#1; 744#L568 main_#t~ret46#1 := check_#res#1;assume { :end_inline_check } true;main_~c1~0#1 := main_#t~ret46#1;havoc main_#t~ret46#1;assume { :begin_inline_assert } true;assert_#in~arg#1 := (if 0 == main_~c1~0#1 then 0 else 1);havoc assert_~arg#1;assert_~arg#1 := assert_#in~arg#1; 745#L669 assume !(0 == assert_~arg#1 % 256); 672#L664 assume { :end_inline_assert } true;main_#t~post47#1 := main_~i2~0#1;main_~i2~0#1 := 1 + main_#t~post47#1;havoc main_#t~post47#1; 673#L630-2 [2021-12-15 17:23:14,119 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-12-15 17:23:14,119 INFO L85 PathProgramCache]: Analyzing trace with hash 354076320, now seen corresponding path program 2 times [2021-12-15 17:23:14,120 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2021-12-15 17:23:14,120 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [270043900] [2021-12-15 17:23:14,120 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-12-15 17:23:14,120 INFO L126 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2021-12-15 17:23:14,154 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2021-12-15 17:23:14,160 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2021-12-15 17:23:14,174 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2021-12-15 17:23:14,188 INFO L133 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2021-12-15 17:23:14,189 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-12-15 17:23:14,189 INFO L85 PathProgramCache]: Analyzing trace with hash 1105660173, now seen corresponding path program 1 times [2021-12-15 17:23:14,189 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2021-12-15 17:23:14,189 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1994605245] [2021-12-15 17:23:14,189 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-12-15 17:23:14,189 INFO L126 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2021-12-15 17:23:14,196 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-12-15 17:23:14,209 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-12-15 17:23:14,209 INFO L139 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2021-12-15 17:23:14,209 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1994605245] [2021-12-15 17:23:14,210 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1994605245] provided 1 perfect and 0 imperfect interpolant sequences [2021-12-15 17:23:14,210 INFO L186 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2021-12-15 17:23:14,210 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2021-12-15 17:23:14,210 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1897581953] [2021-12-15 17:23:14,210 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2021-12-15 17:23:14,210 INFO L808 eck$LassoCheckResult]: loop already infeasible [2021-12-15 17:23:14,211 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2021-12-15 17:23:14,211 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2021-12-15 17:23:14,211 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2021-12-15 17:23:14,211 INFO L87 Difference]: Start difference. First operand 141 states and 183 transitions. cyclomatic complexity: 43 Second operand has 3 states, 3 states have (on average 13.333333333333334) internal successors, (40), 3 states have internal predecessors, (40), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-12-15 17:23:14,229 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2021-12-15 17:23:14,229 INFO L93 Difference]: Finished difference Result 209 states and 288 transitions. [2021-12-15 17:23:14,230 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2021-12-15 17:23:14,230 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 209 states and 288 transitions. [2021-12-15 17:23:14,232 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 142 [2021-12-15 17:23:14,233 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 209 states to 209 states and 288 transitions. [2021-12-15 17:23:14,233 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 209 [2021-12-15 17:23:14,233 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 209 [2021-12-15 17:23:14,233 INFO L73 IsDeterministic]: Start isDeterministic. Operand 209 states and 288 transitions. [2021-12-15 17:23:14,234 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2021-12-15 17:23:14,234 INFO L681 BuchiCegarLoop]: Abstraction has 209 states and 288 transitions. [2021-12-15 17:23:14,234 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 209 states and 288 transitions. [2021-12-15 17:23:14,239 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 209 to 209. [2021-12-15 17:23:14,239 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 209 states, 209 states have (on average 1.3779904306220097) internal successors, (288), 208 states have internal predecessors, (288), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-12-15 17:23:14,240 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 209 states to 209 states and 288 transitions. [2021-12-15 17:23:14,240 INFO L704 BuchiCegarLoop]: Abstraction has 209 states and 288 transitions. [2021-12-15 17:23:14,240 INFO L587 BuchiCegarLoop]: Abstraction has 209 states and 288 transitions. [2021-12-15 17:23:14,240 INFO L425 BuchiCegarLoop]: ======== Iteration 4============ [2021-12-15 17:23:14,240 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 209 states and 288 transitions. [2021-12-15 17:23:14,241 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 142 [2021-12-15 17:23:14,241 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2021-12-15 17:23:14,242 INFO L119 BuchiIsEmpty]: Starting construction of run [2021-12-15 17:23:14,242 INFO L842 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-12-15 17:23:14,242 INFO L843 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-12-15 17:23:14,243 INFO L791 eck$LassoCheckResult]: Stem: 1110#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(33, 2);call #Ultimate.allocInit(12, 3);~nomsg~0 := -1;~r1~0 := 0;~p1~0 := 0;~p1_old~0 := 0;~p1_new~0 := 0;~id1~0 := 0;~st1~0 := 0;~send1~0 := 0;~mode1~0 := 0;~p2~0 := 0;~p2_old~0 := 0;~p2_new~0 := 0;~id2~0 := 0;~st2~0 := 0;~send2~0 := 0;~mode2~0 := 0;~p3~0 := 0;~p3_old~0 := 0;~p3_new~0 := 0;~id3~0 := 0;~st3~0 := 0;~send3~0 := 0;~mode3~0 := 0;~p4~0 := 0;~p4_old~0 := 0;~p4_new~0 := 0;~id4~0 := 0;~st4~0 := 0;~send4~0 := 0;~mode4~0 := 0;~p5~0 := 0;~p5_old~0 := 0;~p5_new~0 := 0;~id5~0 := 0;~st5~0 := 0;~send5~0 := 0;~mode5~0 := 0;~p6~0 := 0;~p6_old~0 := 0;~p6_new~0 := 0;~id6~0 := 0;~st6~0 := 0;~send6~0 := 0;~mode6~0 := 0;~p7~0 := 0;~p7_old~0 := 0;~p7_new~0 := 0;~id7~0 := 0;~st7~0 := 0;~send7~0 := 0;~mode7~0 := 0;~p8~0 := 0;~p8_old~0 := 0;~p8_new~0 := 0;~id8~0 := 0;~st8~0 := 0;~send8~0 := 0;~mode8~0 := 0;~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[0 := #funAddr~node1.base], ~nodes~0.offset[0 := #funAddr~node1.offset];~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[1 := #funAddr~node2.base], ~nodes~0.offset[1 := #funAddr~node2.offset];~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[2 := #funAddr~node3.base], ~nodes~0.offset[2 := #funAddr~node3.offset];~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[3 := #funAddr~node4.base], ~nodes~0.offset[3 := #funAddr~node4.offset];~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[4 := #funAddr~node5.base], ~nodes~0.offset[4 := #funAddr~node5.offset];~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[5 := #funAddr~node6.base], ~nodes~0.offset[5 := #funAddr~node6.offset];~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[6 := #funAddr~node7.base], ~nodes~0.offset[6 := #funAddr~node7.offset];~nodes~0.base, ~nodes~0.offset := ~nodes~0.base[7 := #funAddr~node8.base], ~nodes~0.offset[7 := #funAddr~node8.offset]; 1032#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet12#1, main_#t~nondet13#1, main_#t~nondet14#1, main_#t~nondet15#1, main_#t~nondet16#1, main_#t~nondet17#1, main_#t~nondet18#1, main_#t~nondet19#1, main_#t~nondet20#1, main_#t~nondet21#1, main_#t~nondet22#1, main_#t~nondet23#1, main_#t~nondet24#1, main_#t~nondet25#1, main_#t~nondet26#1, main_#t~nondet27#1, main_#t~nondet28#1, main_#t~nondet29#1, main_#t~nondet30#1, main_#t~nondet31#1, main_#t~nondet32#1, main_#t~nondet33#1, main_#t~nondet34#1, main_#t~nondet35#1, main_#t~nondet36#1, main_#t~nondet37#1, main_#t~nondet38#1, main_#t~nondet39#1, main_#t~nondet40#1, main_#t~nondet41#1, main_#t~nondet42#1, main_#t~nondet43#1, main_#t~nondet44#1, main_#t~ret45#1, main_#t~ret46#1, main_#t~post47#1, main_~c1~0#1, main_~i2~0#1;havoc main_~c1~0#1;havoc main_~i2~0#1;main_~c1~0#1 := 0;~r1~0 := main_#t~nondet12#1;havoc main_#t~nondet12#1;~id1~0 := main_#t~nondet13#1;havoc main_#t~nondet13#1;~st1~0 := main_#t~nondet14#1;havoc main_#t~nondet14#1;~send1~0 := main_#t~nondet15#1;havoc main_#t~nondet15#1;~mode1~0 := main_#t~nondet16#1;havoc main_#t~nondet16#1;~id2~0 := main_#t~nondet17#1;havoc main_#t~nondet17#1;~st2~0 := main_#t~nondet18#1;havoc main_#t~nondet18#1;~send2~0 := main_#t~nondet19#1;havoc main_#t~nondet19#1;~mode2~0 := main_#t~nondet20#1;havoc main_#t~nondet20#1;~id3~0 := main_#t~nondet21#1;havoc main_#t~nondet21#1;~st3~0 := main_#t~nondet22#1;havoc main_#t~nondet22#1;~send3~0 := main_#t~nondet23#1;havoc main_#t~nondet23#1;~mode3~0 := main_#t~nondet24#1;havoc main_#t~nondet24#1;~id4~0 := main_#t~nondet25#1;havoc main_#t~nondet25#1;~st4~0 := main_#t~nondet26#1;havoc main_#t~nondet26#1;~send4~0 := main_#t~nondet27#1;havoc main_#t~nondet27#1;~mode4~0 := main_#t~nondet28#1;havoc main_#t~nondet28#1;~id5~0 := main_#t~nondet29#1;havoc main_#t~nondet29#1;~st5~0 := main_#t~nondet30#1;havoc main_#t~nondet30#1;~send5~0 := main_#t~nondet31#1;havoc main_#t~nondet31#1;~mode5~0 := main_#t~nondet32#1;havoc main_#t~nondet32#1;~id6~0 := main_#t~nondet33#1;havoc main_#t~nondet33#1;~st6~0 := main_#t~nondet34#1;havoc main_#t~nondet34#1;~send6~0 := main_#t~nondet35#1;havoc main_#t~nondet35#1;~mode6~0 := main_#t~nondet36#1;havoc main_#t~nondet36#1;~id7~0 := main_#t~nondet37#1;havoc main_#t~nondet37#1;~st7~0 := main_#t~nondet38#1;havoc main_#t~nondet38#1;~send7~0 := main_#t~nondet39#1;havoc main_#t~nondet39#1;~mode7~0 := main_#t~nondet40#1;havoc main_#t~nondet40#1;~id8~0 := main_#t~nondet41#1;havoc main_#t~nondet41#1;~st8~0 := main_#t~nondet42#1;havoc main_#t~nondet42#1;~send8~0 := main_#t~nondet43#1;havoc main_#t~nondet43#1;~mode8~0 := main_#t~nondet44#1;havoc main_#t~nondet44#1;assume { :begin_inline_init } true;havoc init_#res#1;havoc init_~tmp~0#1;havoc init_~tmp~0#1; 977#L295 assume 0 == ~r1~0; 978#L296 assume ~id1~0 >= 0; 1015#L297 assume 0 == ~st1~0; 1011#L298 assume ~send1~0 == ~id1~0; 1012#L299 assume 0 == ~mode1~0 % 256; 1026#L300 assume ~id2~0 >= 0; 1076#L301 assume 0 == ~st2~0; 1088#L302 assume ~send2~0 == ~id2~0; 1089#L303 assume 0 == ~mode2~0 % 256; 1099#L304 assume ~id3~0 >= 0; 1067#L305 assume 0 == ~st3~0; 1068#L306 assume ~send3~0 == ~id3~0; 1084#L307 assume 0 == ~mode3~0 % 256; 983#L308 assume ~id4~0 >= 0; 984#L309 assume 0 == ~st4~0; 1080#L310 assume ~send4~0 == ~id4~0; 1050#L311 assume 0 == ~mode4~0 % 256; 1051#L312 assume ~id5~0 >= 0; 1002#L313 assume 0 == ~st5~0; 1003#L314 assume ~send5~0 == ~id5~0; 1042#L315 assume 0 == ~mode5~0 % 256; 1043#L316 assume ~id6~0 >= 0; 972#L317 assume 0 == ~st6~0; 973#L318 assume ~send6~0 == ~id6~0; 1111#L319 assume 0 == ~mode6~0 % 256; 1087#L320 assume ~id7~0 >= 0; 1074#L321 assume 0 == ~st7~0; 1075#L322 assume ~send7~0 == ~id7~0; 966#L323 assume 0 == ~mode7~0 % 256; 967#L324 assume ~id8~0 >= 0; 991#L325 assume 0 == ~st8~0; 1010#L326 assume ~send8~0 == ~id8~0; 993#L327 assume 0 == ~mode8~0 % 256; 994#L328 assume ~id1~0 != ~id2~0; 1020#L329 assume ~id1~0 != ~id3~0; 1021#L330 assume ~id1~0 != ~id4~0; 981#L331 assume ~id1~0 != ~id5~0; 982#L332 assume ~id1~0 != ~id6~0; 1009#L333 assume ~id1~0 != ~id7~0; 1016#L334 assume ~id1~0 != ~id8~0; 1000#L335 assume ~id2~0 != ~id3~0; 1001#L336 assume ~id2~0 != ~id4~0; 1083#L337 assume ~id2~0 != ~id5~0; 1058#L338 assume ~id2~0 != ~id6~0; 1059#L339 assume ~id2~0 != ~id7~0; 1102#L340 assume ~id2~0 != ~id8~0; 1096#L341 assume ~id3~0 != ~id4~0; 1022#L342 assume ~id3~0 != ~id5~0; 1023#L343 assume ~id3~0 != ~id6~0; 1013#L344 assume ~id3~0 != ~id7~0; 1014#L345 assume ~id3~0 != ~id8~0; 1044#L346 assume ~id4~0 != ~id5~0; 1045#L347 assume ~id4~0 != ~id6~0; 1109#L348 assume ~id4~0 != ~id7~0; 1091#L349 assume ~id4~0 != ~id8~0; 1092#L350 assume ~id5~0 != ~id6~0; 1077#L351 assume ~id5~0 != ~id7~0; 1078#L352 assume ~id5~0 != ~id8~0; 1097#L353 assume ~id6~0 != ~id7~0; 1065#L354 assume ~id6~0 != ~id8~0; 1024#L355 assume ~id7~0 != ~id8~0;init_~tmp~0#1 := 1; 1025#L295-1 init_#res#1 := init_~tmp~0#1; 1004#L540 main_#t~ret45#1 := init_#res#1;assume { :end_inline_init } true;main_~i2~0#1 := main_#t~ret45#1;havoc main_#t~ret45#1;assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := main_~i2~0#1;havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; 1005#L22 assume !(0 == assume_abort_if_not_~cond#1); 1038#L21 assume { :end_inline_assume_abort_if_not } true;~p1_old~0 := ~nomsg~0;~p1_new~0 := ~nomsg~0;~p2_old~0 := ~nomsg~0;~p2_new~0 := ~nomsg~0;~p3_old~0 := ~nomsg~0;~p3_new~0 := ~nomsg~0;~p4_old~0 := ~nomsg~0;~p4_new~0 := ~nomsg~0;~p5_old~0 := ~nomsg~0;~p5_new~0 := ~nomsg~0;~p6_old~0 := ~nomsg~0;~p6_new~0 := ~nomsg~0;~p7_old~0 := ~nomsg~0;~p7_new~0 := ~nomsg~0;~p8_old~0 := ~nomsg~0;~p8_new~0 := ~nomsg~0;main_~i2~0#1 := 0; 1098#L630-2 [2021-12-15 17:23:14,243 INFO L793 eck$LassoCheckResult]: Loop: 1098#L630-2 assume !!(main_~i2~0#1 < 16);assume { :begin_inline_node1 } true;havoc node1_#t~ite4#1, node1_~m1~0#1;havoc node1_~m1~0#1;node1_~m1~0#1 := ~nomsg~0; 1170#L92 assume !(0 != ~mode1~0 % 256); 1169#L106 assume ~send1~0 != ~nomsg~0 && ~p1_new~0 == ~nomsg~0;node1_#t~ite4#1 := ~send1~0; 1168#L106-2 ~p1_new~0 := (if node1_#t~ite4#1 % 256 <= 127 then node1_#t~ite4#1 % 256 else node1_#t~ite4#1 % 256 - 256);havoc node1_#t~ite4#1;~mode1~0 := 1; 1079#L92-2 assume { :end_inline_node1 } true;assume { :begin_inline_node2 } true;havoc node2_#t~ite5#1, node2_~m2~0#1;havoc node2_~m2~0#1;node2_~m2~0#1 := ~nomsg~0; 1167#L118 assume 0 != ~mode2~0 % 256;node2_~m2~0#1 := ~p1_old~0;~p1_old~0 := ~nomsg~0; 1164#L121 assume !(node2_~m2~0#1 != ~nomsg~0); 1162#L121-1 ~mode2~0 := 0; 1160#L118-2 assume { :end_inline_node2 } true;assume { :begin_inline_node3 } true;havoc node3_#t~ite6#1, node3_~m3~0#1;havoc node3_~m3~0#1;node3_~m3~0#1 := ~nomsg~0; 1159#L143 assume 0 != ~mode3~0 % 256;node3_~m3~0#1 := ~p2_old~0;~p2_old~0 := ~nomsg~0; 1156#L146 assume !(node3_~m3~0#1 != ~nomsg~0); 1154#L146-1 ~mode3~0 := 0; 1152#L143-2 assume { :end_inline_node3 } true;assume { :begin_inline_node4 } true;havoc node4_#t~ite7#1, node4_~m4~0#1;havoc node4_~m4~0#1;node4_~m4~0#1 := ~nomsg~0; 1151#L168 assume 0 != ~mode4~0 % 256;node4_~m4~0#1 := ~p3_old~0;~p3_old~0 := ~nomsg~0; 1148#L171 assume !(node4_~m4~0#1 != ~nomsg~0); 1146#L171-1 ~mode4~0 := 0; 1144#L168-2 assume { :end_inline_node4 } true;assume { :begin_inline_node5 } true;havoc node5_#t~ite8#1, node5_~m5~0#1;havoc node5_~m5~0#1;node5_~m5~0#1 := ~nomsg~0; 1143#L193 assume 0 != ~mode5~0 % 256;node5_~m5~0#1 := ~p4_old~0;~p4_old~0 := ~nomsg~0; 1141#L196 assume !(node5_~m5~0#1 != ~nomsg~0); 1138#L196-1 ~mode5~0 := 0; 1136#L193-2 assume { :end_inline_node5 } true;assume { :begin_inline_node6 } true;havoc node6_#t~ite9#1, node6_~m6~0#1;havoc node6_~m6~0#1;node6_~m6~0#1 := ~nomsg~0; 1135#L218 assume 0 != ~mode6~0 % 256;node6_~m6~0#1 := ~p5_old~0;~p5_old~0 := ~nomsg~0; 1133#L221 assume !(node6_~m6~0#1 != ~nomsg~0); 1130#L221-1 ~mode6~0 := 0; 1128#L218-2 assume { :end_inline_node6 } true;assume { :begin_inline_node7 } true;havoc node7_#t~ite10#1, node7_~m7~0#1;havoc node7_~m7~0#1;node7_~m7~0#1 := ~nomsg~0; 1127#L243 assume !(0 != ~mode7~0 % 256); 1056#L256 assume ~send7~0 != ~nomsg~0 && ~p7_new~0 == ~nomsg~0;node7_#t~ite10#1 := ~send7~0; 1057#L256-2 ~p7_new~0 := (if node7_#t~ite10#1 % 256 <= 127 then node7_#t~ite10#1 % 256 else node7_#t~ite10#1 % 256 - 256);havoc node7_#t~ite10#1;~mode7~0 := 1; 1122#L243-2 assume { :end_inline_node7 } true;assume { :begin_inline_node8 } true;havoc node8_#t~ite11#1, node8_~m8~0#1;havoc node8_~m8~0#1;node8_~m8~0#1 := ~nomsg~0; 1121#L268 assume 0 != ~mode8~0 % 256;node8_~m8~0#1 := ~p7_old~0;~p7_old~0 := ~nomsg~0; 1120#L271 assume !(node8_~m8~0#1 != ~nomsg~0); 1116#L271-1 ~mode8~0 := 0; 1114#L268-2 assume { :end_inline_node8 } true;~p1_old~0 := ~p1_new~0;~p1_new~0 := ~nomsg~0;~p2_old~0 := ~p2_new~0;~p2_new~0 := ~nomsg~0;~p3_old~0 := ~p3_new~0;~p3_new~0 := ~nomsg~0;~p4_old~0 := ~p4_new~0;~p4_new~0 := ~nomsg~0;~p5_old~0 := ~p5_new~0;~p5_new~0 := ~nomsg~0;~p6_old~0 := ~p6_new~0;~p6_new~0 := ~nomsg~0;~p7_old~0 := ~p7_new~0;~p7_new~0 := ~nomsg~0;~p8_old~0 := ~p8_new~0;~p8_new~0 := ~nomsg~0;assume { :begin_inline_check } true;havoc check_#res#1;havoc check_~tmp~1#1;havoc check_~tmp~1#1; 1113#L548 assume ~st1~0 + ~st2~0 + ~st3~0 + ~st4~0 + ~st5~0 + ~st6~0 + ~st7~0 + ~st8~0 <= 1; 1112#L549 assume !(~r1~0 >= 8); 1036#L552 assume 0 == ~st1~0 + ~st2~0 + ~st3~0 + ~st4~0 + ~st5~0 + ~st6~0 + ~st7~0 + ~st8~0; 1037#L553 assume ~r1~0 < 8;check_~tmp~1#1 := 1; 1174#L548-1 check_#res#1 := check_~tmp~1#1; 1173#L568 main_#t~ret46#1 := check_#res#1;assume { :end_inline_check } true;main_~c1~0#1 := main_#t~ret46#1;havoc main_#t~ret46#1;assume { :begin_inline_assert } true;assert_#in~arg#1 := (if 0 == main_~c1~0#1 then 0 else 1);havoc assert_~arg#1;assert_~arg#1 := assert_#in~arg#1; 1172#L669 assume !(0 == assert_~arg#1 % 256); 1171#L664 assume { :end_inline_assert } true;main_#t~post47#1 := main_~i2~0#1;main_~i2~0#1 := 1 + main_#t~post47#1;havoc main_#t~post47#1; 1098#L630-2 [2021-12-15 17:23:14,243 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-12-15 17:23:14,243 INFO L85 PathProgramCache]: Analyzing trace with hash 354076320, now seen corresponding path program 3 times [2021-12-15 17:23:14,244 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2021-12-15 17:23:14,244 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1498446578] [2021-12-15 17:23:14,244 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-12-15 17:23:14,244 INFO L126 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2021-12-15 17:23:14,266 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2021-12-15 17:23:14,274 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2021-12-15 17:23:14,303 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2021-12-15 17:23:14,325 INFO L133 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2021-12-15 17:23:14,325 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-12-15 17:23:14,326 INFO L85 PathProgramCache]: Analyzing trace with hash -1248910141, now seen corresponding path program 1 times [2021-12-15 17:23:14,326 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2021-12-15 17:23:14,326 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1784237824] [2021-12-15 17:23:14,326 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-12-15 17:23:14,326 INFO L126 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2021-12-15 17:23:14,334 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2021-12-15 17:23:14,336 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2021-12-15 17:23:14,345 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2021-12-15 17:23:14,360 INFO L133 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2021-12-15 17:23:14,361 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-12-15 17:23:14,361 INFO L85 PathProgramCache]: Analyzing trace with hash -2069422844, now seen corresponding path program 1 times [2021-12-15 17:23:14,361 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2021-12-15 17:23:14,362 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1037318851] [2021-12-15 17:23:14,362 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-12-15 17:23:14,362 INFO L126 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2021-12-15 17:23:14,378 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-12-15 17:23:14,443 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-12-15 17:23:14,444 INFO L139 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2021-12-15 17:23:14,444 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1037318851] [2021-12-15 17:23:14,444 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1037318851] provided 1 perfect and 0 imperfect interpolant sequences [2021-12-15 17:23:14,444 INFO L186 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2021-12-15 17:23:14,444 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2021-12-15 17:23:14,445 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [774259705] [2021-12-15 17:23:14,445 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2021-12-15 17:23:15,955 FATAL L? ?]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer has thrown an exception: java.lang.UnsupportedOperationException: Set is immutable at de.uni_freiburg.informatik.ultimate.util.datastructures.ImmutableSet.retainAll(ImmutableSet.java:338) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.cfg.transitions.UnmodifiableTransFormula.removeSuperfluousVars(UnmodifiableTransFormula.java:212) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.cfg.transitions.TransFormulaBuilder.finishConstruction(TransFormulaBuilder.java:273) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.cfg.transitions.TransFormulaBuilder.getTrivialTransFormula(TransFormulaBuilder.java:285) at de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.LassoCheck.synthesize(LassoCheck.java:548) at de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.LassoCheck$LassoCheckResult.checkLoopTermination(LassoCheck.java:944) at de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.LassoCheck$LassoCheckResult.(LassoCheck.java:834) at de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.LassoCheck.(LassoCheck.java:252) at de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiCegarLoop.iterate(BuchiCegarLoop.java:457) at de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver.doTerminationAnalysis(BuchiAutomizerObserver.java:142) at de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver.finish(BuchiAutomizerObserver.java:397) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:320) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) [2021-12-15 17:23:15,958 INFO L158 Benchmark]: Toolchain (without parser) took 3947.09ms. Allocated memory was 94.4MB in the beginning and 148.9MB in the end (delta: 54.5MB). Free memory was 63.4MB in the beginning and 55.7MB in the end (delta: 7.7MB). Peak memory consumption was 77.6MB. Max. memory is 16.1GB. [2021-12-15 17:23:15,958 INFO L158 Benchmark]: CDTParser took 0.17ms. Allocated memory is still 94.4MB. Free memory is still 50.9MB. There was no memory consumed. Max. memory is 16.1GB. [2021-12-15 17:23:15,958 INFO L158 Benchmark]: CACSL2BoogieTranslator took 345.05ms. Allocated memory was 94.4MB in the beginning and 119.5MB in the end (delta: 25.2MB). Free memory was 63.2MB in the beginning and 89.0MB in the end (delta: -25.8MB). Peak memory consumption was 10.5MB. Max. memory is 16.1GB. [2021-12-15 17:23:15,959 INFO L158 Benchmark]: Boogie Procedure Inliner took 58.35ms. Allocated memory is still 119.5MB. Free memory was 89.0MB in the beginning and 85.9MB in the end (delta: 3.1MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. [2021-12-15 17:23:15,959 INFO L158 Benchmark]: Boogie Preprocessor took 37.98ms. Allocated memory is still 119.5MB. Free memory was 85.9MB in the beginning and 83.5MB in the end (delta: 2.4MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2021-12-15 17:23:15,959 INFO L158 Benchmark]: RCFGBuilder took 612.56ms. Allocated memory is still 119.5MB. Free memory was 83.5MB in the beginning and 84.0MB in the end (delta: -552.0kB). Peak memory consumption was 20.4MB. Max. memory is 16.1GB. [2021-12-15 17:23:15,960 INFO L158 Benchmark]: BuchiAutomizer took 2889.45ms. Allocated memory was 119.5MB in the beginning and 148.9MB in the end (delta: 29.4MB). Free memory was 84.0MB in the beginning and 55.7MB in the end (delta: 28.3MB). Peak memory consumption was 74.5MB. Max. memory is 16.1GB. [2021-12-15 17:23:15,963 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.17ms. Allocated memory is still 94.4MB. Free memory is still 50.9MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 345.05ms. Allocated memory was 94.4MB in the beginning and 119.5MB in the end (delta: 25.2MB). Free memory was 63.2MB in the beginning and 89.0MB in the end (delta: -25.8MB). Peak memory consumption was 10.5MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 58.35ms. Allocated memory is still 119.5MB. Free memory was 89.0MB in the beginning and 85.9MB in the end (delta: 3.1MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. * Boogie Preprocessor took 37.98ms. Allocated memory is still 119.5MB. Free memory was 85.9MB in the beginning and 83.5MB in the end (delta: 2.4MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * RCFGBuilder took 612.56ms. Allocated memory is still 119.5MB. Free memory was 83.5MB in the beginning and 84.0MB in the end (delta: -552.0kB). Peak memory consumption was 20.4MB. Max. memory is 16.1GB. * BuchiAutomizer took 2889.45ms. Allocated memory was 119.5MB in the beginning and 148.9MB in the end (delta: 29.4MB). Free memory was 84.0MB in the beginning and 55.7MB in the end (delta: 28.3MB). Peak memory consumption was 74.5MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer: - ExceptionOrErrorResult: UnsupportedOperationException: Set is immutable de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer: UnsupportedOperationException: Set is immutable: de.uni_freiburg.informatik.ultimate.util.datastructures.ImmutableSet.retainAll(ImmutableSet.java:338) RESULT: Ultimate could not prove your program: Toolchain returned no result. [2021-12-15 17:23:15,993 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (1)] Forceful destruction successful, exit code 0 Received shutdown request... --- End real Ultimate output --- Execution finished normally Using bit-precise analysis No suitable file found in config dir /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config using search string *Termination*32bit*_Bitvector*.epf No suitable settings file found using Termination*32bit*_Bitvector ERROR: UNSUPPORTED PROPERTY Writing output log to file Ultimate.log Result: ERROR: ExceptionOrErrorResult: UnsupportedOperationException: Set is immutable