/usr/bin/java -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data -tc ../../../trunk/examples/toolchains/BuchiAutomizerCInline.xml -s ../../../trunk/examples/settings/buchiAutomizer/concurrent-automaton-noLbe.epf -i ../../../trunk/examples/svcomp/pthread-deagle/floating_read-25.i -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-21b0908 [2022-07-22 12:04:35,745 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-07-22 12:04:35,748 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-07-22 12:04:35,800 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-07-22 12:04:35,822 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-07-22 12:04:35,826 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-07-22 12:04:35,837 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-07-22 12:04:35,839 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-07-22 12:04:35,853 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-07-22 12:04:35,859 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-07-22 12:04:35,861 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-07-22 12:04:35,862 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-07-22 12:04:35,863 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-07-22 12:04:35,864 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-07-22 12:04:35,865 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-07-22 12:04:35,866 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-07-22 12:04:35,867 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-07-22 12:04:35,868 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-07-22 12:04:35,870 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-07-22 12:04:35,873 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-07-22 12:04:35,874 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-07-22 12:04:35,876 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-07-22 12:04:35,877 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-07-22 12:04:35,878 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-07-22 12:04:35,879 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-07-22 12:04:35,887 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-07-22 12:04:35,887 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-07-22 12:04:35,888 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-07-22 12:04:35,889 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-07-22 12:04:35,889 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-07-22 12:04:35,890 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-07-22 12:04:35,891 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-07-22 12:04:35,892 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-07-22 12:04:35,893 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-07-22 12:04:35,894 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-07-22 12:04:35,895 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-07-22 12:04:35,896 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-07-22 12:04:35,896 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-07-22 12:04:35,897 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-07-22 12:04:35,897 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-07-22 12:04:35,898 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-07-22 12:04:35,899 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-07-22 12:04:35,900 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/buchiAutomizer/concurrent-automaton-noLbe.epf [2022-07-22 12:04:35,929 INFO L113 SettingsManager]: Loading preferences was successful [2022-07-22 12:04:35,930 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-07-22 12:04:35,930 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-07-22 12:04:35,930 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-07-22 12:04:35,932 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-07-22 12:04:35,932 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-07-22 12:04:35,932 INFO L138 SettingsManager]: * Use SBE=true [2022-07-22 12:04:35,933 INFO L136 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2022-07-22 12:04:35,933 INFO L138 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2022-07-22 12:04:35,933 INFO L138 SettingsManager]: * Use old map elimination=false [2022-07-22 12:04:35,933 INFO L138 SettingsManager]: * Use external solver (rank synthesis)=false [2022-07-22 12:04:35,933 INFO L138 SettingsManager]: * Use only trivial implications for array writes=true [2022-07-22 12:04:35,934 INFO L138 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2022-07-22 12:04:35,934 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-07-22 12:04:35,934 INFO L138 SettingsManager]: * sizeof long=4 [2022-07-22 12:04:35,934 INFO L138 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2022-07-22 12:04:35,934 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-07-22 12:04:35,935 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-07-22 12:04:35,935 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-07-22 12:04:35,935 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2022-07-22 12:04:35,935 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2022-07-22 12:04:35,935 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2022-07-22 12:04:35,936 INFO L138 SettingsManager]: * sizeof long double=12 [2022-07-22 12:04:35,936 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-07-22 12:04:35,936 INFO L138 SettingsManager]: * Assume nondeterminstic values are in range=false [2022-07-22 12:04:35,936 INFO L138 SettingsManager]: * Use constant arrays=true [2022-07-22 12:04:35,936 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2022-07-22 12:04:35,937 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-07-22 12:04:35,937 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-07-22 12:04:35,937 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-07-22 12:04:35,937 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-07-22 12:04:35,938 INFO L138 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2022-07-22 12:04:35,939 INFO L136 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2022-07-22 12:04:35,939 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 [2022-07-22 12:04:36,302 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-07-22 12:04:36,352 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-07-22 12:04:36,355 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-07-22 12:04:36,356 INFO L271 PluginConnector]: Initializing CDTParser... [2022-07-22 12:04:36,360 INFO L275 PluginConnector]: CDTParser initialized [2022-07-22 12:04:36,362 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/pthread-deagle/floating_read-25.i [2022-07-22 12:04:36,456 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3fddb4a3d/6ad84b4e024b43d49cb571a7a09f0b57/FLAGa6c5d53f8 [2022-07-22 12:04:37,104 INFO L306 CDTParser]: Found 1 translation units. [2022-07-22 12:04:37,105 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/pthread-deagle/floating_read-25.i [2022-07-22 12:04:37,124 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3fddb4a3d/6ad84b4e024b43d49cb571a7a09f0b57/FLAGa6c5d53f8 [2022-07-22 12:04:37,396 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3fddb4a3d/6ad84b4e024b43d49cb571a7a09f0b57 [2022-07-22 12:04:37,399 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-07-22 12:04:37,404 INFO L131 ToolchainWalker]: Walking toolchain with 5 elements. [2022-07-22 12:04:37,406 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-07-22 12:04:37,406 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-07-22 12:04:37,411 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-07-22 12:04:37,412 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 22.07 12:04:37" (1/1) ... [2022-07-22 12:04:37,413 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6f966dca and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.07 12:04:37, skipping insertion in model container [2022-07-22 12:04:37,413 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 22.07 12:04:37" (1/1) ... [2022-07-22 12:04:37,422 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-07-22 12:04:37,462 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-07-22 12:04:37,898 WARN L1550 CHandler]: Possible shadowing of function thread [2022-07-22 12:04:37,917 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-deagle/floating_read-25.i[31197,31210] [2022-07-22 12:04:37,926 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-07-22 12:04:37,938 INFO L203 MainTranslator]: Completed pre-run [2022-07-22 12:04:38,043 WARN L1550 CHandler]: Possible shadowing of function thread [2022-07-22 12:04:38,047 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-deagle/floating_read-25.i[31197,31210] [2022-07-22 12:04:38,049 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-07-22 12:04:38,092 INFO L208 MainTranslator]: Completed translation [2022-07-22 12:04:38,093 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.07 12:04:38 WrapperNode [2022-07-22 12:04:38,093 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-07-22 12:04:38,095 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-07-22 12:04:38,095 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-07-22 12:04:38,095 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-07-22 12:04:38,104 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.07 12:04:38" (1/1) ... [2022-07-22 12:04:38,121 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.07 12:04:38" (1/1) ... [2022-07-22 12:04:38,147 INFO L137 Inliner]: procedures = 162, calls = 17, calls flagged for inlining = 2, calls inlined = 2, statements flattened = 52 [2022-07-22 12:04:38,147 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-07-22 12:04:38,148 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-07-22 12:04:38,148 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-07-22 12:04:38,148 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-07-22 12:04:38,159 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.07 12:04:38" (1/1) ... [2022-07-22 12:04:38,159 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.07 12:04:38" (1/1) ... [2022-07-22 12:04:38,163 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.07 12:04:38" (1/1) ... [2022-07-22 12:04:38,163 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.07 12:04:38" (1/1) ... [2022-07-22 12:04:38,171 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.07 12:04:38" (1/1) ... [2022-07-22 12:04:38,176 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.07 12:04:38" (1/1) ... [2022-07-22 12:04:38,178 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.07 12:04:38" (1/1) ... [2022-07-22 12:04:38,181 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-07-22 12:04:38,182 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-07-22 12:04:38,182 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-07-22 12:04:38,183 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-07-22 12:04:38,184 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.07 12:04:38" (1/1) ... [2022-07-22 12:04:38,203 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 12:04:38,217 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 12:04:38,234 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-22 12:04:38,257 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (1)] Waiting until timeout for monitored process [2022-07-22 12:04:38,305 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-07-22 12:04:38,305 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-07-22 12:04:38,305 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2022-07-22 12:04:38,305 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-07-22 12:04:38,306 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-07-22 12:04:38,306 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-07-22 12:04:38,306 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-07-22 12:04:38,306 INFO L130 BoogieDeclarations]: Found specification of procedure thread [2022-07-22 12:04:38,306 INFO L138 BoogieDeclarations]: Found implementation of procedure thread [2022-07-22 12:04:38,307 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2022-07-22 12:04:38,307 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-07-22 12:04:38,307 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-07-22 12:04:38,309 WARN L208 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to SingleStatement [2022-07-22 12:04:38,429 INFO L234 CfgBuilder]: Building ICFG [2022-07-22 12:04:38,431 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-07-22 12:04:38,587 INFO L275 CfgBuilder]: Performing block encoding [2022-07-22 12:04:38,595 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-07-22 12:04:38,596 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-07-22 12:04:38,599 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.07 12:04:38 BoogieIcfgContainer [2022-07-22 12:04:38,599 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-07-22 12:04:38,600 INFO L113 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2022-07-22 12:04:38,600 INFO L271 PluginConnector]: Initializing BuchiAutomizer... [2022-07-22 12:04:38,605 INFO L275 PluginConnector]: BuchiAutomizer initialized [2022-07-22 12:04:38,606 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2022-07-22 12:04:38,606 INFO L185 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "CDTParser AST 22.07 12:04:37" (1/3) ... [2022-07-22 12:04:38,607 INFO L205 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@7b3b1367 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 22.07 12:04:38, skipping insertion in model container [2022-07-22 12:04:38,607 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2022-07-22 12:04:38,607 INFO L185 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.07 12:04:38" (2/3) ... [2022-07-22 12:04:38,608 INFO L205 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@7b3b1367 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 22.07 12:04:38, skipping insertion in model container [2022-07-22 12:04:38,608 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2022-07-22 12:04:38,608 INFO L185 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.07 12:04:38" (3/3) ... [2022-07-22 12:04:38,610 INFO L322 chiAutomizerObserver]: Analyzing ICFG floating_read-25.i [2022-07-22 12:04:38,686 INFO L144 ThreadInstanceAdder]: Constructed 1 joinOtherThreadTransitions. [2022-07-22 12:04:38,727 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 57 places, 59 transitions, 126 flow [2022-07-22 12:04:38,770 INFO L129 PetriNetUnfolder]: 8/80 cut-off events. [2022-07-22 12:04:38,770 INFO L130 PetriNetUnfolder]: For 1/1 co-relation queries the response was YES. [2022-07-22 12:04:38,773 INFO L84 FinitePrefix]: Finished finitePrefix Result has 86 conditions, 80 events. 8/80 cut-off events. For 1/1 co-relation queries the response was YES. Maximal size of possible extension queue 4. Compared 95 event pairs, 0 based on Foata normal form. 0/70 useless extension candidates. Maximal degree in co-relation 41. Up to 4 conditions per place. [2022-07-22 12:04:38,774 INFO L82 GeneralOperation]: Start removeDead. Operand has 57 places, 59 transitions, 126 flow [2022-07-22 12:04:38,781 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 57 places, 59 transitions, 126 flow [2022-07-22 12:04:38,796 INFO L300 stractBuchiCegarLoop]: Interprodecural is true [2022-07-22 12:04:38,796 INFO L301 stractBuchiCegarLoop]: Hoare is false [2022-07-22 12:04:38,796 INFO L302 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2022-07-22 12:04:38,796 INFO L303 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2022-07-22 12:04:38,796 INFO L304 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2022-07-22 12:04:38,797 INFO L305 stractBuchiCegarLoop]: Difference is false [2022-07-22 12:04:38,797 INFO L306 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2022-07-22 12:04:38,797 INFO L310 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2022-07-22 12:04:38,799 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand currently 0 states, but on-demand construction may add more states [2022-07-22 12:04:38,883 INFO L131 ngComponentsAnalysis]: Automaton has 6 accepting balls. 6 [2022-07-22 12:04:38,884 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 12:04:38,884 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 12:04:38,892 INFO L150 hiAutomatonCegarLoop]: Counterexample stem histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 12:04:38,892 INFO L151 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2022-07-22 12:04:38,892 INFO L332 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2022-07-22 12:04:38,893 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand currently 192 states, but on-demand construction may add more states [2022-07-22 12:04:38,919 INFO L131 ngComponentsAnalysis]: Automaton has 6 accepting balls. 6 [2022-07-22 12:04:38,923 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 12:04:38,923 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 12:04:38,924 INFO L150 hiAutomatonCegarLoop]: Counterexample stem histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 12:04:38,925 INFO L151 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2022-07-22 12:04:38,943 INFO L748 eck$LassoCheckResult]: Stem: 60#[ULTIMATE.startENTRY]don't care [124] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 63#[L-1]don't care [114] L-1-->L-1-1: Formula: (and (= |v_#NULL.base_1| 0) (= |v_#NULL.offset_1| 0)) InVars {} OutVars{#NULL.offset=|v_#NULL.offset_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] 65#[L-1-1]don't care [131] L-1-1-->L-1-2: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] 67#[L-1-2]don't care [132] L-1-2-->L16: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] 69#[L16]don't care [113] L16-->L16-1: Formula: (and (= (select |v_#valid_2| 1) 1) (= 2 (select |v_#length_1| 1))) InVars {#length=|v_#length_1|, #valid=|v_#valid_2|} OutVars{#length=|v_#length_1|, #valid=|v_#valid_2|} AuxVars[] AssignedVars[] 71#[L16-1]don't care [82] L16-1-->L16-2: Formula: (= 48 (select (select |v_#memory_int_1| 1) 0)) InVars {#memory_int=|v_#memory_int_1|} OutVars{#memory_int=|v_#memory_int_1|} AuxVars[] AssignedVars[] 73#[L16-2]don't care [136] L16-2-->L16-3: Formula: (= (select (select |v_#memory_int_2| 1) 1) 0) InVars {#memory_int=|v_#memory_int_2|} OutVars{#memory_int=|v_#memory_int_2|} AuxVars[] AssignedVars[] 75#[L16-3]don't care [118] L16-3-->L16-4: Formula: (and (= (select |v_#valid_3| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] 77#[L16-4]don't care [121] L16-4-->L16-5: Formula: (= (select (select |v_#memory_int_3| 2) 0) 0) InVars {#memory_int=|v_#memory_int_3|} OutVars{#memory_int=|v_#memory_int_3|} AuxVars[] AssignedVars[] 79#[L16-5]don't care [111] L16-5-->L-1-3: Formula: (= v_~x~0_1 0) InVars {} OutVars{~x~0=v_~x~0_1} AuxVars[] AssignedVars[~x~0] 81#[L-1-3]don't care [133] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 83#[L-1-4]don't care [116] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 85#[L-1-5]don't care [95] L-1-5-->L-1-6: Formula: (and (= |v_ULTIMATE.start_#in~argv#1.offset_1| |v_ULTIMATE.start_main_#in~argv#1.offset_1|) (= |v_ULTIMATE.start_main_#in~argv#1.base_1| |v_ULTIMATE.start_#in~argv#1.base_1|) (= |v_ULTIMATE.start_main_#in~argc#1_1| |v_ULTIMATE.start_#in~argc#1_1|)) InVars {ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} OutVars{ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_1|, ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_1|, ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#in~argv#1.base, ULTIMATE.start_main_#in~argc#1, ULTIMATE.start_main_#in~argv#1.offset] 87#[L-1-6]don't care [115] L-1-6-->L-1-7: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] 89#[L-1-7]don't care [92] L-1-7-->L718: Formula: true InVars {} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_1|, ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_1|, ULTIMATE.start_main_~i~1#1=|v_ULTIMATE.start_main_~i~1#1_1|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_1|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_1|, ULTIMATE.start_main_#t~post4#1=|v_ULTIMATE.start_main_#t~post4#1_1|, ULTIMATE.start_main_#t~mem5#1=|v_ULTIMATE.start_main_#t~mem5#1_1|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1, ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~1#1, ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t~0#1.offset, ULTIMATE.start_main_#t~post4#1, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~mem5#1, ULTIMATE.start_main_~#t~0#1.base, ULTIMATE.start_main_#t~pre2#1] 91#[L718]don't care [100] L718-->L718-1: Formula: (= |v_ULTIMATE.start_main_#in~argc#1_2| |v_ULTIMATE.start_main_~argc#1_2|) InVars {ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_2|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1] 93#[L718-1]don't care [137] L718-1-->L719: Formula: (and (= |v_ULTIMATE.start_main_~argv#1.offset_2| |v_ULTIMATE.start_main_#in~argv#1.offset_2|) (= |v_ULTIMATE.start_main_#in~argv#1.base_2| |v_ULTIMATE.start_main_~argv#1.base_2|)) InVars {ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|} OutVars{ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~argv#1.offset] 95#[L719]don't care [84] L719-->L719-1: Formula: (and (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 104) |v_#length_3|) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] 97#[L719-1]don't care [122] L719-1-->L722: Formula: (= v_~x~0_2 0) InVars {} OutVars{~x~0=v_~x~0_2} AuxVars[] AssignedVars[~x~0] 99#[L722]don't care [134] L722-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 1) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 101#[L723-5]don't care [103] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 105#[L724]don't care [99] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 111#[L724-1]don't care [125] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 117#[L724-2]don't care [91] L724-2-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0))) (and (= (select |v_#valid_6| |v_ULTIMATE.start_main_~#t~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|)) (<= 0 .cse1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_5|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_4|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] 123#[L724-3]don't care [146] L724-3-->threadENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre2#1_6| v_threadThread1of1ForFork0_thidvar0_2) (= |v_threadThread1of1ForFork0_#in~arg.base_4| 0) (= |v_ULTIMATE.start_main_~i~0#1_9| |v_threadThread1of1ForFork0_#in~arg.offset_4|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_9|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_6|} OutVars{threadThread1of1ForFork0_#in~arg.offset=|v_threadThread1of1ForFork0_#in~arg.offset_4|, threadThread1of1ForFork0_~thread~0=v_threadThread1of1ForFork0_~thread~0_6, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_9|, threadThread1of1ForFork0_~arg.base=v_threadThread1of1ForFork0_~arg.base_6, threadThread1of1ForFork0_~arg.offset=v_threadThread1of1ForFork0_~arg.offset_6, threadThread1of1ForFork0_#res.base=|v_threadThread1of1ForFork0_#res.base_4|, threadThread1of1ForFork0_thidvar0=v_threadThread1of1ForFork0_thidvar0_2, threadThread1of1ForFork0_#res.offset=|v_threadThread1of1ForFork0_#res.offset_4|, threadThread1of1ForFork0_#in~arg.base=|v_threadThread1of1ForFork0_#in~arg.base_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_6|} AuxVars[] AssignedVars[threadThread1of1ForFork0_#in~arg.offset, threadThread1of1ForFork0_~thread~0, threadThread1of1ForFork0_~arg.base, threadThread1of1ForFork0_~arg.offset, threadThread1of1ForFork0_#res.base, threadThread1of1ForFork0_thidvar0, threadThread1of1ForFork0_#res.offset, threadThread1of1ForFork0_#in~arg.base] 129#[threadENTRY, L724-4]don't care [135] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 133#[L724-5, threadENTRY]don't care [89] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 139#[L723-2, threadENTRY]don't care [117] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 147#[L723-3, threadENTRY]don't care [96] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 157#[L723-4, threadENTRY]don't care [112] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 169#[L723-5, threadENTRY]don't care [103] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 183#[L724, threadENTRY]don't care [99] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 201#[L724-1, threadENTRY]don't care [125] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 225#[L724-2, threadENTRY]don't care [91] L724-2-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0))) (and (= (select |v_#valid_6| |v_ULTIMATE.start_main_~#t~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|)) (<= 0 .cse1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_5|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_4|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] 253#[L724-3, threadENTRY]don't care [144] L724-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 285#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadENTRY]don't care [2022-07-22 12:04:38,944 INFO L750 eck$LassoCheckResult]: Loop: 285#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadENTRY]don't care [145] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 285#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadENTRY]don't care [2022-07-22 12:04:38,959 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 12:04:38,960 INFO L85 PathProgramCache]: Analyzing trace with hash 1597522556, now seen corresponding path program 1 times [2022-07-22 12:04:38,976 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 12:04:38,977 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1519214782] [2022-07-22 12:04:38,978 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 12:04:38,979 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 12:04:39,153 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:04:39,154 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 12:04:39,203 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:04:39,238 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 12:04:39,242 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 12:04:39,242 INFO L85 PathProgramCache]: Analyzing trace with hash 176, now seen corresponding path program 1 times [2022-07-22 12:04:39,242 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 12:04:39,243 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [225605556] [2022-07-22 12:04:39,243 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 12:04:39,243 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 12:04:39,255 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:04:39,256 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 12:04:39,260 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:04:39,263 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 12:04:39,283 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 12:04:39,283 INFO L85 PathProgramCache]: Analyzing trace with hash -2016408171, now seen corresponding path program 1 times [2022-07-22 12:04:39,284 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 12:04:39,284 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1309364542] [2022-07-22 12:04:39,284 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 12:04:39,285 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 12:04:39,329 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:04:39,330 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 12:04:39,358 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:04:39,370 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 12:04:40,135 WARN L146 chiAutomizerObserver]: 1 thread instances were not sufficient, I will increase this number and restart the analysis [2022-07-22 12:04:40,152 INFO L144 ThreadInstanceAdder]: Constructed 2 joinOtherThreadTransitions. [2022-07-22 12:04:40,156 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 65 places, 66 transitions, 150 flow [2022-07-22 12:04:40,190 INFO L129 PetriNetUnfolder]: 14/133 cut-off events. [2022-07-22 12:04:40,191 INFO L130 PetriNetUnfolder]: For 6/6 co-relation queries the response was YES. [2022-07-22 12:04:40,192 INFO L84 FinitePrefix]: Finished finitePrefix Result has 147 conditions, 133 events. 14/133 cut-off events. For 6/6 co-relation queries the response was YES. Maximal size of possible extension queue 5. Compared 215 event pairs, 0 based on Foata normal form. 0/116 useless extension candidates. Maximal degree in co-relation 81. Up to 8 conditions per place. [2022-07-22 12:04:40,192 INFO L82 GeneralOperation]: Start removeDead. Operand has 65 places, 66 transitions, 150 flow [2022-07-22 12:04:40,196 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 65 places, 66 transitions, 150 flow [2022-07-22 12:04:40,196 INFO L300 stractBuchiCegarLoop]: Interprodecural is true [2022-07-22 12:04:40,196 INFO L301 stractBuchiCegarLoop]: Hoare is false [2022-07-22 12:04:40,197 INFO L302 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2022-07-22 12:04:40,197 INFO L303 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2022-07-22 12:04:40,197 INFO L304 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2022-07-22 12:04:40,197 INFO L305 stractBuchiCegarLoop]: Difference is false [2022-07-22 12:04:40,197 INFO L306 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2022-07-22 12:04:40,197 INFO L310 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2022-07-22 12:04:40,198 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand currently 0 states, but on-demand construction may add more states [2022-07-22 12:04:40,392 INFO L131 ngComponentsAnalysis]: Automaton has 36 accepting balls. 36 [2022-07-22 12:04:40,392 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 12:04:40,392 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 12:04:40,394 INFO L150 hiAutomatonCegarLoop]: Counterexample stem histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 12:04:40,394 INFO L151 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2022-07-22 12:04:40,394 INFO L332 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2022-07-22 12:04:40,394 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand currently 1194 states, but on-demand construction may add more states [2022-07-22 12:04:40,414 INFO L131 ngComponentsAnalysis]: Automaton has 36 accepting balls. 36 [2022-07-22 12:04:40,414 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 12:04:40,414 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 12:04:40,416 INFO L150 hiAutomatonCegarLoop]: Counterexample stem histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 12:04:40,416 INFO L151 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2022-07-22 12:04:40,418 INFO L748 eck$LassoCheckResult]: Stem: 68#[ULTIMATE.startENTRY]don't care [190] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 71#[L-1]don't care [180] L-1-->L-1-1: Formula: (and (= |v_#NULL.base_1| 0) (= |v_#NULL.offset_1| 0)) InVars {} OutVars{#NULL.offset=|v_#NULL.offset_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] 73#[L-1-1]don't care [197] L-1-1-->L-1-2: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] 75#[L-1-2]don't care [198] L-1-2-->L16: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] 77#[L16]don't care [179] L16-->L16-1: Formula: (and (= (select |v_#valid_2| 1) 1) (= 2 (select |v_#length_1| 1))) InVars {#length=|v_#length_1|, #valid=|v_#valid_2|} OutVars{#length=|v_#length_1|, #valid=|v_#valid_2|} AuxVars[] AssignedVars[] 79#[L16-1]don't care [148] L16-1-->L16-2: Formula: (= 48 (select (select |v_#memory_int_1| 1) 0)) InVars {#memory_int=|v_#memory_int_1|} OutVars{#memory_int=|v_#memory_int_1|} AuxVars[] AssignedVars[] 81#[L16-2]don't care [202] L16-2-->L16-3: Formula: (= (select (select |v_#memory_int_2| 1) 1) 0) InVars {#memory_int=|v_#memory_int_2|} OutVars{#memory_int=|v_#memory_int_2|} AuxVars[] AssignedVars[] 83#[L16-3]don't care [184] L16-3-->L16-4: Formula: (and (= (select |v_#valid_3| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] 85#[L16-4]don't care [187] L16-4-->L16-5: Formula: (= (select (select |v_#memory_int_3| 2) 0) 0) InVars {#memory_int=|v_#memory_int_3|} OutVars{#memory_int=|v_#memory_int_3|} AuxVars[] AssignedVars[] 87#[L16-5]don't care [177] L16-5-->L-1-3: Formula: (= v_~x~0_1 0) InVars {} OutVars{~x~0=v_~x~0_1} AuxVars[] AssignedVars[~x~0] 89#[L-1-3]don't care [199] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 91#[L-1-4]don't care [182] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 93#[L-1-5]don't care [161] L-1-5-->L-1-6: Formula: (and (= |v_ULTIMATE.start_#in~argv#1.offset_1| |v_ULTIMATE.start_main_#in~argv#1.offset_1|) (= |v_ULTIMATE.start_main_#in~argv#1.base_1| |v_ULTIMATE.start_#in~argv#1.base_1|) (= |v_ULTIMATE.start_main_#in~argc#1_1| |v_ULTIMATE.start_#in~argc#1_1|)) InVars {ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} OutVars{ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_1|, ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_1|, ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#in~argv#1.base, ULTIMATE.start_main_#in~argc#1, ULTIMATE.start_main_#in~argv#1.offset] 95#[L-1-6]don't care [181] L-1-6-->L-1-7: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] 97#[L-1-7]don't care [158] L-1-7-->L718: Formula: true InVars {} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_1|, ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_1|, ULTIMATE.start_main_~i~1#1=|v_ULTIMATE.start_main_~i~1#1_1|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_1|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_1|, ULTIMATE.start_main_#t~post4#1=|v_ULTIMATE.start_main_#t~post4#1_1|, ULTIMATE.start_main_#t~mem5#1=|v_ULTIMATE.start_main_#t~mem5#1_1|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1, ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~1#1, ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t~0#1.offset, ULTIMATE.start_main_#t~post4#1, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~mem5#1, ULTIMATE.start_main_~#t~0#1.base, ULTIMATE.start_main_#t~pre2#1] 99#[L718]don't care [166] L718-->L718-1: Formula: (= |v_ULTIMATE.start_main_#in~argc#1_2| |v_ULTIMATE.start_main_~argc#1_2|) InVars {ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_2|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1] 101#[L718-1]don't care [203] L718-1-->L719: Formula: (and (= |v_ULTIMATE.start_main_~argv#1.offset_2| |v_ULTIMATE.start_main_#in~argv#1.offset_2|) (= |v_ULTIMATE.start_main_#in~argv#1.base_2| |v_ULTIMATE.start_main_~argv#1.base_2|)) InVars {ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|} OutVars{ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~argv#1.offset] 103#[L719]don't care [150] L719-->L719-1: Formula: (and (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 104) |v_#length_3|) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] 105#[L719-1]don't care [188] L719-1-->L722: Formula: (= v_~x~0_2 0) InVars {} OutVars{~x~0=v_~x~0_2} AuxVars[] AssignedVars[~x~0] 107#[L722]don't care [200] L722-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 1) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 109#[L723-5]don't care [169] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 113#[L724]don't care [165] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 119#[L724-1]don't care [191] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 125#[L724-2]don't care [157] L724-2-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0))) (and (= (select |v_#valid_6| |v_ULTIMATE.start_main_~#t~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|)) (<= 0 .cse1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_5|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_4|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] 131#[L724-3]don't care [217] L724-3-->threadENTRY: Formula: (and (= v_threadThread1of2ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_12|) (= |v_ULTIMATE.start_main_~i~0#1_14| |v_threadThread1of2ForFork0_#in~arg.offset_4|) (= |v_threadThread1of2ForFork0_#in~arg.base_4| 0)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_14|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_12|} OutVars{threadThread1of2ForFork0_~arg.base=v_threadThread1of2ForFork0_~arg.base_6, threadThread1of2ForFork0_#res.base=|v_threadThread1of2ForFork0_#res.base_4|, threadThread1of2ForFork0_thidvar0=v_threadThread1of2ForFork0_thidvar0_2, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_14|, threadThread1of2ForFork0_#res.offset=|v_threadThread1of2ForFork0_#res.offset_4|, threadThread1of2ForFork0_~arg.offset=v_threadThread1of2ForFork0_~arg.offset_6, threadThread1of2ForFork0_#in~arg.base=|v_threadThread1of2ForFork0_#in~arg.base_4|, threadThread1of2ForFork0_#in~arg.offset=|v_threadThread1of2ForFork0_#in~arg.offset_4|, threadThread1of2ForFork0_~thread~0=v_threadThread1of2ForFork0_~thread~0_6, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_12|} AuxVars[] AssignedVars[threadThread1of2ForFork0_~arg.base, threadThread1of2ForFork0_#res.base, threadThread1of2ForFork0_thidvar0, threadThread1of2ForFork0_#res.offset, threadThread1of2ForFork0_~arg.offset, threadThread1of2ForFork0_#in~arg.base, threadThread1of2ForFork0_#in~arg.offset, threadThread1of2ForFork0_~thread~0] 137#[threadENTRY, L724-4]don't care [201] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 141#[threadENTRY, L724-5]don't care [155] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 147#[threadENTRY, L723-2]don't care [183] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 155#[threadENTRY, L723-3]don't care [162] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 165#[threadENTRY, L723-4]don't care [178] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 177#[threadENTRY, L723-5]don't care [169] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 191#[threadENTRY, L724]don't care [165] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 209#[threadENTRY, L724-1]don't care [191] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 233#[threadENTRY, L724-2]don't care [157] L724-2-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0))) (and (= (select |v_#valid_6| |v_ULTIMATE.start_main_~#t~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|)) (<= 0 .cse1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_5|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_4|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] 261#[threadENTRY, L724-3]don't care [218] L724-3-->threadENTRY: Formula: (and (= |v_threadThread2of2ForFork0_#in~arg.base_4| 0) (= |v_ULTIMATE.start_main_~i~0#1_16| |v_threadThread2of2ForFork0_#in~arg.offset_4|) (= v_threadThread2of2ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_14|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_16|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_14|} OutVars{threadThread2of2ForFork0_#in~arg.base=|v_threadThread2of2ForFork0_#in~arg.base_4|, threadThread2of2ForFork0_~arg.offset=v_threadThread2of2ForFork0_~arg.offset_6, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_16|, threadThread2of2ForFork0_#res.offset=|v_threadThread2of2ForFork0_#res.offset_4|, threadThread2of2ForFork0_~arg.base=v_threadThread2of2ForFork0_~arg.base_6, threadThread2of2ForFork0_thidvar0=v_threadThread2of2ForFork0_thidvar0_2, threadThread2of2ForFork0_#in~arg.offset=|v_threadThread2of2ForFork0_#in~arg.offset_4|, threadThread2of2ForFork0_~thread~0=v_threadThread2of2ForFork0_~thread~0_6, threadThread2of2ForFork0_#res.base=|v_threadThread2of2ForFork0_#res.base_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_14|} AuxVars[] AssignedVars[threadThread2of2ForFork0_#in~arg.base, threadThread2of2ForFork0_~arg.offset, threadThread2of2ForFork0_#res.offset, threadThread2of2ForFork0_~arg.base, threadThread2of2ForFork0_thidvar0, threadThread2of2ForFork0_#in~arg.offset, threadThread2of2ForFork0_~thread~0, threadThread2of2ForFork0_#res.base] 293#[L724-4, threadENTRY, threadENTRY]don't care [201] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 329#[threadENTRY, threadENTRY, L724-5]don't care [155] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 369#[L723-2, threadENTRY, threadENTRY]don't care [183] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 411#[L723-3, threadENTRY, threadENTRY]don't care [162] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 459#[threadENTRY, L723-4, threadENTRY]don't care [178] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 515#[L723-5, threadENTRY, threadENTRY]don't care [169] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 581#[threadENTRY, threadENTRY, L724]don't care [165] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 659#[threadENTRY, threadENTRY, L724-1]don't care [191] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 751#[L724-2, threadENTRY, threadENTRY]don't care [157] L724-2-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0))) (and (= (select |v_#valid_6| |v_ULTIMATE.start_main_~#t~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|)) (<= 0 .cse1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_5|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_4|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] 859#[threadENTRY, threadENTRY, L724-3]don't care [215] L724-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 983#[threadENTRY, threadENTRY, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [2022-07-22 12:04:40,419 INFO L750 eck$LassoCheckResult]: Loop: 983#[threadENTRY, threadENTRY, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [216] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 983#[threadENTRY, threadENTRY, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [2022-07-22 12:04:40,419 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 12:04:40,420 INFO L85 PathProgramCache]: Analyzing trace with hash 643971283, now seen corresponding path program 1 times [2022-07-22 12:04:40,420 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 12:04:40,420 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1681653909] [2022-07-22 12:04:40,420 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 12:04:40,421 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 12:04:40,464 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:04:40,464 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 12:04:40,525 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:04:40,548 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 12:04:40,550 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 12:04:40,550 INFO L85 PathProgramCache]: Analyzing trace with hash 247, now seen corresponding path program 1 times [2022-07-22 12:04:40,550 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 12:04:40,551 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [657260424] [2022-07-22 12:04:40,551 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 12:04:40,551 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 12:04:40,572 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:04:40,572 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 12:04:40,578 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:04:40,583 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 12:04:40,584 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 12:04:40,584 INFO L85 PathProgramCache]: Analyzing trace with hash -1511726491, now seen corresponding path program 1 times [2022-07-22 12:04:40,584 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 12:04:40,585 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [13708119] [2022-07-22 12:04:40,585 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 12:04:40,585 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 12:04:40,648 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:04:40,649 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 12:04:40,695 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:04:40,711 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 12:04:41,714 WARN L146 chiAutomizerObserver]: 2 thread instances were not sufficient, I will increase this number and restart the analysis [2022-07-22 12:04:41,730 INFO L144 ThreadInstanceAdder]: Constructed 3 joinOtherThreadTransitions. [2022-07-22 12:04:41,734 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 73 places, 73 transitions, 176 flow [2022-07-22 12:04:41,771 INFO L129 PetriNetUnfolder]: 25/219 cut-off events. [2022-07-22 12:04:41,772 INFO L130 PetriNetUnfolder]: For 19/19 co-relation queries the response was YES. [2022-07-22 12:04:41,773 INFO L84 FinitePrefix]: Finished finitePrefix Result has 247 conditions, 219 events. 25/219 cut-off events. For 19/19 co-relation queries the response was YES. Maximal size of possible extension queue 7. Compared 476 event pairs, 1 based on Foata normal form. 0/191 useless extension candidates. Maximal degree in co-relation 140. Up to 16 conditions per place. [2022-07-22 12:04:41,773 INFO L82 GeneralOperation]: Start removeDead. Operand has 73 places, 73 transitions, 176 flow [2022-07-22 12:04:41,778 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 73 places, 73 transitions, 176 flow [2022-07-22 12:04:41,778 INFO L300 stractBuchiCegarLoop]: Interprodecural is true [2022-07-22 12:04:41,779 INFO L301 stractBuchiCegarLoop]: Hoare is false [2022-07-22 12:04:41,779 INFO L302 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2022-07-22 12:04:41,779 INFO L303 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2022-07-22 12:04:41,779 INFO L304 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2022-07-22 12:04:41,779 INFO L305 stractBuchiCegarLoop]: Difference is false [2022-07-22 12:04:41,779 INFO L306 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2022-07-22 12:04:41,779 INFO L310 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2022-07-22 12:04:41,780 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand currently 0 states, but on-demand construction may add more states [2022-07-22 12:04:42,605 INFO L131 ngComponentsAnalysis]: Automaton has 216 accepting balls. 216 [2022-07-22 12:04:42,606 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 12:04:42,606 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 12:04:42,608 INFO L150 hiAutomatonCegarLoop]: Counterexample stem histogram [4, 4, 4, 4, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 12:04:42,608 INFO L151 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2022-07-22 12:04:42,608 INFO L332 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2022-07-22 12:04:42,608 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand currently 7794 states, but on-demand construction may add more states [2022-07-22 12:04:42,850 INFO L131 ngComponentsAnalysis]: Automaton has 216 accepting balls. 216 [2022-07-22 12:04:42,851 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 12:04:42,851 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 12:04:42,852 INFO L150 hiAutomatonCegarLoop]: Counterexample stem histogram [4, 4, 4, 4, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 12:04:42,852 INFO L151 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2022-07-22 12:04:42,855 INFO L748 eck$LassoCheckResult]: Stem: 76#[ULTIMATE.startENTRY]don't care [263] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 79#[L-1]don't care [253] L-1-->L-1-1: Formula: (and (= |v_#NULL.base_1| 0) (= |v_#NULL.offset_1| 0)) InVars {} OutVars{#NULL.offset=|v_#NULL.offset_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] 81#[L-1-1]don't care [270] L-1-1-->L-1-2: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] 83#[L-1-2]don't care [271] L-1-2-->L16: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] 85#[L16]don't care [252] L16-->L16-1: Formula: (and (= (select |v_#valid_2| 1) 1) (= 2 (select |v_#length_1| 1))) InVars {#length=|v_#length_1|, #valid=|v_#valid_2|} OutVars{#length=|v_#length_1|, #valid=|v_#valid_2|} AuxVars[] AssignedVars[] 87#[L16-1]don't care [221] L16-1-->L16-2: Formula: (= 48 (select (select |v_#memory_int_1| 1) 0)) InVars {#memory_int=|v_#memory_int_1|} OutVars{#memory_int=|v_#memory_int_1|} AuxVars[] AssignedVars[] 89#[L16-2]don't care [275] L16-2-->L16-3: Formula: (= (select (select |v_#memory_int_2| 1) 1) 0) InVars {#memory_int=|v_#memory_int_2|} OutVars{#memory_int=|v_#memory_int_2|} AuxVars[] AssignedVars[] 91#[L16-3]don't care [257] L16-3-->L16-4: Formula: (and (= (select |v_#valid_3| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] 93#[L16-4]don't care [260] L16-4-->L16-5: Formula: (= (select (select |v_#memory_int_3| 2) 0) 0) InVars {#memory_int=|v_#memory_int_3|} OutVars{#memory_int=|v_#memory_int_3|} AuxVars[] AssignedVars[] 95#[L16-5]don't care [250] L16-5-->L-1-3: Formula: (= v_~x~0_1 0) InVars {} OutVars{~x~0=v_~x~0_1} AuxVars[] AssignedVars[~x~0] 97#[L-1-3]don't care [272] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 99#[L-1-4]don't care [255] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 101#[L-1-5]don't care [234] L-1-5-->L-1-6: Formula: (and (= |v_ULTIMATE.start_#in~argv#1.offset_1| |v_ULTIMATE.start_main_#in~argv#1.offset_1|) (= |v_ULTIMATE.start_main_#in~argv#1.base_1| |v_ULTIMATE.start_#in~argv#1.base_1|) (= |v_ULTIMATE.start_main_#in~argc#1_1| |v_ULTIMATE.start_#in~argc#1_1|)) InVars {ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} OutVars{ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_1|, ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_1|, ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#in~argv#1.base, ULTIMATE.start_main_#in~argc#1, ULTIMATE.start_main_#in~argv#1.offset] 103#[L-1-6]don't care [254] L-1-6-->L-1-7: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] 105#[L-1-7]don't care [231] L-1-7-->L718: Formula: true InVars {} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_1|, ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_1|, ULTIMATE.start_main_~i~1#1=|v_ULTIMATE.start_main_~i~1#1_1|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_1|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_1|, ULTIMATE.start_main_#t~post4#1=|v_ULTIMATE.start_main_#t~post4#1_1|, ULTIMATE.start_main_#t~mem5#1=|v_ULTIMATE.start_main_#t~mem5#1_1|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1, ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~1#1, ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t~0#1.offset, ULTIMATE.start_main_#t~post4#1, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~mem5#1, ULTIMATE.start_main_~#t~0#1.base, ULTIMATE.start_main_#t~pre2#1] 107#[L718]don't care [239] L718-->L718-1: Formula: (= |v_ULTIMATE.start_main_#in~argc#1_2| |v_ULTIMATE.start_main_~argc#1_2|) InVars {ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_2|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1] 109#[L718-1]don't care [276] L718-1-->L719: Formula: (and (= |v_ULTIMATE.start_main_~argv#1.offset_2| |v_ULTIMATE.start_main_#in~argv#1.offset_2|) (= |v_ULTIMATE.start_main_#in~argv#1.base_2| |v_ULTIMATE.start_main_~argv#1.base_2|)) InVars {ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|} OutVars{ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~argv#1.offset] 111#[L719]don't care [223] L719-->L719-1: Formula: (and (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 104) |v_#length_3|) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] 113#[L719-1]don't care [261] L719-1-->L722: Formula: (= v_~x~0_2 0) InVars {} OutVars{~x~0=v_~x~0_2} AuxVars[] AssignedVars[~x~0] 115#[L722]don't care [273] L722-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 1) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 117#[L723-5]don't care [242] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 121#[L724]don't care [238] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 127#[L724-1]don't care [264] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 133#[L724-2]don't care [230] L724-2-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0))) (and (= (select |v_#valid_6| |v_ULTIMATE.start_main_~#t~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|)) (<= 0 .cse1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_5|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_4|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] 139#[L724-3]don't care [295] L724-3-->threadENTRY: Formula: (and (= |v_ULTIMATE.start_main_~i~0#1_22| |v_threadThread1of3ForFork0_#in~arg.offset_4|) (= v_threadThread1of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_22|) (= |v_threadThread1of3ForFork0_#in~arg.base_4| 0)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_22|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_22|} OutVars{threadThread1of3ForFork0_#res.base=|v_threadThread1of3ForFork0_#res.base_4|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_22|, threadThread1of3ForFork0_#in~arg.base=|v_threadThread1of3ForFork0_#in~arg.base_4|, threadThread1of3ForFork0_#res.offset=|v_threadThread1of3ForFork0_#res.offset_4|, threadThread1of3ForFork0_~thread~0=v_threadThread1of3ForFork0_~thread~0_6, threadThread1of3ForFork0_thidvar0=v_threadThread1of3ForFork0_thidvar0_2, threadThread1of3ForFork0_#in~arg.offset=|v_threadThread1of3ForFork0_#in~arg.offset_4|, threadThread1of3ForFork0_~arg.base=v_threadThread1of3ForFork0_~arg.base_6, threadThread1of3ForFork0_~arg.offset=v_threadThread1of3ForFork0_~arg.offset_6, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_22|} AuxVars[] AssignedVars[threadThread1of3ForFork0_#res.base, threadThread1of3ForFork0_#in~arg.base, threadThread1of3ForFork0_#res.offset, threadThread1of3ForFork0_~thread~0, threadThread1of3ForFork0_thidvar0, threadThread1of3ForFork0_#in~arg.offset, threadThread1of3ForFork0_~arg.base, threadThread1of3ForFork0_~arg.offset] 145#[L724-4, threadENTRY]don't care [274] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 151#[L724-5, threadENTRY]don't care [228] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 159#[threadENTRY, L723-2]don't care [256] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 169#[L723-3, threadENTRY]don't care [235] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 181#[L723-4, threadENTRY]don't care [251] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 195#[L723-5, threadENTRY]don't care [242] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 209#[threadENTRY, L724]don't care [238] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 227#[L724-1, threadENTRY]don't care [264] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 249#[L724-2, threadENTRY]don't care [230] L724-2-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0))) (and (= (select |v_#valid_6| |v_ULTIMATE.start_main_~#t~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|)) (<= 0 .cse1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_5|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_4|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] 275#[L724-3, threadENTRY]don't care [296] L724-3-->threadENTRY: Formula: (and (= |v_threadThread2of3ForFork0_#in~arg.base_4| 0) (= v_threadThread2of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_24|) (= |v_ULTIMATE.start_main_~i~0#1_24| |v_threadThread2of3ForFork0_#in~arg.offset_4|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_24|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_24|} OutVars{threadThread2of3ForFork0_thidvar0=v_threadThread2of3ForFork0_thidvar0_2, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_24|, threadThread2of3ForFork0_#in~arg.offset=|v_threadThread2of3ForFork0_#in~arg.offset_4|, threadThread2of3ForFork0_~thread~0=v_threadThread2of3ForFork0_~thread~0_6, threadThread2of3ForFork0_#res.offset=|v_threadThread2of3ForFork0_#res.offset_4|, threadThread2of3ForFork0_#res.base=|v_threadThread2of3ForFork0_#res.base_4|, threadThread2of3ForFork0_#in~arg.base=|v_threadThread2of3ForFork0_#in~arg.base_4|, threadThread2of3ForFork0_~arg.offset=v_threadThread2of3ForFork0_~arg.offset_6, threadThread2of3ForFork0_~arg.base=v_threadThread2of3ForFork0_~arg.base_6, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_24|} AuxVars[] AssignedVars[threadThread2of3ForFork0_thidvar0, threadThread2of3ForFork0_#in~arg.offset, threadThread2of3ForFork0_~thread~0, threadThread2of3ForFork0_#res.offset, threadThread2of3ForFork0_#res.base, threadThread2of3ForFork0_#in~arg.base, threadThread2of3ForFork0_~arg.offset, threadThread2of3ForFork0_~arg.base] 305#[threadENTRY, L724-4, threadENTRY]don't care [274] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 337#[threadENTRY, threadENTRY, L724-5]don't care [228] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 373#[L723-2, threadENTRY, threadENTRY]don't care [256] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 413#[L723-3, threadENTRY, threadENTRY]don't care [235] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 459#[L723-4, threadENTRY, threadENTRY]don't care [251] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 513#[L723-5, threadENTRY, threadENTRY]don't care [242] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 579#[threadENTRY, L724, threadENTRY]don't care [238] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 659#[L724-1, threadENTRY, threadENTRY]don't care [264] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 753#[threadENTRY, L724-2, threadENTRY]don't care [230] L724-2-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0))) (and (= (select |v_#valid_6| |v_ULTIMATE.start_main_~#t~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|)) (<= 0 .cse1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_5|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_4|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] 863#[L724-3, threadENTRY, threadENTRY]don't care [297] L724-3-->threadENTRY: Formula: (and (= |v_threadThread3of3ForFork0_#in~arg.base_4| 0) (= v_threadThread3of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_26|) (= |v_ULTIMATE.start_main_~i~0#1_26| |v_threadThread3of3ForFork0_#in~arg.offset_4|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_26|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_26|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_26|, threadThread3of3ForFork0_~thread~0=v_threadThread3of3ForFork0_~thread~0_6, threadThread3of3ForFork0_#in~arg.offset=|v_threadThread3of3ForFork0_#in~arg.offset_4|, threadThread3of3ForFork0_#res.base=|v_threadThread3of3ForFork0_#res.base_4|, threadThread3of3ForFork0_~arg.offset=v_threadThread3of3ForFork0_~arg.offset_6, threadThread3of3ForFork0_thidvar0=v_threadThread3of3ForFork0_thidvar0_2, threadThread3of3ForFork0_#res.offset=|v_threadThread3of3ForFork0_#res.offset_4|, threadThread3of3ForFork0_#in~arg.base=|v_threadThread3of3ForFork0_#in~arg.base_4|, threadThread3of3ForFork0_~arg.base=v_threadThread3of3ForFork0_~arg.base_6, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_26|} AuxVars[] AssignedVars[threadThread3of3ForFork0_~thread~0, threadThread3of3ForFork0_#in~arg.offset, threadThread3of3ForFork0_#res.base, threadThread3of3ForFork0_~arg.offset, threadThread3of3ForFork0_thidvar0, threadThread3of3ForFork0_#res.offset, threadThread3of3ForFork0_#in~arg.base, threadThread3of3ForFork0_~arg.base] 989#[threadENTRY, threadENTRY, threadENTRY, L724-4]don't care [274] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 1133#[L724-5, threadENTRY, threadENTRY, threadENTRY]don't care [228] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 1299#[L723-2, threadENTRY, threadENTRY, threadENTRY]don't care [256] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 1489#[L723-3, threadENTRY, threadENTRY, threadENTRY]don't care [235] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 1707#[L723-4, threadENTRY, threadENTRY, threadENTRY]don't care [251] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 1955#[L723-5, threadENTRY, threadENTRY, threadENTRY]don't care [242] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 2243#[L724, threadENTRY, threadENTRY, threadENTRY]don't care [238] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 2577#[L724-1, threadENTRY, threadENTRY, threadENTRY]don't care [264] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 2967#[L724-2, threadENTRY, threadENTRY, threadENTRY]don't care [230] L724-2-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0))) (and (= (select |v_#valid_6| |v_ULTIMATE.start_main_~#t~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|)) (<= 0 .cse1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_5|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_4|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] 3423#[L724-3, threadENTRY, threadENTRY, threadENTRY]don't care [293] L724-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 3957#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadENTRY, threadENTRY, threadENTRY]don't care [2022-07-22 12:04:42,856 INFO L750 eck$LassoCheckResult]: Loop: 3957#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadENTRY, threadENTRY, threadENTRY]don't care [294] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 3957#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadENTRY, threadENTRY, threadENTRY]don't care [2022-07-22 12:04:42,857 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 12:04:42,857 INFO L85 PathProgramCache]: Analyzing trace with hash 822884060, now seen corresponding path program 1 times [2022-07-22 12:04:42,857 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 12:04:42,858 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [526771516] [2022-07-22 12:04:42,858 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 12:04:42,858 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 12:04:42,892 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:04:42,892 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 12:04:42,915 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:04:42,925 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 12:04:42,926 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 12:04:42,926 INFO L85 PathProgramCache]: Analyzing trace with hash 325, now seen corresponding path program 1 times [2022-07-22 12:04:42,927 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 12:04:42,927 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1114157789] [2022-07-22 12:04:42,927 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 12:04:42,928 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 12:04:42,933 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:04:42,934 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 12:04:42,938 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:04:42,944 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 12:04:42,945 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 12:04:42,945 INFO L85 PathProgramCache]: Analyzing trace with hash -260397622, now seen corresponding path program 1 times [2022-07-22 12:04:42,945 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 12:04:42,946 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2092092655] [2022-07-22 12:04:42,948 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 12:04:42,948 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 12:04:42,980 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:04:42,980 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 12:04:43,006 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:04:43,019 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 12:04:44,244 WARN L146 chiAutomizerObserver]: 3 thread instances were not sufficient, I will increase this number and restart the analysis [2022-07-22 12:04:44,259 INFO L144 ThreadInstanceAdder]: Constructed 4 joinOtherThreadTransitions. [2022-07-22 12:04:44,263 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 81 places, 80 transitions, 204 flow [2022-07-22 12:04:44,316 INFO L129 PetriNetUnfolder]: 48/373 cut-off events. [2022-07-22 12:04:44,317 INFO L130 PetriNetUnfolder]: For 48/48 co-relation queries the response was YES. [2022-07-22 12:04:44,318 INFO L84 FinitePrefix]: Finished finitePrefix Result has 428 conditions, 373 events. 48/373 cut-off events. For 48/48 co-relation queries the response was YES. Maximal size of possible extension queue 10. Compared 1134 event pairs, 6 based on Foata normal form. 0/326 useless extension candidates. Maximal degree in co-relation 238. Up to 32 conditions per place. [2022-07-22 12:04:44,319 INFO L82 GeneralOperation]: Start removeDead. Operand has 81 places, 80 transitions, 204 flow [2022-07-22 12:04:44,326 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 81 places, 80 transitions, 204 flow [2022-07-22 12:04:44,326 INFO L300 stractBuchiCegarLoop]: Interprodecural is true [2022-07-22 12:04:44,327 INFO L301 stractBuchiCegarLoop]: Hoare is false [2022-07-22 12:04:44,327 INFO L302 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2022-07-22 12:04:44,327 INFO L303 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2022-07-22 12:04:44,327 INFO L304 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2022-07-22 12:04:44,327 INFO L305 stractBuchiCegarLoop]: Difference is false [2022-07-22 12:04:44,327 INFO L306 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2022-07-22 12:04:44,327 INFO L310 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2022-07-22 12:04:44,327 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand currently 0 states, but on-demand construction may add more states [2022-07-22 12:04:49,959 INFO L131 ngComponentsAnalysis]: Automaton has 1296 accepting balls. 1296 [2022-07-22 12:04:49,960 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 12:04:49,960 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 12:04:49,963 INFO L150 hiAutomatonCegarLoop]: Counterexample stem histogram [5, 5, 5, 5, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 12:04:49,963 INFO L151 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2022-07-22 12:04:49,963 INFO L332 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2022-07-22 12:04:49,963 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand currently 51510 states, but on-demand construction may add more states [2022-07-22 12:04:51,913 INFO L131 ngComponentsAnalysis]: Automaton has 1296 accepting balls. 1296 [2022-07-22 12:04:51,913 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 12:04:51,913 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 12:04:51,915 INFO L150 hiAutomatonCegarLoop]: Counterexample stem histogram [5, 5, 5, 5, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 12:04:51,915 INFO L151 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2022-07-22 12:04:51,917 INFO L748 eck$LassoCheckResult]: Stem: 84#[ULTIMATE.startENTRY]don't care [343] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 87#[L-1]don't care [333] L-1-->L-1-1: Formula: (and (= |v_#NULL.base_1| 0) (= |v_#NULL.offset_1| 0)) InVars {} OutVars{#NULL.offset=|v_#NULL.offset_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] 89#[L-1-1]don't care [350] L-1-1-->L-1-2: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] 91#[L-1-2]don't care [351] L-1-2-->L16: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] 93#[L16]don't care [332] L16-->L16-1: Formula: (and (= (select |v_#valid_2| 1) 1) (= 2 (select |v_#length_1| 1))) InVars {#length=|v_#length_1|, #valid=|v_#valid_2|} OutVars{#length=|v_#length_1|, #valid=|v_#valid_2|} AuxVars[] AssignedVars[] 95#[L16-1]don't care [301] L16-1-->L16-2: Formula: (= 48 (select (select |v_#memory_int_1| 1) 0)) InVars {#memory_int=|v_#memory_int_1|} OutVars{#memory_int=|v_#memory_int_1|} AuxVars[] AssignedVars[] 97#[L16-2]don't care [355] L16-2-->L16-3: Formula: (= (select (select |v_#memory_int_2| 1) 1) 0) InVars {#memory_int=|v_#memory_int_2|} OutVars{#memory_int=|v_#memory_int_2|} AuxVars[] AssignedVars[] 99#[L16-3]don't care [337] L16-3-->L16-4: Formula: (and (= (select |v_#valid_3| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] 101#[L16-4]don't care [340] L16-4-->L16-5: Formula: (= (select (select |v_#memory_int_3| 2) 0) 0) InVars {#memory_int=|v_#memory_int_3|} OutVars{#memory_int=|v_#memory_int_3|} AuxVars[] AssignedVars[] 103#[L16-5]don't care [330] L16-5-->L-1-3: Formula: (= v_~x~0_1 0) InVars {} OutVars{~x~0=v_~x~0_1} AuxVars[] AssignedVars[~x~0] 105#[L-1-3]don't care [352] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 107#[L-1-4]don't care [335] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 109#[L-1-5]don't care [314] L-1-5-->L-1-6: Formula: (and (= |v_ULTIMATE.start_#in~argv#1.offset_1| |v_ULTIMATE.start_main_#in~argv#1.offset_1|) (= |v_ULTIMATE.start_main_#in~argv#1.base_1| |v_ULTIMATE.start_#in~argv#1.base_1|) (= |v_ULTIMATE.start_main_#in~argc#1_1| |v_ULTIMATE.start_#in~argc#1_1|)) InVars {ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} OutVars{ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_1|, ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_1|, ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#in~argv#1.base, ULTIMATE.start_main_#in~argc#1, ULTIMATE.start_main_#in~argv#1.offset] 111#[L-1-6]don't care [334] L-1-6-->L-1-7: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] 113#[L-1-7]don't care [311] L-1-7-->L718: Formula: true InVars {} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_1|, ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_1|, ULTIMATE.start_main_~i~1#1=|v_ULTIMATE.start_main_~i~1#1_1|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_1|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_1|, ULTIMATE.start_main_#t~post4#1=|v_ULTIMATE.start_main_#t~post4#1_1|, ULTIMATE.start_main_#t~mem5#1=|v_ULTIMATE.start_main_#t~mem5#1_1|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1, ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~1#1, ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t~0#1.offset, ULTIMATE.start_main_#t~post4#1, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~mem5#1, ULTIMATE.start_main_~#t~0#1.base, ULTIMATE.start_main_#t~pre2#1] 115#[L718]don't care [319] L718-->L718-1: Formula: (= |v_ULTIMATE.start_main_#in~argc#1_2| |v_ULTIMATE.start_main_~argc#1_2|) InVars {ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_2|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1] 117#[L718-1]don't care [356] L718-1-->L719: Formula: (and (= |v_ULTIMATE.start_main_~argv#1.offset_2| |v_ULTIMATE.start_main_#in~argv#1.offset_2|) (= |v_ULTIMATE.start_main_#in~argv#1.base_2| |v_ULTIMATE.start_main_~argv#1.base_2|)) InVars {ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|} OutVars{ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~argv#1.offset] 119#[L719]don't care [303] L719-->L719-1: Formula: (and (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 104) |v_#length_3|) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] 121#[L719-1]don't care [341] L719-1-->L722: Formula: (= v_~x~0_2 0) InVars {} OutVars{~x~0=v_~x~0_2} AuxVars[] AssignedVars[~x~0] 123#[L722]don't care [353] L722-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 1) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 125#[L723-5]don't care [322] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 129#[L724]don't care [318] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 135#[L724-1]don't care [344] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 141#[L724-2]don't care [310] L724-2-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0))) (and (= (select |v_#valid_6| |v_ULTIMATE.start_main_~#t~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|)) (<= 0 .cse1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_5|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_4|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] 147#[L724-3]don't care [380] L724-3-->threadENTRY: Formula: (and (= v_threadThread1of4ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_36|) (= |v_ULTIMATE.start_main_~i~0#1_33| |v_threadThread1of4ForFork0_#in~arg.offset_4|) (= |v_threadThread1of4ForFork0_#in~arg.base_4| 0)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_33|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_36|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_33|, threadThread1of4ForFork0_#res.base=|v_threadThread1of4ForFork0_#res.base_4|, threadThread1of4ForFork0_~arg.offset=v_threadThread1of4ForFork0_~arg.offset_6, threadThread1of4ForFork0_#res.offset=|v_threadThread1of4ForFork0_#res.offset_4|, threadThread1of4ForFork0_~arg.base=v_threadThread1of4ForFork0_~arg.base_6, threadThread1of4ForFork0_~thread~0=v_threadThread1of4ForFork0_~thread~0_6, threadThread1of4ForFork0_thidvar0=v_threadThread1of4ForFork0_thidvar0_2, threadThread1of4ForFork0_#in~arg.offset=|v_threadThread1of4ForFork0_#in~arg.offset_4|, threadThread1of4ForFork0_#in~arg.base=|v_threadThread1of4ForFork0_#in~arg.base_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_36|} AuxVars[] AssignedVars[threadThread1of4ForFork0_#res.base, threadThread1of4ForFork0_~arg.offset, threadThread1of4ForFork0_#res.offset, threadThread1of4ForFork0_~arg.base, threadThread1of4ForFork0_~thread~0, threadThread1of4ForFork0_thidvar0, threadThread1of4ForFork0_#in~arg.offset, threadThread1of4ForFork0_#in~arg.base] 153#[threadENTRY, L724-4]don't care [354] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 157#[threadENTRY, L724-5]don't care [308] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 163#[threadENTRY, L723-2]don't care [336] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 171#[threadENTRY, L723-3]don't care [315] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 183#[L723-4, threadENTRY]don't care [331] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 197#[L723-5, threadENTRY]don't care [322] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 213#[threadENTRY, L724]don't care [318] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 233#[threadENTRY, L724-1]don't care [344] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 257#[threadENTRY, L724-2]don't care [310] L724-2-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0))) (and (= (select |v_#valid_6| |v_ULTIMATE.start_main_~#t~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|)) (<= 0 .cse1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_5|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_4|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] 283#[threadENTRY, L724-3]don't care [381] L724-3-->threadENTRY: Formula: (and (= v_threadThread2of4ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_38|) (= 0 |v_threadThread2of4ForFork0_#in~arg.base_4|) (= |v_ULTIMATE.start_main_~i~0#1_35| |v_threadThread2of4ForFork0_#in~arg.offset_4|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_35|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_38|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_35|, threadThread2of4ForFork0_#in~arg.offset=|v_threadThread2of4ForFork0_#in~arg.offset_4|, threadThread2of4ForFork0_~arg.offset=v_threadThread2of4ForFork0_~arg.offset_6, threadThread2of4ForFork0_thidvar0=v_threadThread2of4ForFork0_thidvar0_2, threadThread2of4ForFork0_#res.base=|v_threadThread2of4ForFork0_#res.base_4|, threadThread2of4ForFork0_#in~arg.base=|v_threadThread2of4ForFork0_#in~arg.base_4|, threadThread2of4ForFork0_~arg.base=v_threadThread2of4ForFork0_~arg.base_6, threadThread2of4ForFork0_~thread~0=v_threadThread2of4ForFork0_~thread~0_6, threadThread2of4ForFork0_#res.offset=|v_threadThread2of4ForFork0_#res.offset_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_38|} AuxVars[] AssignedVars[threadThread2of4ForFork0_#in~arg.offset, threadThread2of4ForFork0_~arg.offset, threadThread2of4ForFork0_thidvar0, threadThread2of4ForFork0_#res.base, threadThread2of4ForFork0_#in~arg.base, threadThread2of4ForFork0_~arg.base, threadThread2of4ForFork0_~thread~0, threadThread2of4ForFork0_#res.offset] 313#[L724-4, threadENTRY, threadENTRY]don't care [354] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 347#[L724-5, threadENTRY, threadENTRY]don't care [308] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 385#[threadENTRY, L723-2, threadENTRY]don't care [336] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 427#[threadENTRY, threadENTRY, L723-3]don't care [315] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 475#[threadENTRY, threadENTRY, L723-4]don't care [331] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 531#[L723-5, threadENTRY, threadENTRY]don't care [322] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 597#[threadENTRY, threadENTRY, L724]don't care [318] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 675#[L724-1, threadENTRY, threadENTRY]don't care [344] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 767#[L724-2, threadENTRY, threadENTRY]don't care [310] L724-2-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0))) (and (= (select |v_#valid_6| |v_ULTIMATE.start_main_~#t~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|)) (<= 0 .cse1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_5|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_4|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] 875#[L724-3, threadENTRY, threadENTRY]don't care [382] L724-3-->threadENTRY: Formula: (and (= |v_threadThread3of4ForFork0_#in~arg.base_4| 0) (= |v_ULTIMATE.start_main_~i~0#1_37| |v_threadThread3of4ForFork0_#in~arg.offset_4|) (= v_threadThread3of4ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_40|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_37|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_40|} OutVars{threadThread3of4ForFork0_#in~arg.offset=|v_threadThread3of4ForFork0_#in~arg.offset_4|, threadThread3of4ForFork0_~thread~0=v_threadThread3of4ForFork0_~thread~0_6, threadThread3of4ForFork0_thidvar0=v_threadThread3of4ForFork0_thidvar0_2, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_37|, threadThread3of4ForFork0_~arg.offset=v_threadThread3of4ForFork0_~arg.offset_6, threadThread3of4ForFork0_#res.base=|v_threadThread3of4ForFork0_#res.base_4|, threadThread3of4ForFork0_~arg.base=v_threadThread3of4ForFork0_~arg.base_6, threadThread3of4ForFork0_#in~arg.base=|v_threadThread3of4ForFork0_#in~arg.base_4|, threadThread3of4ForFork0_#res.offset=|v_threadThread3of4ForFork0_#res.offset_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_40|} AuxVars[] AssignedVars[threadThread3of4ForFork0_#in~arg.offset, threadThread3of4ForFork0_~thread~0, threadThread3of4ForFork0_thidvar0, threadThread3of4ForFork0_~arg.offset, threadThread3of4ForFork0_#res.base, threadThread3of4ForFork0_~arg.base, threadThread3of4ForFork0_#in~arg.base, threadThread3of4ForFork0_#res.offset] 999#[threadENTRY, threadENTRY, L724-4, threadENTRY]don't care [354] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 1141#[L724-5, threadENTRY, threadENTRY, threadENTRY]don't care [308] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 1307#[threadENTRY, threadENTRY, L723-2, threadENTRY]don't care [336] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 1497#[threadENTRY, threadENTRY, L723-3, threadENTRY]don't care [315] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 1715#[L723-4, threadENTRY, threadENTRY, threadENTRY]don't care [331] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 1963#[L723-5, threadENTRY, threadENTRY, threadENTRY]don't care [322] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 2251#[L724, threadENTRY, threadENTRY, threadENTRY]don't care [318] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 2585#[threadENTRY, threadENTRY, L724-1, threadENTRY]don't care [344] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 2975#[threadENTRY, L724-2, threadENTRY, threadENTRY]don't care [310] L724-2-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0))) (and (= (select |v_#valid_6| |v_ULTIMATE.start_main_~#t~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|)) (<= 0 .cse1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_5|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_4|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] 3431#[L724-3, threadENTRY, threadENTRY, threadENTRY]don't care [383] L724-3-->threadENTRY: Formula: (and (= v_threadThread4of4ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_42|) (= |v_ULTIMATE.start_main_~i~0#1_39| |v_threadThread4of4ForFork0_#in~arg.offset_4|) (= |v_threadThread4of4ForFork0_#in~arg.base_4| 0)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_39|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_42|} OutVars{threadThread4of4ForFork0_#res.offset=|v_threadThread4of4ForFork0_#res.offset_4|, threadThread4of4ForFork0_~arg.base=v_threadThread4of4ForFork0_~arg.base_6, threadThread4of4ForFork0_~thread~0=v_threadThread4of4ForFork0_~thread~0_6, threadThread4of4ForFork0_#res.base=|v_threadThread4of4ForFork0_#res.base_4|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_39|, threadThread4of4ForFork0_#in~arg.base=|v_threadThread4of4ForFork0_#in~arg.base_4|, threadThread4of4ForFork0_~arg.offset=v_threadThread4of4ForFork0_~arg.offset_6, threadThread4of4ForFork0_thidvar0=v_threadThread4of4ForFork0_thidvar0_2, threadThread4of4ForFork0_#in~arg.offset=|v_threadThread4of4ForFork0_#in~arg.offset_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_42|} AuxVars[] AssignedVars[threadThread4of4ForFork0_#res.offset, threadThread4of4ForFork0_~arg.base, threadThread4of4ForFork0_~thread~0, threadThread4of4ForFork0_#res.base, threadThread4of4ForFork0_#in~arg.base, threadThread4of4ForFork0_~arg.offset, threadThread4of4ForFork0_thidvar0, threadThread4of4ForFork0_#in~arg.offset] 3965#[threadENTRY, L724-4, threadENTRY, threadENTRY, threadENTRY]don't care [354] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 4589#[L724-5, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [308] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 5317#[L723-2, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [336] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 6159#[L723-3, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [315] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 7129#[threadENTRY, threadENTRY, L723-4, threadENTRY, threadENTRY]don't care [331] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 8239#[threadENTRY, threadENTRY, L723-5, threadENTRY, threadENTRY]don't care [322] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 9515#[threadENTRY, threadENTRY, L724, threadENTRY, threadENTRY]don't care [318] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 10981#[L724-1, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [344] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 12669#[L724-2, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [310] L724-2-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0))) (and (= (select |v_#valid_6| |v_ULTIMATE.start_main_~#t~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|)) (<= 0 .cse1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_5|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_4|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] 14625#[threadENTRY, threadENTRY, threadENTRY, L724-3, threadENTRY]don't care [378] L724-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 16905#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [2022-07-22 12:04:51,917 INFO L750 eck$LassoCheckResult]: Loop: 16905#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [379] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 16905#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [2022-07-22 12:04:51,918 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 12:04:51,918 INFO L85 PathProgramCache]: Analyzing trace with hash -628648073, now seen corresponding path program 1 times [2022-07-22 12:04:51,918 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 12:04:51,919 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1206318481] [2022-07-22 12:04:51,919 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 12:04:51,919 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 12:04:51,947 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:04:51,947 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 12:04:51,965 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:04:51,975 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 12:04:51,976 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 12:04:51,976 INFO L85 PathProgramCache]: Analyzing trace with hash 410, now seen corresponding path program 1 times [2022-07-22 12:04:51,976 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 12:04:51,977 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [727468865] [2022-07-22 12:04:51,977 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 12:04:51,977 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 12:04:51,981 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:04:51,982 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 12:04:51,983 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:04:51,984 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 12:04:51,985 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 12:04:51,985 INFO L85 PathProgramCache]: Analyzing trace with hash 1986746596, now seen corresponding path program 1 times [2022-07-22 12:04:51,985 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 12:04:51,986 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [88171286] [2022-07-22 12:04:51,986 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 12:04:51,986 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 12:04:52,010 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:04:52,010 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 12:04:52,026 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:04:52,039 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 12:04:54,098 WARN L146 chiAutomizerObserver]: 4 thread instances were not sufficient, I will increase this number and restart the analysis [2022-07-22 12:04:54,115 INFO L144 ThreadInstanceAdder]: Constructed 5 joinOtherThreadTransitions. [2022-07-22 12:04:54,119 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 89 places, 87 transitions, 234 flow [2022-07-22 12:04:54,205 INFO L129 PetriNetUnfolder]: 99/667 cut-off events. [2022-07-22 12:04:54,206 INFO L130 PetriNetUnfolder]: For 110/110 co-relation queries the response was YES. [2022-07-22 12:04:54,208 INFO L84 FinitePrefix]: Finished finitePrefix Result has 778 conditions, 667 events. 99/667 cut-off events. For 110/110 co-relation queries the response was YES. Maximal size of possible extension queue 17. Compared 2750 event pairs, 23 based on Foata normal form. 0/585 useless extension candidates. Maximal degree in co-relation 417. Up to 80 conditions per place. [2022-07-22 12:04:54,209 INFO L82 GeneralOperation]: Start removeDead. Operand has 89 places, 87 transitions, 234 flow [2022-07-22 12:04:54,221 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 89 places, 87 transitions, 234 flow [2022-07-22 12:04:54,222 INFO L300 stractBuchiCegarLoop]: Interprodecural is true [2022-07-22 12:04:54,222 INFO L301 stractBuchiCegarLoop]: Hoare is false [2022-07-22 12:04:54,222 INFO L302 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2022-07-22 12:04:54,222 INFO L303 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2022-07-22 12:04:54,223 INFO L304 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2022-07-22 12:04:54,223 INFO L305 stractBuchiCegarLoop]: Difference is false [2022-07-22 12:04:54,223 INFO L306 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2022-07-22 12:04:54,223 INFO L310 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2022-07-22 12:04:54,223 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand currently 0 states, but on-demand construction may add more states [2022-07-22 12:05:38,189 INFO L131 ngComponentsAnalysis]: Automaton has 7776 accepting balls. 7776 [2022-07-22 12:05:38,189 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 12:05:38,189 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 12:05:38,194 INFO L150 hiAutomatonCegarLoop]: Counterexample stem histogram [6, 6, 6, 6, 5, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 12:05:38,194 INFO L151 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2022-07-22 12:05:38,194 INFO L332 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2022-07-22 12:05:38,195 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand currently 342618 states, but on-demand construction may add more states [2022-07-22 12:05:49,206 INFO L131 ngComponentsAnalysis]: Automaton has 7776 accepting balls. 7776 [2022-07-22 12:05:49,207 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 12:05:49,207 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 12:05:49,212 INFO L150 hiAutomatonCegarLoop]: Counterexample stem histogram [6, 6, 6, 6, 5, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 12:05:49,212 INFO L151 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2022-07-22 12:05:49,214 INFO L748 eck$LassoCheckResult]: Stem: 92#[ULTIMATE.startENTRY]don't care [430] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 95#[L-1]don't care [420] L-1-->L-1-1: Formula: (and (= |v_#NULL.base_1| 0) (= |v_#NULL.offset_1| 0)) InVars {} OutVars{#NULL.offset=|v_#NULL.offset_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] 97#[L-1-1]don't care [437] L-1-1-->L-1-2: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] 99#[L-1-2]don't care [438] L-1-2-->L16: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] 101#[L16]don't care [419] L16-->L16-1: Formula: (and (= (select |v_#valid_2| 1) 1) (= 2 (select |v_#length_1| 1))) InVars {#length=|v_#length_1|, #valid=|v_#valid_2|} OutVars{#length=|v_#length_1|, #valid=|v_#valid_2|} AuxVars[] AssignedVars[] 103#[L16-1]don't care [388] L16-1-->L16-2: Formula: (= 48 (select (select |v_#memory_int_1| 1) 0)) InVars {#memory_int=|v_#memory_int_1|} OutVars{#memory_int=|v_#memory_int_1|} AuxVars[] AssignedVars[] 105#[L16-2]don't care [442] L16-2-->L16-3: Formula: (= (select (select |v_#memory_int_2| 1) 1) 0) InVars {#memory_int=|v_#memory_int_2|} OutVars{#memory_int=|v_#memory_int_2|} AuxVars[] AssignedVars[] 107#[L16-3]don't care [424] L16-3-->L16-4: Formula: (and (= (select |v_#valid_3| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] 109#[L16-4]don't care [427] L16-4-->L16-5: Formula: (= (select (select |v_#memory_int_3| 2) 0) 0) InVars {#memory_int=|v_#memory_int_3|} OutVars{#memory_int=|v_#memory_int_3|} AuxVars[] AssignedVars[] 111#[L16-5]don't care [417] L16-5-->L-1-3: Formula: (= v_~x~0_1 0) InVars {} OutVars{~x~0=v_~x~0_1} AuxVars[] AssignedVars[~x~0] 113#[L-1-3]don't care [439] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 115#[L-1-4]don't care [422] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 117#[L-1-5]don't care [401] L-1-5-->L-1-6: Formula: (and (= |v_ULTIMATE.start_#in~argv#1.offset_1| |v_ULTIMATE.start_main_#in~argv#1.offset_1|) (= |v_ULTIMATE.start_main_#in~argv#1.base_1| |v_ULTIMATE.start_#in~argv#1.base_1|) (= |v_ULTIMATE.start_main_#in~argc#1_1| |v_ULTIMATE.start_#in~argc#1_1|)) InVars {ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} OutVars{ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_1|, ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_1|, ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#in~argv#1.base, ULTIMATE.start_main_#in~argc#1, ULTIMATE.start_main_#in~argv#1.offset] 119#[L-1-6]don't care [421] L-1-6-->L-1-7: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] 121#[L-1-7]don't care [398] L-1-7-->L718: Formula: true InVars {} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_1|, ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_1|, ULTIMATE.start_main_~i~1#1=|v_ULTIMATE.start_main_~i~1#1_1|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_1|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_1|, ULTIMATE.start_main_#t~post4#1=|v_ULTIMATE.start_main_#t~post4#1_1|, ULTIMATE.start_main_#t~mem5#1=|v_ULTIMATE.start_main_#t~mem5#1_1|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1, ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~1#1, ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t~0#1.offset, ULTIMATE.start_main_#t~post4#1, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~mem5#1, ULTIMATE.start_main_~#t~0#1.base, ULTIMATE.start_main_#t~pre2#1] 123#[L718]don't care [406] L718-->L718-1: Formula: (= |v_ULTIMATE.start_main_#in~argc#1_2| |v_ULTIMATE.start_main_~argc#1_2|) InVars {ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_2|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1] 125#[L718-1]don't care [443] L718-1-->L719: Formula: (and (= |v_ULTIMATE.start_main_~argv#1.offset_2| |v_ULTIMATE.start_main_#in~argv#1.offset_2|) (= |v_ULTIMATE.start_main_#in~argv#1.base_2| |v_ULTIMATE.start_main_~argv#1.base_2|)) InVars {ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|} OutVars{ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~argv#1.offset] 127#[L719]don't care [390] L719-->L719-1: Formula: (and (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 104) |v_#length_3|) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] 129#[L719-1]don't care [428] L719-1-->L722: Formula: (= v_~x~0_2 0) InVars {} OutVars{~x~0=v_~x~0_2} AuxVars[] AssignedVars[~x~0] 131#[L722]don't care [440] L722-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 1) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 133#[L723-5]don't care [409] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 137#[L724]don't care [405] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 143#[L724-1]don't care [431] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 149#[L724-2]don't care [397] L724-2-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0))) (and (= (select |v_#valid_6| |v_ULTIMATE.start_main_~#t~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|)) (<= 0 .cse1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_5|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_4|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] 155#[L724-3]don't care [472] L724-3-->threadENTRY: Formula: (and (= v_threadThread1of5ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_54|) (= |v_threadThread1of5ForFork0_#in~arg.base_4| 0) (= |v_ULTIMATE.start_main_~i~0#1_47| |v_threadThread1of5ForFork0_#in~arg.offset_4|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_47|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_54|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_47|, threadThread1of5ForFork0_#res.offset=|v_threadThread1of5ForFork0_#res.offset_4|, threadThread1of5ForFork0_~arg.base=v_threadThread1of5ForFork0_~arg.base_6, threadThread1of5ForFork0_#in~arg.base=|v_threadThread1of5ForFork0_#in~arg.base_4|, threadThread1of5ForFork0_#res.base=|v_threadThread1of5ForFork0_#res.base_4|, threadThread1of5ForFork0_~arg.offset=v_threadThread1of5ForFork0_~arg.offset_6, threadThread1of5ForFork0_~thread~0=v_threadThread1of5ForFork0_~thread~0_6, threadThread1of5ForFork0_thidvar0=v_threadThread1of5ForFork0_thidvar0_2, threadThread1of5ForFork0_#in~arg.offset=|v_threadThread1of5ForFork0_#in~arg.offset_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_54|} AuxVars[] AssignedVars[threadThread1of5ForFork0_#res.offset, threadThread1of5ForFork0_~arg.base, threadThread1of5ForFork0_#in~arg.base, threadThread1of5ForFork0_#res.base, threadThread1of5ForFork0_~arg.offset, threadThread1of5ForFork0_~thread~0, threadThread1of5ForFork0_thidvar0, threadThread1of5ForFork0_#in~arg.offset] 161#[L724-4, threadENTRY]don't care [441] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 165#[L724-5, threadENTRY]don't care [395] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 171#[threadENTRY, L723-2]don't care [423] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 179#[threadENTRY, L723-3]don't care [402] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 189#[L723-4, threadENTRY]don't care [418] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 201#[L723-5, threadENTRY]don't care [409] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 215#[threadENTRY, L724]don't care [405] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 233#[L724-1, threadENTRY]don't care [431] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 257#[L724-2, threadENTRY]don't care [397] L724-2-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0))) (and (= (select |v_#valid_6| |v_ULTIMATE.start_main_~#t~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|)) (<= 0 .cse1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_5|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_4|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] 285#[L724-3, threadENTRY]don't care [473] L724-3-->threadENTRY: Formula: (and (= 0 |v_threadThread2of5ForFork0_#in~arg.base_4|) (= v_threadThread2of5ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_56|) (= |v_ULTIMATE.start_main_~i~0#1_49| |v_threadThread2of5ForFork0_#in~arg.offset_4|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_49|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_56|} OutVars{threadThread2of5ForFork0_~thread~0=v_threadThread2of5ForFork0_~thread~0_6, threadThread2of5ForFork0_#in~arg.offset=|v_threadThread2of5ForFork0_#in~arg.offset_4|, threadThread2of5ForFork0_#res.offset=|v_threadThread2of5ForFork0_#res.offset_4|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_49|, threadThread2of5ForFork0_~arg.base=v_threadThread2of5ForFork0_~arg.base_6, threadThread2of5ForFork0_#in~arg.base=|v_threadThread2of5ForFork0_#in~arg.base_4|, threadThread2of5ForFork0_thidvar0=v_threadThread2of5ForFork0_thidvar0_2, threadThread2of5ForFork0_#res.base=|v_threadThread2of5ForFork0_#res.base_4|, threadThread2of5ForFork0_~arg.offset=v_threadThread2of5ForFork0_~arg.offset_6, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_56|} AuxVars[] AssignedVars[threadThread2of5ForFork0_~thread~0, threadThread2of5ForFork0_#in~arg.offset, threadThread2of5ForFork0_#res.offset, threadThread2of5ForFork0_~arg.base, threadThread2of5ForFork0_#in~arg.base, threadThread2of5ForFork0_thidvar0, threadThread2of5ForFork0_#res.base, threadThread2of5ForFork0_~arg.offset] 317#[L724-4, threadENTRY, threadENTRY]don't care [441] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 353#[L724-5, threadENTRY, threadENTRY]don't care [395] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 393#[L723-2, threadENTRY, threadENTRY]don't care [423] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 435#[threadENTRY, L723-3, threadENTRY]don't care [402] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 483#[threadENTRY, L723-4, threadENTRY]don't care [418] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 539#[L723-5, threadENTRY, threadENTRY]don't care [409] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 605#[L724, threadENTRY, threadENTRY]don't care [405] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 683#[L724-1, threadENTRY, threadENTRY]don't care [431] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 775#[L724-2, threadENTRY, threadENTRY]don't care [397] L724-2-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0))) (and (= (select |v_#valid_6| |v_ULTIMATE.start_main_~#t~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|)) (<= 0 .cse1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_5|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_4|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] 883#[L724-3, threadENTRY, threadENTRY]don't care [474] L724-3-->threadENTRY: Formula: (and (= |v_ULTIMATE.start_main_~i~0#1_51| |v_threadThread3of5ForFork0_#in~arg.offset_4|) (= |v_threadThread3of5ForFork0_#in~arg.base_4| 0) (= v_threadThread3of5ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_58|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_51|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_58|} OutVars{threadThread3of5ForFork0_~arg.base=v_threadThread3of5ForFork0_~arg.base_6, threadThread3of5ForFork0_#res.offset=|v_threadThread3of5ForFork0_#res.offset_4|, threadThread3of5ForFork0_~arg.offset=v_threadThread3of5ForFork0_~arg.offset_6, threadThread3of5ForFork0_~thread~0=v_threadThread3of5ForFork0_~thread~0_6, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_51|, threadThread3of5ForFork0_thidvar0=v_threadThread3of5ForFork0_thidvar0_2, threadThread3of5ForFork0_#in~arg.base=|v_threadThread3of5ForFork0_#in~arg.base_4|, threadThread3of5ForFork0_#in~arg.offset=|v_threadThread3of5ForFork0_#in~arg.offset_4|, threadThread3of5ForFork0_#res.base=|v_threadThread3of5ForFork0_#res.base_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_58|} AuxVars[] AssignedVars[threadThread3of5ForFork0_~arg.base, threadThread3of5ForFork0_#res.offset, threadThread3of5ForFork0_~arg.offset, threadThread3of5ForFork0_~thread~0, threadThread3of5ForFork0_thidvar0, threadThread3of5ForFork0_#in~arg.base, threadThread3of5ForFork0_#in~arg.offset, threadThread3of5ForFork0_#res.base] 1007#[threadENTRY, L724-4, threadENTRY, threadENTRY]don't care [441] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 1151#[threadENTRY, threadENTRY, L724-5, threadENTRY]don't care [395] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 1319#[threadENTRY, threadENTRY, threadENTRY, L723-2]don't care [423] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 1511#[threadENTRY, threadENTRY, threadENTRY, L723-3]don't care [402] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 1729#[threadENTRY, threadENTRY, threadENTRY, L723-4]don't care [418] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 1977#[threadENTRY, threadENTRY, threadENTRY, L723-5]don't care [409] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 2263#[threadENTRY, threadENTRY, L724, threadENTRY]don't care [405] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 2595#[threadENTRY, L724-1, threadENTRY, threadENTRY]don't care [431] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 2983#[threadENTRY, L724-2, threadENTRY, threadENTRY]don't care [397] L724-2-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0))) (and (= (select |v_#valid_6| |v_ULTIMATE.start_main_~#t~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|)) (<= 0 .cse1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_5|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_4|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] 3439#[threadENTRY, threadENTRY, L724-3, threadENTRY]don't care [475] L724-3-->threadENTRY: Formula: (and (= v_threadThread4of5ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_60|) (= |v_ULTIMATE.start_main_~i~0#1_53| |v_threadThread4of5ForFork0_#in~arg.offset_4|) (= |v_threadThread4of5ForFork0_#in~arg.base_4| 0)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_53|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_60|} OutVars{threadThread4of5ForFork0_#in~arg.base=|v_threadThread4of5ForFork0_#in~arg.base_4|, threadThread4of5ForFork0_thidvar0=v_threadThread4of5ForFork0_thidvar0_2, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_53|, threadThread4of5ForFork0_~arg.base=v_threadThread4of5ForFork0_~arg.base_6, threadThread4of5ForFork0_#res.offset=|v_threadThread4of5ForFork0_#res.offset_4|, threadThread4of5ForFork0_#in~arg.offset=|v_threadThread4of5ForFork0_#in~arg.offset_4|, threadThread4of5ForFork0_~thread~0=v_threadThread4of5ForFork0_~thread~0_6, threadThread4of5ForFork0_~arg.offset=v_threadThread4of5ForFork0_~arg.offset_6, threadThread4of5ForFork0_#res.base=|v_threadThread4of5ForFork0_#res.base_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_60|} AuxVars[] AssignedVars[threadThread4of5ForFork0_#in~arg.base, threadThread4of5ForFork0_thidvar0, threadThread4of5ForFork0_~arg.base, threadThread4of5ForFork0_#res.offset, threadThread4of5ForFork0_#in~arg.offset, threadThread4of5ForFork0_~thread~0, threadThread4of5ForFork0_~arg.offset, threadThread4of5ForFork0_#res.base] 3973#[L724-4, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [441] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 4599#[L724-5, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [395] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 5329#[L723-2, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [423] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 6173#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, L723-3]don't care [402] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 7143#[L723-4, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [418] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 8253#[threadENTRY, threadENTRY, threadENTRY, L723-5, threadENTRY]don't care [409] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 9527#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, L724]don't care [405] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 10991#[threadENTRY, threadENTRY, L724-1, threadENTRY, threadENTRY]don't care [431] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 12677#[threadENTRY, threadENTRY, L724-2, threadENTRY, threadENTRY]don't care [397] L724-2-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0))) (and (= (select |v_#valid_6| |v_ULTIMATE.start_main_~#t~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|)) (<= 0 .cse1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_5|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_4|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] 14633#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, L724-3]don't care [476] L724-3-->threadENTRY: Formula: (and (= |v_threadThread5of5ForFork0_#in~arg.base_4| 0) (= |v_ULTIMATE.start_main_~i~0#1_55| |v_threadThread5of5ForFork0_#in~arg.offset_4|) (= v_threadThread5of5ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_62|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_55|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_62|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_55|, threadThread5of5ForFork0_#in~arg.base=|v_threadThread5of5ForFork0_#in~arg.base_4|, threadThread5of5ForFork0_#res.offset=|v_threadThread5of5ForFork0_#res.offset_4|, threadThread5of5ForFork0_thidvar0=v_threadThread5of5ForFork0_thidvar0_2, threadThread5of5ForFork0_~arg.base=v_threadThread5of5ForFork0_~arg.base_6, threadThread5of5ForFork0_~thread~0=v_threadThread5of5ForFork0_~thread~0_6, threadThread5of5ForFork0_#in~arg.offset=|v_threadThread5of5ForFork0_#in~arg.offset_4|, threadThread5of5ForFork0_#res.base=|v_threadThread5of5ForFork0_#res.base_4|, threadThread5of5ForFork0_~arg.offset=v_threadThread5of5ForFork0_~arg.offset_6, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_62|} AuxVars[] AssignedVars[threadThread5of5ForFork0_#in~arg.base, threadThread5of5ForFork0_#res.offset, threadThread5of5ForFork0_thidvar0, threadThread5of5ForFork0_~arg.base, threadThread5of5ForFork0_~thread~0, threadThread5of5ForFork0_#in~arg.offset, threadThread5of5ForFork0_#res.base, threadThread5of5ForFork0_~arg.offset] 16913#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, L724-4, threadENTRY]don't care [441] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 19581#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, L724-5, threadENTRY]don't care [395] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 22705#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, L723-2, threadENTRY]don't care [423] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 26351#[threadENTRY, threadENTRY, threadENTRY, L723-3, threadENTRY, threadENTRY]don't care [402] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 30589#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, L723-4, threadENTRY]don't care [418] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 35489#[L723-5, threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [409] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 41139#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, L724, threadENTRY]don't care [405] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 47633#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, L724-1, threadENTRY]don't care [431] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 55093#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, L724-2, threadENTRY]don't care [397] L724-2-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0))) (and (= (select |v_#valid_6| |v_ULTIMATE.start_main_~#t~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|)) (<= 0 .cse1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_5|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_4|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] 63679#[threadENTRY, threadENTRY, threadENTRY, L724-3, threadENTRY, threadENTRY]don't care [470] L724-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 73597#[threadENTRY, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [2022-07-22 12:05:49,214 INFO L750 eck$LassoCheckResult]: Loop: 73597#[threadENTRY, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [471] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 73597#[threadENTRY, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [2022-07-22 12:05:49,215 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 12:05:49,215 INFO L85 PathProgramCache]: Analyzing trace with hash -905030268, now seen corresponding path program 1 times [2022-07-22 12:05:49,219 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 12:05:49,220 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1368496323] [2022-07-22 12:05:49,220 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 12:05:49,221 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 12:05:49,280 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:05:49,281 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 12:05:49,320 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:05:49,338 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 12:05:49,339 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 12:05:49,339 INFO L85 PathProgramCache]: Analyzing trace with hash 502, now seen corresponding path program 1 times [2022-07-22 12:05:49,339 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 12:05:49,339 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [136133382] [2022-07-22 12:05:49,339 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 12:05:49,339 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 12:05:49,346 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:05:49,346 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 12:05:49,348 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:05:49,350 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 12:05:49,350 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 12:05:49,350 INFO L85 PathProgramCache]: Analyzing trace with hash 2008833235, now seen corresponding path program 1 times [2022-07-22 12:05:49,351 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 12:05:49,351 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [180577443] [2022-07-22 12:05:49,351 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 12:05:49,351 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 12:05:49,388 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:05:49,388 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 12:05:49,411 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 12:05:49,430 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 12:05:51,662 WARN L146 chiAutomizerObserver]: 5 thread instances were not sufficient, I will increase this number and restart the analysis [2022-07-22 12:05:51,680 INFO L144 ThreadInstanceAdder]: Constructed 6 joinOtherThreadTransitions. [2022-07-22 12:05:51,683 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 97 places, 94 transitions, 266 flow [2022-07-22 12:05:51,877 INFO L129 PetriNetUnfolder]: 214/1249 cut-off events. [2022-07-22 12:05:51,878 INFO L130 PetriNetUnfolder]: For 242/242 co-relation queries the response was YES. [2022-07-22 12:05:51,890 INFO L84 FinitePrefix]: Finished finitePrefix Result has 1481 conditions, 1249 events. 214/1249 cut-off events. For 242/242 co-relation queries the response was YES. Maximal size of possible extension queue 30. Compared 6690 event pairs, 72 based on Foata normal form. 0/1100 useless extension candidates. Maximal degree in co-relation 765. Up to 192 conditions per place. [2022-07-22 12:05:51,890 INFO L82 GeneralOperation]: Start removeDead. Operand has 97 places, 94 transitions, 266 flow [2022-07-22 12:05:51,931 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 97 places, 94 transitions, 266 flow [2022-07-22 12:05:51,933 INFO L300 stractBuchiCegarLoop]: Interprodecural is true [2022-07-22 12:05:51,934 INFO L301 stractBuchiCegarLoop]: Hoare is false [2022-07-22 12:05:51,934 INFO L302 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2022-07-22 12:05:51,934 INFO L303 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2022-07-22 12:05:51,935 INFO L304 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2022-07-22 12:05:51,935 INFO L305 stractBuchiCegarLoop]: Difference is false [2022-07-22 12:05:51,935 INFO L306 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2022-07-22 12:05:51,935 INFO L310 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2022-07-22 12:05:51,935 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand currently 0 states, but on-demand construction may add more states Received shutdown request... [2022-07-22 12:07:48,048 WARN L321 stractBuchiCegarLoop]: Verification cancelled [2022-07-22 12:07:48,051 WARN L340 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (1)] Timeout while monitored process is still running, waiting 1000 ms for graceful end [2022-07-22 12:07:48,055 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer CFG 22.07 12:07:48 BoogieIcfgContainer [2022-07-22 12:07:48,055 INFO L132 PluginConnector]: ------------------------ END BuchiAutomizer---------------------------- [2022-07-22 12:07:48,060 INFO L158 Benchmark]: Toolchain (without parser) took 190656.63ms. Allocated memory was 154.1MB in the beginning and 8.0GB in the end (delta: 7.8GB). Free memory was 105.0MB in the beginning and 3.7GB in the end (delta: -3.6GB). Peak memory consumption was 4.4GB. Max. memory is 8.0GB. [2022-07-22 12:07:48,070 INFO L158 Benchmark]: CDTParser took 0.26ms. Allocated memory is still 154.1MB. Free memory is still 123.5MB. There was no memory consumed. Max. memory is 8.0GB. [2022-07-22 12:07:48,071 INFO L158 Benchmark]: CACSL2BoogieTranslator took 687.73ms. Allocated memory is still 154.1MB. Free memory was 104.8MB in the beginning and 129.5MB in the end (delta: -24.7MB). Peak memory consumption was 15.3MB. Max. memory is 8.0GB. [2022-07-22 12:07:48,073 INFO L158 Benchmark]: Boogie Procedure Inliner took 52.83ms. Allocated memory is still 154.1MB. Free memory was 129.5MB in the beginning and 127.4MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-07-22 12:07:48,074 INFO L158 Benchmark]: Boogie Preprocessor took 33.33ms. Allocated memory is still 154.1MB. Free memory was 127.4MB in the beginning and 126.1MB in the end (delta: 1.3MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-07-22 12:07:48,079 INFO L158 Benchmark]: RCFGBuilder took 416.90ms. Allocated memory is still 154.1MB. Free memory was 126.1MB in the beginning and 114.9MB in the end (delta: 11.2MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-07-22 12:07:48,086 INFO L158 Benchmark]: BuchiAutomizer took 189455.92ms. Allocated memory was 154.1MB in the beginning and 8.0GB in the end (delta: 7.8GB). Free memory was 114.6MB in the beginning and 3.7GB in the end (delta: -3.5GB). Peak memory consumption was 4.4GB. Max. memory is 8.0GB. [2022-07-22 12:07:48,104 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.26ms. Allocated memory is still 154.1MB. Free memory is still 123.5MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 687.73ms. Allocated memory is still 154.1MB. Free memory was 104.8MB in the beginning and 129.5MB in the end (delta: -24.7MB). Peak memory consumption was 15.3MB. Max. memory is 8.0GB. * Boogie Procedure Inliner took 52.83ms. Allocated memory is still 154.1MB. Free memory was 129.5MB in the beginning and 127.4MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * Boogie Preprocessor took 33.33ms. Allocated memory is still 154.1MB. Free memory was 127.4MB in the beginning and 126.1MB in the end (delta: 1.3MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * RCFGBuilder took 416.90ms. Allocated memory is still 154.1MB. Free memory was 126.1MB in the beginning and 114.9MB in the end (delta: 11.2MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * BuchiAutomizer took 189455.92ms. Allocated memory was 154.1MB in the beginning and 8.0GB in the end (delta: 7.8GB). Free memory was 114.6MB in the beginning and 3.7GB in the end (delta: -3.5GB). Peak memory consumption was 4.4GB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: Constructed decomposition of program Trivial decomposition into one module whose termination is unknown. - StatisticsResult: Timing statistics BüchiAutomizer plugin needed 116.6s and 5 iterations. TraceHistogramMax:6. Analysis of lassos took 8.5s. Construction of modules took 0.0s. Büchi inclusion checks took 0.0s. Highest rank in rank-based complementation 0. Minimization of det autom 0. Minimization of nondet autom 0. Automata minimization No data available. Non-live state removal took 0.0s Buchi closure took 0.0s. Biggest automaton had -1 states and ocurred in iteration -1. Nontrivial modules had stage [0, 0, 0, 0, 0]. InterpolantCoveringCapabilityFinite: 0/0 InterpolantCoveringCapabilityBuchi: 0/0 HoareTripleCheckerStatistics: LassoAnalysisResults: nont5 unkn0 SFLI0 SFLT0 conc0 concLT0 SILN0 SILU0 SILI0 SILT0 lasso0 LassoPreprocessingBenchmarks: LassoTerminationAnalysisBenchmarks: not availableLassoTerminationAnalysisBenchmarks: LassoNonterminationAnalysisSatFixpoint: 0 LassoNonterminationAnalysisSatUnbounded: 0 LassoNonterminationAnalysisUnsat: 0 LassoNonterminationAnalysisUnknown: 0 LassoNonterminationAnalysisTime: 0.0s InitialAbstractionConstructionTime: 0.5s - TimeoutResult: Timeout (de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction) Buchi Automizer is unable to decide termination: Timeout while executing BuchiIsEmpty. RESULT: Ultimate could not prove your program: Timeout Completed graceful shutdown [2022-07-22 12:07:48,178 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 !ENTRY org.eclipse.osgi 4 0 2022-07-22 12:07:48.383 !MESSAGE Application error !STACK 1 org.eclipse.core.internal.resources.ResourceException(/)[568]: java.io.FileNotFoundException: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3fddb4a3d/.metadata/.plugins/org.eclipse.core.resources/.root/1.tree (No such file or directory) at java.base/java.io.FileOutputStream.open0(Native Method) at java.base/java.io.FileOutputStream.open(FileOutputStream.java:298) at java.base/java.io.FileOutputStream.(FileOutputStream.java:237) at java.base/java.io.FileOutputStream.(FileOutputStream.java:187) at org.eclipse.core.internal.localstore.SafeFileOutputStream.(SafeFileOutputStream.java:55) at org.eclipse.core.internal.resources.SaveManager.saveTree(SaveManager.java:1381) at org.eclipse.core.internal.resources.SaveManager.save(SaveManager.java:1168) at org.eclipse.core.internal.resources.Workspace.save(Workspace.java:2333) at org.eclipse.core.internal.resources.Workspace.save(Workspace.java:2322) at de.uni_freiburg.informatik.ultimate.core.coreplugin.UltimateCore.start(UltimateCore.java:191) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:657) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:594) at org.eclipse.equinox.launcher.Main.run(Main.java:1465) at org.eclipse.equinox.launcher.Main.main(Main.java:1438) An error has occurred. See the log file /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3fddb4a3d/.metadata/.log.