/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-15.i -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-0d686a6 [2022-07-26 13:41:03,781 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-07-26 13:41:03,826 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-07-26 13:41:03,856 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-07-26 13:41:03,856 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-07-26 13:41:03,857 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-07-26 13:41:03,858 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-07-26 13:41:03,859 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-07-26 13:41:03,861 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-07-26 13:41:03,861 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-07-26 13:41:03,862 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-07-26 13:41:03,863 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-07-26 13:41:03,864 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-07-26 13:41:03,864 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-07-26 13:41:03,865 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-07-26 13:41:03,866 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-07-26 13:41:03,867 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-07-26 13:41:03,868 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-07-26 13:41:03,869 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-07-26 13:41:03,871 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-07-26 13:41:03,872 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-07-26 13:41:03,873 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-07-26 13:41:03,874 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-07-26 13:41:03,875 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-07-26 13:41:03,876 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-07-26 13:41:03,878 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-07-26 13:41:03,879 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-07-26 13:41:03,879 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-07-26 13:41:03,880 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-07-26 13:41:03,880 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-07-26 13:41:03,881 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-07-26 13:41:03,881 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-07-26 13:41:03,882 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-07-26 13:41:03,883 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-07-26 13:41:03,883 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-07-26 13:41:03,884 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-07-26 13:41:03,884 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-07-26 13:41:03,885 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-07-26 13:41:03,885 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-07-26 13:41:03,885 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-07-26 13:41:03,886 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-07-26 13:41:03,887 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-07-26 13:41:03,887 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/buchiAutomizer/concurrent-automaton-noLbe.epf [2022-07-26 13:41:03,906 INFO L113 SettingsManager]: Loading preferences was successful [2022-07-26 13:41:03,907 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-07-26 13:41:03,907 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-07-26 13:41:03,907 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-07-26 13:41:03,909 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-07-26 13:41:03,909 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-07-26 13:41:03,909 INFO L138 SettingsManager]: * Use SBE=true [2022-07-26 13:41:03,910 INFO L136 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2022-07-26 13:41:03,910 INFO L138 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2022-07-26 13:41:03,910 INFO L138 SettingsManager]: * Use old map elimination=false [2022-07-26 13:41:03,911 INFO L138 SettingsManager]: * Use external solver (rank synthesis)=false [2022-07-26 13:41:03,911 INFO L138 SettingsManager]: * Use only trivial implications for array writes=true [2022-07-26 13:41:03,911 INFO L138 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2022-07-26 13:41:03,911 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-07-26 13:41:03,911 INFO L138 SettingsManager]: * sizeof long=4 [2022-07-26 13:41:03,912 INFO L138 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2022-07-26 13:41:03,912 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-07-26 13:41:03,912 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-07-26 13:41:03,912 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-07-26 13:41:03,912 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2022-07-26 13:41:03,912 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2022-07-26 13:41:03,912 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2022-07-26 13:41:03,913 INFO L138 SettingsManager]: * sizeof long double=12 [2022-07-26 13:41:03,913 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-07-26 13:41:03,913 INFO L138 SettingsManager]: * Assume nondeterminstic values are in range=false [2022-07-26 13:41:03,913 INFO L138 SettingsManager]: * Use constant arrays=true [2022-07-26 13:41:03,913 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2022-07-26 13:41:03,913 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-07-26 13:41:03,914 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-07-26 13:41:03,914 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-07-26 13:41:03,914 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-07-26 13:41:03,914 INFO L138 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2022-07-26 13:41:03,915 INFO L136 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2022-07-26 13:41:03,915 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-26 13:41:04,151 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-07-26 13:41:04,173 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-07-26 13:41:04,175 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-07-26 13:41:04,176 INFO L271 PluginConnector]: Initializing CDTParser... [2022-07-26 13:41:04,177 INFO L275 PluginConnector]: CDTParser initialized [2022-07-26 13:41:04,178 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/pthread-deagle/floating_read-15.i [2022-07-26 13:41:04,242 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/65ff2c1f4/397d406cac714347a253728b5fb84817/FLAGe2e9776f7 [2022-07-26 13:41:04,712 INFO L306 CDTParser]: Found 1 translation units. [2022-07-26 13:41:04,713 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/pthread-deagle/floating_read-15.i [2022-07-26 13:41:04,727 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/65ff2c1f4/397d406cac714347a253728b5fb84817/FLAGe2e9776f7 [2022-07-26 13:41:05,221 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/65ff2c1f4/397d406cac714347a253728b5fb84817 [2022-07-26 13:41:05,223 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-07-26 13:41:05,224 INFO L131 ToolchainWalker]: Walking toolchain with 5 elements. [2022-07-26 13:41:05,225 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-07-26 13:41:05,225 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-07-26 13:41:05,234 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-07-26 13:41:05,235 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 26.07 01:41:05" (1/1) ... [2022-07-26 13:41:05,236 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@4a607b1f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 26.07 01:41:05, skipping insertion in model container [2022-07-26 13:41:05,236 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 26.07 01:41:05" (1/1) ... [2022-07-26 13:41:05,241 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-07-26 13:41:05,282 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-07-26 13:41:05,589 WARN L1550 CHandler]: Possible shadowing of function thread [2022-07-26 13:41:05,600 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-15.i[31197,31210] [2022-07-26 13:41:05,606 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-07-26 13:41:05,613 INFO L203 MainTranslator]: Completed pre-run [2022-07-26 13:41:05,647 WARN L1550 CHandler]: Possible shadowing of function thread [2022-07-26 13:41:05,658 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-15.i[31197,31210] [2022-07-26 13:41:05,660 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-07-26 13:41:05,688 INFO L208 MainTranslator]: Completed translation [2022-07-26 13:41:05,688 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 26.07 01:41:05 WrapperNode [2022-07-26 13:41:05,688 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-07-26 13:41:05,689 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-07-26 13:41:05,689 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-07-26 13:41:05,689 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-07-26 13:41:05,694 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 26.07 01:41:05" (1/1) ... [2022-07-26 13:41:05,706 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 26.07 01:41:05" (1/1) ... [2022-07-26 13:41:05,737 INFO L137 Inliner]: procedures = 162, calls = 17, calls flagged for inlining = 2, calls inlined = 2, statements flattened = 52 [2022-07-26 13:41:05,738 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-07-26 13:41:05,739 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-07-26 13:41:05,739 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-07-26 13:41:05,739 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-07-26 13:41:05,746 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 26.07 01:41:05" (1/1) ... [2022-07-26 13:41:05,747 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 26.07 01:41:05" (1/1) ... [2022-07-26 13:41:05,764 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 26.07 01:41:05" (1/1) ... [2022-07-26 13:41:05,765 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 26.07 01:41:05" (1/1) ... [2022-07-26 13:41:05,770 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 26.07 01:41:05" (1/1) ... [2022-07-26 13:41:05,773 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 26.07 01:41:05" (1/1) ... [2022-07-26 13:41:05,774 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 26.07 01:41:05" (1/1) ... [2022-07-26 13:41:05,776 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-07-26 13:41:05,777 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-07-26 13:41:05,777 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-07-26 13:41:05,777 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-07-26 13:41:05,792 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 26.07 01:41:05" (1/1) ... [2022-07-26 13:41:05,799 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-26 13:41:05,813 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-26 13:41:05,837 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-26 13:41:05,850 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-26 13:41:05,880 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-07-26 13:41:05,880 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-07-26 13:41:05,880 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2022-07-26 13:41:05,880 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-07-26 13:41:05,880 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-07-26 13:41:05,880 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-07-26 13:41:05,880 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-07-26 13:41:05,880 INFO L130 BoogieDeclarations]: Found specification of procedure thread [2022-07-26 13:41:05,881 INFO L138 BoogieDeclarations]: Found implementation of procedure thread [2022-07-26 13:41:05,881 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2022-07-26 13:41:05,881 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-07-26 13:41:05,881 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-07-26 13:41:05,882 WARN L208 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to SingleStatement [2022-07-26 13:41:05,994 INFO L234 CfgBuilder]: Building ICFG [2022-07-26 13:41:06,004 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-07-26 13:41:06,139 INFO L275 CfgBuilder]: Performing block encoding [2022-07-26 13:41:06,144 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-07-26 13:41:06,144 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-07-26 13:41:06,146 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 26.07 01:41:06 BoogieIcfgContainer [2022-07-26 13:41:06,146 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-07-26 13:41:06,147 INFO L113 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2022-07-26 13:41:06,147 INFO L271 PluginConnector]: Initializing BuchiAutomizer... [2022-07-26 13:41:06,150 INFO L275 PluginConnector]: BuchiAutomizer initialized [2022-07-26 13:41:06,150 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2022-07-26 13:41:06,150 INFO L185 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "CDTParser AST 26.07 01:41:05" (1/3) ... [2022-07-26 13:41:06,151 INFO L205 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@a318d39 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 26.07 01:41:06, skipping insertion in model container [2022-07-26 13:41:06,151 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2022-07-26 13:41:06,151 INFO L185 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 26.07 01:41:05" (2/3) ... [2022-07-26 13:41:06,152 INFO L205 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@a318d39 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 26.07 01:41:06, skipping insertion in model container [2022-07-26 13:41:06,152 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2022-07-26 13:41:06,152 INFO L185 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 26.07 01:41:06" (3/3) ... [2022-07-26 13:41:06,153 INFO L322 chiAutomizerObserver]: Analyzing ICFG floating_read-15.i [2022-07-26 13:41:06,204 INFO L144 ThreadInstanceAdder]: Constructed 1 joinOtherThreadTransitions. [2022-07-26 13:41:06,228 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 57 places, 59 transitions, 126 flow [2022-07-26 13:41:06,255 INFO L129 PetriNetUnfolder]: 8/80 cut-off events. [2022-07-26 13:41:06,256 INFO L130 PetriNetUnfolder]: For 1/1 co-relation queries the response was YES. [2022-07-26 13:41:06,258 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-26 13:41:06,259 INFO L82 GeneralOperation]: Start removeDead. Operand has 57 places, 59 transitions, 126 flow [2022-07-26 13:41:06,264 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 57 places, 59 transitions, 126 flow [2022-07-26 13:41:06,275 INFO L301 stractBuchiCegarLoop]: Interprodecural is true [2022-07-26 13:41:06,275 INFO L302 stractBuchiCegarLoop]: Hoare is false [2022-07-26 13:41:06,275 INFO L303 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2022-07-26 13:41:06,275 INFO L304 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2022-07-26 13:41:06,275 INFO L305 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2022-07-26 13:41:06,275 INFO L306 stractBuchiCegarLoop]: Difference is false [2022-07-26 13:41:06,275 INFO L307 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2022-07-26 13:41:06,275 INFO L311 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2022-07-26 13:41:06,277 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand currently 0 states, but on-demand construction may add more states [2022-07-26 13:41:06,338 INFO L131 ngComponentsAnalysis]: Automaton has 6 accepting balls. 6 [2022-07-26 13:41:06,338 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-26 13:41:06,338 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-26 13:41:06,344 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-26 13:41:06,344 INFO L151 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2022-07-26 13:41:06,344 INFO L333 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2022-07-26 13:41:06,344 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand currently 192 states, but on-demand construction may add more states [2022-07-26 13:41:06,353 INFO L131 ngComponentsAnalysis]: Automaton has 6 accepting balls. 6 [2022-07-26 13:41:06,353 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-26 13:41:06,353 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-26 13:41:06,354 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-26 13:41:06,354 INFO L151 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2022-07-26 13:41:06,361 INFO L733 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 (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) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 64) |v_#length_3|) (= |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| 15) 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| 15) 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-26 13:41:06,361 INFO L735 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-26 13:41:06,366 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-26 13:41:06,367 INFO L85 PathProgramCache]: Analyzing trace with hash 1597522556, now seen corresponding path program 1 times [2022-07-26 13:41:06,374 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-26 13:41:06,374 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1258306999] [2022-07-26 13:41:06,375 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-26 13:41:06,375 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-26 13:41:06,475 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 13:41:06,476 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-26 13:41:06,503 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 13:41:06,526 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-26 13:41:06,529 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-26 13:41:06,529 INFO L85 PathProgramCache]: Analyzing trace with hash 176, now seen corresponding path program 1 times [2022-07-26 13:41:06,529 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-26 13:41:06,530 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [300026359] [2022-07-26 13:41:06,530 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-26 13:41:06,530 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-26 13:41:06,539 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 13:41:06,539 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-26 13:41:06,542 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 13:41:06,543 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-26 13:41:06,545 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-26 13:41:06,545 INFO L85 PathProgramCache]: Analyzing trace with hash -2016408171, now seen corresponding path program 1 times [2022-07-26 13:41:06,545 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-26 13:41:06,545 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1857562744] [2022-07-26 13:41:06,546 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-26 13:41:06,546 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-26 13:41:06,574 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 13:41:06,575 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-26 13:41:06,613 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 13:41:06,627 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-26 13:41:07,274 WARN L146 chiAutomizerObserver]: 1 thread instances were not sufficient, I will increase this number and restart the analysis [2022-07-26 13:41:07,287 INFO L144 ThreadInstanceAdder]: Constructed 2 joinOtherThreadTransitions. [2022-07-26 13:41:07,291 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 65 places, 66 transitions, 150 flow [2022-07-26 13:41:07,311 INFO L129 PetriNetUnfolder]: 14/133 cut-off events. [2022-07-26 13:41:07,311 INFO L130 PetriNetUnfolder]: For 6/6 co-relation queries the response was YES. [2022-07-26 13:41:07,312 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-26 13:41:07,312 INFO L82 GeneralOperation]: Start removeDead. Operand has 65 places, 66 transitions, 150 flow [2022-07-26 13:41:07,315 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 65 places, 66 transitions, 150 flow [2022-07-26 13:41:07,315 INFO L301 stractBuchiCegarLoop]: Interprodecural is true [2022-07-26 13:41:07,315 INFO L302 stractBuchiCegarLoop]: Hoare is false [2022-07-26 13:41:07,315 INFO L303 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2022-07-26 13:41:07,315 INFO L304 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2022-07-26 13:41:07,316 INFO L305 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2022-07-26 13:41:07,316 INFO L306 stractBuchiCegarLoop]: Difference is false [2022-07-26 13:41:07,316 INFO L307 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2022-07-26 13:41:07,316 INFO L311 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2022-07-26 13:41:07,316 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand currently 0 states, but on-demand construction may add more states [2022-07-26 13:41:07,434 INFO L131 ngComponentsAnalysis]: Automaton has 36 accepting balls. 36 [2022-07-26 13:41:07,434 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-26 13:41:07,435 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-26 13:41:07,438 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-26 13:41:07,438 INFO L151 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2022-07-26 13:41:07,439 INFO L333 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2022-07-26 13:41:07,439 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand currently 1194 states, but on-demand construction may add more states [2022-07-26 13:41:07,457 INFO L131 ngComponentsAnalysis]: Automaton has 36 accepting balls. 36 [2022-07-26 13:41:07,457 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-26 13:41:07,457 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-26 13:41:07,461 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-26 13:41:07,461 INFO L151 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2022-07-26 13:41:07,466 INFO L733 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 (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) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 64) |v_#length_3|) (= |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| 15) 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#[L724-4, 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] 141#[L724-5, threadENTRY]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#[L723-2, 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] 155#[L723-3, 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] 165#[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] 177#[L723-5, threadENTRY]don't care [169] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 15) 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#[L724, threadENTRY]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#[L724-2, 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] 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#[threadENTRY, 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] 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#[threadENTRY, 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] 411#[threadENTRY, 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] 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#[threadENTRY, threadENTRY, L723-5]don't care [169] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 15) 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#[threadENTRY, 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] 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-26 13:41:07,469 INFO L735 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-26 13:41:07,474 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-26 13:41:07,474 INFO L85 PathProgramCache]: Analyzing trace with hash 643971283, now seen corresponding path program 1 times [2022-07-26 13:41:07,474 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-26 13:41:07,475 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [918337673] [2022-07-26 13:41:07,475 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-26 13:41:07,475 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-26 13:41:07,521 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 13:41:07,522 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-26 13:41:07,560 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 13:41:07,574 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-26 13:41:07,574 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-26 13:41:07,575 INFO L85 PathProgramCache]: Analyzing trace with hash 247, now seen corresponding path program 1 times [2022-07-26 13:41:07,575 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-26 13:41:07,575 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1502919383] [2022-07-26 13:41:07,575 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-26 13:41:07,575 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-26 13:41:07,581 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 13:41:07,582 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-26 13:41:07,583 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 13:41:07,584 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-26 13:41:07,585 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-26 13:41:07,585 INFO L85 PathProgramCache]: Analyzing trace with hash -1511726491, now seen corresponding path program 1 times [2022-07-26 13:41:07,585 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-26 13:41:07,585 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [912078285] [2022-07-26 13:41:07,585 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-26 13:41:07,586 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-26 13:41:07,612 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 13:41:07,612 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-26 13:41:07,626 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 13:41:07,632 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-26 13:41:08,393 WARN L146 chiAutomizerObserver]: 2 thread instances were not sufficient, I will increase this number and restart the analysis [2022-07-26 13:41:08,411 INFO L144 ThreadInstanceAdder]: Constructed 3 joinOtherThreadTransitions. [2022-07-26 13:41:08,419 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 73 places, 73 transitions, 176 flow [2022-07-26 13:41:08,469 INFO L129 PetriNetUnfolder]: 25/219 cut-off events. [2022-07-26 13:41:08,470 INFO L130 PetriNetUnfolder]: For 19/19 co-relation queries the response was YES. [2022-07-26 13:41:08,470 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-26 13:41:08,470 INFO L82 GeneralOperation]: Start removeDead. Operand has 73 places, 73 transitions, 176 flow [2022-07-26 13:41:08,473 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 73 places, 73 transitions, 176 flow [2022-07-26 13:41:08,474 INFO L301 stractBuchiCegarLoop]: Interprodecural is true [2022-07-26 13:41:08,474 INFO L302 stractBuchiCegarLoop]: Hoare is false [2022-07-26 13:41:08,474 INFO L303 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2022-07-26 13:41:08,474 INFO L304 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2022-07-26 13:41:08,474 INFO L305 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2022-07-26 13:41:08,474 INFO L306 stractBuchiCegarLoop]: Difference is false [2022-07-26 13:41:08,474 INFO L307 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2022-07-26 13:41:08,474 INFO L311 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2022-07-26 13:41:08,474 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand currently 0 states, but on-demand construction may add more states [2022-07-26 13:41:08,984 INFO L131 ngComponentsAnalysis]: Automaton has 216 accepting balls. 216 [2022-07-26 13:41:08,984 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-26 13:41:08,984 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-26 13:41:08,985 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-26 13:41:08,986 INFO L151 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2022-07-26 13:41:08,986 INFO L333 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2022-07-26 13:41:08,986 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand currently 7794 states, but on-demand construction may add more states [2022-07-26 13:41:09,083 INFO L131 ngComponentsAnalysis]: Automaton has 216 accepting balls. 216 [2022-07-26 13:41:09,084 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-26 13:41:09,084 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-26 13:41:09,089 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-26 13:41:09,089 INFO L151 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2022-07-26 13:41:09,091 INFO L733 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 (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) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 64) |v_#length_3|) (= |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| 15) 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#[threadENTRY, L723-3]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| 15) 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#[threadENTRY, 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] 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| 15) 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, L724-4, threadENTRY, 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] 1133#[threadENTRY, L724-5, 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#[threadENTRY, 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] 1489#[threadENTRY, 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] 1707#[threadENTRY, 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] 1955#[threadENTRY, L723-5, threadENTRY, threadENTRY]don't care [242] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 15) 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#[threadENTRY, L724, 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#[threadENTRY, 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] 2967#[threadENTRY, L724-2, 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#[threadENTRY, L724-3, threadENTRY, threadENTRY]don't care [293] L724-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 3957#[threadENTRY, threadENTRY, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadENTRY]don't care [2022-07-26 13:41:09,092 INFO L735 eck$LassoCheckResult]: Loop: 3957#[threadENTRY, threadENTRY, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadENTRY]don't care [294] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 3957#[threadENTRY, threadENTRY, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadENTRY]don't care [2022-07-26 13:41:09,093 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-26 13:41:09,093 INFO L85 PathProgramCache]: Analyzing trace with hash 822884060, now seen corresponding path program 1 times [2022-07-26 13:41:09,093 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-26 13:41:09,094 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [802287839] [2022-07-26 13:41:09,094 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-26 13:41:09,095 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-26 13:41:09,135 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 13:41:09,136 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-26 13:41:09,149 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 13:41:09,156 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-26 13:41:09,157 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-26 13:41:09,157 INFO L85 PathProgramCache]: Analyzing trace with hash 325, now seen corresponding path program 1 times [2022-07-26 13:41:09,157 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-26 13:41:09,157 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2004854610] [2022-07-26 13:41:09,158 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-26 13:41:09,158 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-26 13:41:09,161 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 13:41:09,162 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-26 13:41:09,163 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 13:41:09,164 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-26 13:41:09,164 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-26 13:41:09,164 INFO L85 PathProgramCache]: Analyzing trace with hash -260397622, now seen corresponding path program 1 times [2022-07-26 13:41:09,165 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-26 13:41:09,165 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1104914925] [2022-07-26 13:41:09,165 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-26 13:41:09,165 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-26 13:41:09,183 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 13:41:09,183 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-26 13:41:09,196 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 13:41:09,202 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-26 13:41:10,241 WARN L146 chiAutomizerObserver]: 3 thread instances were not sufficient, I will increase this number and restart the analysis [2022-07-26 13:41:10,258 INFO L144 ThreadInstanceAdder]: Constructed 4 joinOtherThreadTransitions. [2022-07-26 13:41:10,266 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 81 places, 80 transitions, 204 flow [2022-07-26 13:41:10,308 INFO L129 PetriNetUnfolder]: 48/373 cut-off events. [2022-07-26 13:41:10,309 INFO L130 PetriNetUnfolder]: For 48/48 co-relation queries the response was YES. [2022-07-26 13:41:10,311 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-26 13:41:10,311 INFO L82 GeneralOperation]: Start removeDead. Operand has 81 places, 80 transitions, 204 flow [2022-07-26 13:41:10,319 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 81 places, 80 transitions, 204 flow [2022-07-26 13:41:10,319 INFO L301 stractBuchiCegarLoop]: Interprodecural is true [2022-07-26 13:41:10,319 INFO L302 stractBuchiCegarLoop]: Hoare is false [2022-07-26 13:41:10,319 INFO L303 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2022-07-26 13:41:10,319 INFO L304 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2022-07-26 13:41:10,319 INFO L305 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2022-07-26 13:41:10,320 INFO L306 stractBuchiCegarLoop]: Difference is false [2022-07-26 13:41:10,320 INFO L307 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2022-07-26 13:41:10,320 INFO L311 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2022-07-26 13:41:10,320 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand currently 0 states, but on-demand construction may add more states [2022-07-26 13:41:13,670 INFO L131 ngComponentsAnalysis]: Automaton has 1296 accepting balls. 1296 [2022-07-26 13:41:13,670 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-26 13:41:13,671 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-26 13:41:13,671 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-26 13:41:13,672 INFO L151 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2022-07-26 13:41:13,672 INFO L333 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2022-07-26 13:41:13,672 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand currently 51510 states, but on-demand construction may add more states [2022-07-26 13:41:14,657 INFO L131 ngComponentsAnalysis]: Automaton has 1296 accepting balls. 1296 [2022-07-26 13:41:14,657 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-26 13:41:14,657 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-26 13:41:14,658 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-26 13:41:14,658 INFO L151 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2022-07-26 13:41:14,660 INFO L733 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 (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) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 64) |v_#length_3|) (= |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| 15) 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| 15) 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#[L723-3, 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] 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| 15) 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#[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] 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, 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] 1141#[threadENTRY, 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] 1307#[threadENTRY, threadENTRY, 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] 1497#[threadENTRY, 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] 1715#[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] 1963#[threadENTRY, L723-5, threadENTRY, threadENTRY]don't care [322] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 15) 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#[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] 2585#[L724-1, 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] 2975#[threadENTRY, threadENTRY, L724-2, 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#[threadENTRY, L724-3, 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| 15) 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-26 13:41:14,660 INFO L735 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-26 13:41:14,660 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-26 13:41:14,661 INFO L85 PathProgramCache]: Analyzing trace with hash -628648073, now seen corresponding path program 1 times [2022-07-26 13:41:14,662 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-26 13:41:14,662 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1044292094] [2022-07-26 13:41:14,662 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-26 13:41:14,662 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-26 13:41:14,691 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 13:41:14,697 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-26 13:41:14,710 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 13:41:14,728 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-26 13:41:14,729 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-26 13:41:14,729 INFO L85 PathProgramCache]: Analyzing trace with hash 410, now seen corresponding path program 1 times [2022-07-26 13:41:14,729 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-26 13:41:14,729 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [323210025] [2022-07-26 13:41:14,730 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-26 13:41:14,730 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-26 13:41:14,733 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 13:41:14,733 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-26 13:41:14,734 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 13:41:14,735 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-26 13:41:14,739 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-26 13:41:14,740 INFO L85 PathProgramCache]: Analyzing trace with hash 1986746596, now seen corresponding path program 1 times [2022-07-26 13:41:14,740 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-26 13:41:14,740 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [258526725] [2022-07-26 13:41:14,740 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-26 13:41:14,740 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-26 13:41:14,776 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 13:41:14,776 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-26 13:41:14,796 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 13:41:14,805 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-26 13:41:16,064 WARN L146 chiAutomizerObserver]: 4 thread instances were not sufficient, I will increase this number and restart the analysis [2022-07-26 13:41:16,089 INFO L144 ThreadInstanceAdder]: Constructed 5 joinOtherThreadTransitions. [2022-07-26 13:41:16,093 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 89 places, 87 transitions, 234 flow [2022-07-26 13:41:16,157 INFO L129 PetriNetUnfolder]: 99/667 cut-off events. [2022-07-26 13:41:16,157 INFO L130 PetriNetUnfolder]: For 110/110 co-relation queries the response was YES. [2022-07-26 13:41:16,160 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-26 13:41:16,160 INFO L82 GeneralOperation]: Start removeDead. Operand has 89 places, 87 transitions, 234 flow [2022-07-26 13:41:16,169 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 89 places, 87 transitions, 234 flow [2022-07-26 13:41:16,170 INFO L301 stractBuchiCegarLoop]: Interprodecural is true [2022-07-26 13:41:16,170 INFO L302 stractBuchiCegarLoop]: Hoare is false [2022-07-26 13:41:16,170 INFO L303 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2022-07-26 13:41:16,171 INFO L304 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2022-07-26 13:41:16,171 INFO L305 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2022-07-26 13:41:16,171 INFO L306 stractBuchiCegarLoop]: Difference is false [2022-07-26 13:41:16,171 INFO L307 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2022-07-26 13:41:16,171 INFO L311 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2022-07-26 13:41:16,171 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand currently 0 states, but on-demand construction may add more states [2022-07-26 13:41:47,492 INFO L131 ngComponentsAnalysis]: Automaton has 7776 accepting balls. 7776 [2022-07-26 13:41:47,492 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-26 13:41:47,492 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-26 13:41:47,496 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-26 13:41:47,496 INFO L151 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2022-07-26 13:41:47,496 INFO L333 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2022-07-26 13:41:47,496 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand currently 342618 states, but on-demand construction may add more states [2022-07-26 13:41:56,886 INFO L131 ngComponentsAnalysis]: Automaton has 7776 accepting balls. 7776 [2022-07-26 13:41:56,886 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-26 13:41:56,886 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-26 13:41:56,890 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-26 13:41:56,890 INFO L151 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2022-07-26 13:41:56,892 INFO L733 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 (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) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 64) |v_#length_3|) (= |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| 15) 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#[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] 179#[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] 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| 15) 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#[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] 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#[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] 353#[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] 393#[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] 435#[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] 483#[L723-4, 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] 539#[threadENTRY, L723-5, threadENTRY]don't care [409] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 15) 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#[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] 683#[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] 775#[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] 883#[threadENTRY, L724-3, 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| 15) 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#[threadENTRY, L724-4, 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#[threadENTRY, L724-5, 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#[threadENTRY, L723-2, 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, L723-3, threadENTRY, 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] 7143#[threadENTRY, L723-4, 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#[L723-5, threadENTRY, threadENTRY, threadENTRY, threadENTRY]don't care [409] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 15) 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, L724, threadENTRY, 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] 10991#[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] 12677#[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] 14633#[threadENTRY, L724-3, threadENTRY, threadENTRY, threadENTRY]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, 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] 19581#[threadENTRY, threadENTRY, threadENTRY, 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] 22705#[threadENTRY, threadENTRY, threadENTRY, 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] 26351#[threadENTRY, threadENTRY, L723-3, threadENTRY, 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, L723-4, 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] 35489#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, L723-5, threadENTRY]don't care [409] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 15) 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, 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] 47633#[threadENTRY, 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] 55093#[threadENTRY, 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] 63679#[threadENTRY, threadENTRY, L724-3, threadENTRY, threadENTRY, threadENTRY]don't care [470] L724-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 73597#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [2022-07-26 13:41:56,893 INFO L735 eck$LassoCheckResult]: Loop: 73597#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [471] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 73597#[threadENTRY, threadENTRY, threadENTRY, threadENTRY, threadENTRY, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [2022-07-26 13:41:56,893 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-26 13:41:56,893 INFO L85 PathProgramCache]: Analyzing trace with hash -905030268, now seen corresponding path program 1 times [2022-07-26 13:41:56,893 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-26 13:41:56,894 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1969057452] [2022-07-26 13:41:56,894 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-26 13:41:56,894 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-26 13:41:56,936 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 13:41:56,936 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-26 13:41:56,958 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 13:41:56,968 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-26 13:41:56,969 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-26 13:41:56,969 INFO L85 PathProgramCache]: Analyzing trace with hash 502, now seen corresponding path program 1 times [2022-07-26 13:41:56,969 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-26 13:41:56,969 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2059182100] [2022-07-26 13:41:56,970 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-26 13:41:56,970 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-26 13:41:56,975 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 13:41:56,975 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-26 13:41:56,976 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 13:41:56,978 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-26 13:41:56,978 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-26 13:41:56,979 INFO L85 PathProgramCache]: Analyzing trace with hash 2008833235, now seen corresponding path program 1 times [2022-07-26 13:41:56,979 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-26 13:41:56,979 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [752325676] [2022-07-26 13:41:56,979 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-26 13:41:56,979 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-26 13:41:57,004 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 13:41:57,004 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-26 13:41:57,026 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-26 13:41:57,033 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-26 13:41:58,897 WARN L146 chiAutomizerObserver]: 5 thread instances were not sufficient, I will increase this number and restart the analysis [2022-07-26 13:41:58,916 INFO L144 ThreadInstanceAdder]: Constructed 6 joinOtherThreadTransitions. [2022-07-26 13:41:58,922 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 97 places, 94 transitions, 266 flow [2022-07-26 13:41:59,049 INFO L129 PetriNetUnfolder]: 214/1249 cut-off events. [2022-07-26 13:41:59,050 INFO L130 PetriNetUnfolder]: For 242/242 co-relation queries the response was YES. [2022-07-26 13:41:59,056 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-26 13:41:59,057 INFO L82 GeneralOperation]: Start removeDead. Operand has 97 places, 94 transitions, 266 flow [2022-07-26 13:41:59,091 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 97 places, 94 transitions, 266 flow [2022-07-26 13:41:59,091 INFO L301 stractBuchiCegarLoop]: Interprodecural is true [2022-07-26 13:41:59,091 INFO L302 stractBuchiCegarLoop]: Hoare is false [2022-07-26 13:41:59,091 INFO L303 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2022-07-26 13:41:59,091 INFO L304 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2022-07-26 13:41:59,091 INFO L305 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2022-07-26 13:41:59,091 INFO L306 stractBuchiCegarLoop]: Difference is false [2022-07-26 13:41:59,091 INFO L307 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2022-07-26 13:41:59,092 INFO L311 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2022-07-26 13:41:59,092 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand currently 0 states, but on-demand construction may add more states