./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/goblint-regression/28-race_reach_02-simple_racefree.i --full-output -ea --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 03d7b7b3 Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -ea -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/goblint-regression/28-race_reach_02-simple_racefree.i -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash b3e7d0a2f10d1449a9a354d4032bafdd0ae7a7fd76aceb835acbee3134ec74e4 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 20:41:02,260 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 20:41:02,267 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 20:41:02,298 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 20:41:02,298 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 20:41:02,300 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 20:41:02,301 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 20:41:02,303 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 20:41:02,304 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 20:41:02,307 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 20:41:02,308 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 20:41:02,309 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 20:41:02,309 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 20:41:02,311 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 20:41:02,312 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 20:41:02,315 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 20:41:02,315 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 20:41:02,316 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 20:41:02,317 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 20:41:02,323 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 20:41:02,323 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 20:41:02,324 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 20:41:02,325 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 20:41:02,326 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 20:41:02,330 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 20:41:02,330 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 20:41:02,330 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 20:41:02,331 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 20:41:02,332 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 20:41:02,332 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 20:41:02,332 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 20:41:02,333 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 20:41:02,334 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 20:41:02,335 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 20:41:02,336 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 20:41:02,336 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 20:41:02,336 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 20:41:02,336 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 20:41:02,337 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 20:41:02,337 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 20:41:02,337 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 20:41:02,338 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2022-02-20 20:41:02,355 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 20:41:02,355 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 20:41:02,355 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 20:41:02,356 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 20:41:02,356 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 20:41:02,356 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 20:41:02,357 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 20:41:02,357 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 20:41:02,357 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 20:41:02,357 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 20:41:02,358 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 20:41:02,358 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 20:41:02,358 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 20:41:02,358 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 20:41:02,358 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 20:41:02,359 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 20:41:02,359 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 20:41:02,359 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 20:41:02,359 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 20:41:02,359 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 20:41:02,359 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 20:41:02,359 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 20:41:02,360 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 20:41:02,360 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 20:41:02,360 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 20:41:02,360 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 20:41:02,360 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 20:41:02,360 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 20:41:02,361 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 20:41:02,361 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 20:41:02,361 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 20:41:02,361 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 20:41:02,361 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 20:41:02,361 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(reach_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> b3e7d0a2f10d1449a9a354d4032bafdd0ae7a7fd76aceb835acbee3134ec74e4 [2022-02-20 20:41:02,534 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 20:41:02,549 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 20:41:02,550 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 20:41:02,551 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 20:41:02,551 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 20:41:02,552 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/goblint-regression/28-race_reach_02-simple_racefree.i [2022-02-20 20:41:02,606 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/51c61c847/320c01facc504d35819c86a8e5e8da04/FLAG4841a43c1 [2022-02-20 20:41:02,963 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 20:41:02,964 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/goblint-regression/28-race_reach_02-simple_racefree.i [2022-02-20 20:41:02,972 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/51c61c847/320c01facc504d35819c86a8e5e8da04/FLAG4841a43c1 [2022-02-20 20:41:03,341 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/51c61c847/320c01facc504d35819c86a8e5e8da04 [2022-02-20 20:41:03,343 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 20:41:03,343 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 20:41:03,344 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 20:41:03,345 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 20:41:03,346 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 20:41:03,347 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 08:41:03" (1/1) ... [2022-02-20 20:41:03,348 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@20516644 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:41:03, skipping insertion in model container [2022-02-20 20:41:03,348 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 08:41:03" (1/1) ... [2022-02-20 20:41:03,357 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 20:41:03,393 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 20:41:03,612 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/goblint-regression/28-race_reach_02-simple_racefree.i[30176,30189] [2022-02-20 20:41:03,623 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 20:41:03,629 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 20:41:03,650 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/goblint-regression/28-race_reach_02-simple_racefree.i[30176,30189] [2022-02-20 20:41:03,655 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 20:41:03,676 INFO L208 MainTranslator]: Completed translation [2022-02-20 20:41:03,676 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:41:03 WrapperNode [2022-02-20 20:41:03,676 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 20:41:03,677 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 20:41:03,677 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 20:41:03,677 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 20:41:03,682 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:41:03" (1/1) ... [2022-02-20 20:41:03,700 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:41:03" (1/1) ... [2022-02-20 20:41:03,724 INFO L137 Inliner]: procedures = 170, calls = 30, calls flagged for inlining = 3, calls inlined = 3, statements flattened = 80 [2022-02-20 20:41:03,725 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 20:41:03,725 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 20:41:03,725 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 20:41:03,726 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 20:41:03,731 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:41:03" (1/1) ... [2022-02-20 20:41:03,731 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:41:03" (1/1) ... [2022-02-20 20:41:03,737 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:41:03" (1/1) ... [2022-02-20 20:41:03,738 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:41:03" (1/1) ... [2022-02-20 20:41:03,742 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:41:03" (1/1) ... [2022-02-20 20:41:03,745 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:41:03" (1/1) ... [2022-02-20 20:41:03,746 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:41:03" (1/1) ... [2022-02-20 20:41:03,747 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 20:41:03,748 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 20:41:03,749 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 20:41:03,749 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 20:41:03,750 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:41:03" (1/1) ... [2022-02-20 20:41:03,754 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 20:41:03,760 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 20:41:03,774 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-02-20 20:41:03,781 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-02-20 20:41:03,798 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-02-20 20:41:03,799 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-02-20 20:41:03,799 INFO L130 BoogieDeclarations]: Found specification of procedure #PthreadsMutexLock [2022-02-20 20:41:03,799 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 20:41:03,799 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-02-20 20:41:03,799 INFO L130 BoogieDeclarations]: Found specification of procedure t_fun [2022-02-20 20:41:03,799 INFO L138 BoogieDeclarations]: Found implementation of procedure t_fun [2022-02-20 20:41:03,799 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 20:41:03,799 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 20:41:03,800 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 20:41:03,800 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 20:41:03,801 WARN L208 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to SingleStatement [2022-02-20 20:41:03,911 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 20:41:03,912 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 20:41:04,062 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 20:41:04,076 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 20:41:04,077 INFO L299 CfgBuilder]: Removed 10 assume(true) statements. [2022-02-20 20:41:04,078 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 08:41:04 BoogieIcfgContainer [2022-02-20 20:41:04,078 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 20:41:04,079 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 20:41:04,079 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 20:41:04,093 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 20:41:04,093 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 08:41:03" (1/3) ... [2022-02-20 20:41:04,093 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@71a432b3 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 08:41:04, skipping insertion in model container [2022-02-20 20:41:04,094 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:41:03" (2/3) ... [2022-02-20 20:41:04,094 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@71a432b3 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 08:41:04, skipping insertion in model container [2022-02-20 20:41:04,094 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 08:41:04" (3/3) ... [2022-02-20 20:41:04,095 INFO L111 eAbstractionObserver]: Analyzing ICFG 28-race_reach_02-simple_racefree.i [2022-02-20 20:41:04,099 WARN L150 ceAbstractionStarter]: Switching off computation of Hoare annotation because input is a concurrent program [2022-02-20 20:41:04,101 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 20:41:04,101 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 20:41:04,101 INFO L534 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2022-02-20 20:41:04,155 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,156 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,156 WARN L322 ript$VariableManager]: TermVariabe t_funThread1of1ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,156 WARN L322 ript$VariableManager]: TermVariabe t_funThread1of1ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,157 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,157 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,157 WARN L322 ript$VariableManager]: TermVariabe t_funThread1of1ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,158 WARN L322 ript$VariableManager]: TermVariabe t_funThread1of1ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,158 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~nondet3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,158 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~nondet3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,159 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~nondet3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,159 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~nondet3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,160 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,160 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,161 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,162 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,162 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~nondet6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,163 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~nondet6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,163 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,164 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,164 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,164 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,165 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,166 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,167 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~nondet6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,167 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~nondet6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,168 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,168 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,169 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,170 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,170 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,170 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,170 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,170 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,171 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,171 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,174 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~nondet6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,181 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,182 WARN L322 ript$VariableManager]: TermVariabe t_funThread1of1ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,182 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,184 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,184 WARN L322 ript$VariableManager]: TermVariabe t_funThread1of1ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,184 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~nondet3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,185 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,185 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of1ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,193 INFO L148 ThreadInstanceAdder]: Constructed 1 joinOtherThreadTransitions. [2022-02-20 20:41:04,224 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 20:41:04,228 INFO L339 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopsAndPotentialCycles, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mLoopAccelerationTechnique=FAST_UPR [2022-02-20 20:41:04,229 INFO L340 AbstractCegarLoop]: Starting to check reachability of 2 error locations. [2022-02-20 20:41:04,236 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 105 places, 114 transitions, 236 flow [2022-02-20 20:41:04,274 INFO L129 PetriNetUnfolder]: 17/150 cut-off events. [2022-02-20 20:41:04,274 INFO L130 PetriNetUnfolder]: For 1/1 co-relation queries the response was YES. [2022-02-20 20:41:04,278 INFO L84 FinitePrefix]: Finished finitePrefix Result has 156 conditions, 150 events. 17/150 cut-off events. For 1/1 co-relation queries the response was YES. Maximal size of possible extension queue 10. Compared 330 event pairs, 0 based on Foata normal form. 0/128 useless extension candidates. Maximal degree in co-relation 74. Up to 4 conditions per place. [2022-02-20 20:41:04,278 INFO L82 GeneralOperation]: Start removeDead. Operand has 105 places, 114 transitions, 236 flow [2022-02-20 20:41:04,281 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 101 places, 109 transitions, 223 flow [2022-02-20 20:41:04,293 INFO L129 PetriNetUnfolder]: 3/80 cut-off events. [2022-02-20 20:41:04,294 INFO L130 PetriNetUnfolder]: For 0/0 co-relation queries the response was YES. [2022-02-20 20:41:04,294 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:41:04,294 INFO L254 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 20:41:04,295 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 20:41:04,298 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:41:04,301 INFO L85 PathProgramCache]: Analyzing trace with hash -1446809384, now seen corresponding path program 1 times [2022-02-20 20:41:04,312 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:41:04,315 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [347040970] [2022-02-20 20:41:04,315 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:41:04,316 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:41:04,424 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:41:04,492 INFO L290 TraceCheckUtils]: 0: Hoare triple {108#true} [270] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 20:41:04,492 INFO L290 TraceCheckUtils]: 1: Hoare triple {108#true} [196] L-1-->L-1-1: Formula: true InVars {} OutVars{ULTIMATE.start_ULTIMATE.init_#t~nondet15#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_ULTIMATE.init_#t~nondet15#1] {108#true} is VALID [2022-02-20 20:41:04,493 INFO L290 TraceCheckUtils]: 2: Hoare triple {108#true} [273] L-1-1-->L-1-2: 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] {108#true} is VALID [2022-02-20 20:41:04,493 INFO L290 TraceCheckUtils]: 3: Hoare triple {108#true} [274] L-1-2-->L-1-3: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 20:41:04,493 INFO L290 TraceCheckUtils]: 4: Hoare triple {108#true} [276] L-1-3-->L690: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 20:41:04,493 INFO L290 TraceCheckUtils]: 5: Hoare triple {108#true} [213] L690-->L690-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[] {108#true} is VALID [2022-02-20 20:41:04,493 INFO L290 TraceCheckUtils]: 6: Hoare triple {108#true} [169] L690-1-->L690-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[] {108#true} is VALID [2022-02-20 20:41:04,494 INFO L290 TraceCheckUtils]: 7: Hoare triple {108#true} [183] L690-2-->L690-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[] {108#true} is VALID [2022-02-20 20:41:04,494 INFO L290 TraceCheckUtils]: 8: Hoare triple {108#true} [256] L690-3-->L690-4: Formula: (and (= (select |v_#length_2| 2) 13) (= (select |v_#valid_3| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 20:41:04,494 INFO L290 TraceCheckUtils]: 9: Hoare triple {108#true} [219] L690-4-->L696: Formula: (and (= 3 |v_~#__global_lock~0.base_1|) (= |v_~#__global_lock~0.offset_1| 0)) InVars {} OutVars{~#__global_lock~0.base=|v_~#__global_lock~0.base_1|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_1|} AuxVars[] AssignedVars[~#__global_lock~0.offset, ~#__global_lock~0.base] {108#true} is VALID [2022-02-20 20:41:04,494 INFO L290 TraceCheckUtils]: 10: Hoare triple {108#true} [204] L696-->L696-1: Formula: (and (= (select |v_#length_3| 3) 24) (= (select |v_#valid_4| 3) 1)) InVars {#length=|v_#length_3|, #valid=|v_#valid_4|} OutVars{#length=|v_#length_3|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 20:41:04,495 INFO L290 TraceCheckUtils]: 11: Hoare triple {108#true} [258] L696-1-->L696-2: Formula: (= (select (select |v_#memory_int_3| |v_~#__global_lock~0.base_2|) |v_~#__global_lock~0.offset_2|) 0) InVars {#memory_int=|v_#memory_int_3|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_2|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_2|} OutVars{#memory_int=|v_#memory_int_3|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_2|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_2|} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 20:41:04,495 INFO L290 TraceCheckUtils]: 12: Hoare triple {108#true} [179] L696-2-->L696-3: Formula: (= (select (select |v_#memory_int_4| |v_~#__global_lock~0.base_3|) (+ |v_~#__global_lock~0.offset_3| 4)) 0) InVars {#memory_int=|v_#memory_int_4|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_3|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_3|} OutVars{#memory_int=|v_#memory_int_4|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_3|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_3|} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 20:41:04,495 INFO L290 TraceCheckUtils]: 13: Hoare triple {108#true} [277] L696-3-->L696-4: Formula: (= (select (select |v_#memory_int_5| |v_~#__global_lock~0.base_4|) (+ |v_~#__global_lock~0.offset_4| 8)) 0) InVars {#memory_int=|v_#memory_int_5|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_4|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_4|} OutVars{#memory_int=|v_#memory_int_5|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_4|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_4|} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 20:41:04,495 INFO L290 TraceCheckUtils]: 14: Hoare triple {108#true} [266] L696-4-->L696-5: Formula: (= (select (select |v_#memory_int_6| |v_~#__global_lock~0.base_5|) (+ |v_~#__global_lock~0.offset_5| 12)) 0) InVars {#memory_int=|v_#memory_int_6|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_5|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_5|} OutVars{#memory_int=|v_#memory_int_6|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_5|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_5|} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 20:41:04,496 INFO L290 TraceCheckUtils]: 15: Hoare triple {108#true} [208] L696-5-->L696-6: Formula: (= (select (select |v_#memory_int_7| |v_~#__global_lock~0.base_6|) (+ 16 |v_~#__global_lock~0.offset_6|)) 0) InVars {#memory_int=|v_#memory_int_7|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_6|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_6|} OutVars{#memory_int=|v_#memory_int_7|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_6|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_6|} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 20:41:04,496 INFO L290 TraceCheckUtils]: 16: Hoare triple {108#true} [217] L696-6-->L698: Formula: (= v_~global~0_1 0) InVars {} OutVars{~global~0=v_~global~0_1} AuxVars[] AssignedVars[~global~0] {108#true} is VALID [2022-02-20 20:41:04,496 INFO L290 TraceCheckUtils]: 17: Hoare triple {108#true} [248] L698-->L698-1: Formula: (and (= |v_~#mutex1~0.offset_1| 0) (= |v_~#mutex1~0.base_1| 4)) InVars {} OutVars{~#mutex1~0.offset=|v_~#mutex1~0.offset_1|, ~#mutex1~0.base=|v_~#mutex1~0.base_1|} AuxVars[] AssignedVars[~#mutex1~0.offset, ~#mutex1~0.base] {108#true} is VALID [2022-02-20 20:41:04,496 INFO L290 TraceCheckUtils]: 18: Hoare triple {108#true} [246] L698-1-->L698-2: Formula: (and (= (select |v_#length_4| 4) 24) (= (select |v_#valid_5| 4) 1)) InVars {#length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#length=|v_#length_4|, #valid=|v_#valid_5|} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 20:41:04,496 INFO L290 TraceCheckUtils]: 19: Hoare triple {108#true} [267] L698-2-->L698-3: Formula: (= (select (select |v_#memory_int_8| |v_~#mutex1~0.base_2|) |v_~#mutex1~0.offset_2|) 0) InVars {#memory_int=|v_#memory_int_8|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_2|, ~#mutex1~0.base=|v_~#mutex1~0.base_2|} OutVars{#memory_int=|v_#memory_int_8|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_2|, ~#mutex1~0.base=|v_~#mutex1~0.base_2|} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 20:41:04,497 INFO L290 TraceCheckUtils]: 20: Hoare triple {108#true} [184] L698-3-->L698-4: Formula: (= (select (select |v_#memory_int_9| |v_~#mutex1~0.base_3|) (+ |v_~#mutex1~0.offset_3| 4)) 0) InVars {#memory_int=|v_#memory_int_9|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_3|, ~#mutex1~0.base=|v_~#mutex1~0.base_3|} OutVars{#memory_int=|v_#memory_int_9|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_3|, ~#mutex1~0.base=|v_~#mutex1~0.base_3|} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 20:41:04,497 INFO L290 TraceCheckUtils]: 21: Hoare triple {108#true} [247] L698-4-->L698-5: Formula: (= (select (select |v_#memory_int_10| |v_~#mutex1~0.base_4|) (+ |v_~#mutex1~0.offset_4| 8)) 0) InVars {#memory_int=|v_#memory_int_10|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_4|, ~#mutex1~0.base=|v_~#mutex1~0.base_4|} OutVars{#memory_int=|v_#memory_int_10|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_4|, ~#mutex1~0.base=|v_~#mutex1~0.base_4|} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 20:41:04,497 INFO L290 TraceCheckUtils]: 22: Hoare triple {108#true} [271] L698-5-->L698-6: Formula: (= (select (select |v_#memory_int_11| |v_~#mutex1~0.base_5|) (+ |v_~#mutex1~0.offset_5| 12)) 0) InVars {#memory_int=|v_#memory_int_11|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_5|, ~#mutex1~0.base=|v_~#mutex1~0.base_5|} OutVars{#memory_int=|v_#memory_int_11|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_5|, ~#mutex1~0.base=|v_~#mutex1~0.base_5|} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 20:41:04,497 INFO L290 TraceCheckUtils]: 23: Hoare triple {108#true} [268] L698-6-->L698-7: Formula: (= (select (select |v_#memory_int_12| |v_~#mutex1~0.base_6|) (+ 16 |v_~#mutex1~0.offset_6|)) 0) InVars {#memory_int=|v_#memory_int_12|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_6|, ~#mutex1~0.base=|v_~#mutex1~0.base_6|} OutVars{#memory_int=|v_#memory_int_12|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_6|, ~#mutex1~0.base=|v_~#mutex1~0.base_6|} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 20:41:04,498 INFO L290 TraceCheckUtils]: 24: Hoare triple {108#true} [178] L698-7-->L699: Formula: (= v_~mutex2~0.__data.__lock_1 0) InVars {} OutVars{~mutex2~0.__data.__lock=v_~mutex2~0.__data.__lock_1} AuxVars[] AssignedVars[~mutex2~0.__data.__lock] {108#true} is VALID [2022-02-20 20:41:04,498 INFO L290 TraceCheckUtils]: 25: Hoare triple {108#true} [199] L699-->L699-1: Formula: (= v_~mutex2~0.__data.__count_1 0) InVars {} OutVars{~mutex2~0.__data.__count=v_~mutex2~0.__data.__count_1} AuxVars[] AssignedVars[~mutex2~0.__data.__count] {108#true} is VALID [2022-02-20 20:41:04,498 INFO L290 TraceCheckUtils]: 26: Hoare triple {108#true} [242] L699-1-->L699-2: Formula: (= v_~mutex2~0.__data.__owner_1 0) InVars {} OutVars{~mutex2~0.__data.__owner=v_~mutex2~0.__data.__owner_1} AuxVars[] AssignedVars[~mutex2~0.__data.__owner] {108#true} is VALID [2022-02-20 20:41:04,498 INFO L290 TraceCheckUtils]: 27: Hoare triple {108#true} [172] L699-2-->L699-3: Formula: (= v_~mutex2~0.__data.__kind_1 0) InVars {} OutVars{~mutex2~0.__data.__kind=v_~mutex2~0.__data.__kind_1} AuxVars[] AssignedVars[~mutex2~0.__data.__kind] {108#true} is VALID [2022-02-20 20:41:04,498 INFO L290 TraceCheckUtils]: 28: Hoare triple {108#true} [177] L699-3-->L699-4: Formula: (= v_~mutex2~0.__data.__nusers_1 0) InVars {} OutVars{~mutex2~0.__data.__nusers=v_~mutex2~0.__data.__nusers_1} AuxVars[] AssignedVars[~mutex2~0.__data.__nusers] {108#true} is VALID [2022-02-20 20:41:04,499 INFO L290 TraceCheckUtils]: 29: Hoare triple {108#true} [187] L699-4-->L699-5: Formula: (= ((as const (Array Int Int)) 0) v_~mutex2~0.__size_1) InVars {} OutVars{~mutex2~0.__size=v_~mutex2~0.__size_1} AuxVars[] AssignedVars[~mutex2~0.__size] {108#true} is VALID [2022-02-20 20:41:04,499 INFO L290 TraceCheckUtils]: 30: Hoare triple {108#true} [190] L699-5-->L699-6: Formula: (= v_~mutex2~0.__align_1 |v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_2|) InVars {ULTIMATE.start_ULTIMATE.init_#t~nondet15#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_2|} OutVars{~mutex2~0.__align=v_~mutex2~0.__align_1, ULTIMATE.start_ULTIMATE.init_#t~nondet15#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_2|} AuxVars[] AssignedVars[~mutex2~0.__align] {108#true} is VALID [2022-02-20 20:41:04,499 INFO L290 TraceCheckUtils]: 31: Hoare triple {108#true} [218] L699-6-->L-1-4: Formula: true InVars {} OutVars{ULTIMATE.start_ULTIMATE.init_#t~nondet15#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_ULTIMATE.init_#t~nondet15#1] {108#true} is VALID [2022-02-20 20:41:04,499 INFO L290 TraceCheckUtils]: 32: Hoare triple {108#true} [201] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 20:41:04,499 INFO L290 TraceCheckUtils]: 33: Hoare triple {108#true} [176] L-1-5-->L-1-6: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 20:41:04,500 INFO L290 TraceCheckUtils]: 34: Hoare triple {108#true} [265] 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] {108#true} is VALID [2022-02-20 20:41:04,500 INFO L290 TraceCheckUtils]: 35: Hoare triple {108#true} [175] L-1-7-->L707: Formula: true InVars {} OutVars{ULTIMATE.start_main_~i~1#1=|v_ULTIMATE.start_main_~i~1#1_1|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_1|, ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_1|, ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_1|, ULTIMATE.start_main_#t~mem14#1=|v_ULTIMATE.start_main_#t~mem14#1_1|, ULTIMATE.start_main_~#t_ids~0#1.base=|v_ULTIMATE.start_main_~#t_ids~0#1.base_1|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_1|, ULTIMATE.start_main_#t~post8#1=|v_ULTIMATE.start_main_#t~post8#1_1|, ULTIMATE.start_main_#t~post13#1=|v_ULTIMATE.start_main_#t~post13#1_1|, ULTIMATE.start_main_~#t_ids~0#1.offset=|v_ULTIMATE.start_main_~#t_ids~0#1.offset_1|, ULTIMATE.start_main_#t~nondet12#1=|v_ULTIMATE.start_main_#t~nondet12#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet11#1, ULTIMATE.start_main_#t~nondet10#1, ULTIMATE.start_main_#t~mem14#1, ULTIMATE.start_main_~#t_ids~0#1.base, ULTIMATE.start_main_#t~pre9#1, ULTIMATE.start_main_#t~post8#1, ULTIMATE.start_main_#t~post13#1, ULTIMATE.start_main_~#t_ids~0#1.offset, ULTIMATE.start_main_#t~nondet12#1] {108#true} is VALID [2022-02-20 20:41:04,500 INFO L290 TraceCheckUtils]: 36: Hoare triple {108#true} [231] L707-->L707-1: Formula: (and (= (store |v_#length_6| |v_ULTIMATE.start_main_~#t_ids~0#1.base_2| 40000) |v_#length_5|) (= |v_#valid_6| (store |v_#valid_7| |v_ULTIMATE.start_main_~#t_ids~0#1.base_2| 1)) (= |v_ULTIMATE.start_main_~#t_ids~0#1.offset_2| 0) (not (= |v_ULTIMATE.start_main_~#t_ids~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t_ids~0#1.base_2|) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#t_ids~0#1.base_2|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_6|, #valid=|v_#valid_7|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, ULTIMATE.start_main_~#t_ids~0#1.offset=|v_ULTIMATE.start_main_~#t_ids~0#1.offset_2|, #length=|v_#length_5|, ULTIMATE.start_main_~#t_ids~0#1.base=|v_ULTIMATE.start_main_~#t_ids~0#1.base_2|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t_ids~0#1.base, #valid, ULTIMATE.start_main_~#t_ids~0#1.offset, #length] {108#true} is VALID [2022-02-20 20:41:04,501 INFO L290 TraceCheckUtils]: 37: Hoare triple {108#true} [223] L707-1-->L707-13: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 0) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {110#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 20:41:04,501 INFO L290 TraceCheckUtils]: 38: Hoare triple {110#(= |ULTIMATE.start_main_~i~0#1| 0)} [238] L707-13-->L707-14: Formula: (not (< |v_ULTIMATE.start_main_~i~0#1_3| 10000)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} AuxVars[] AssignedVars[] {109#false} is VALID [2022-02-20 20:41:04,502 INFO L290 TraceCheckUtils]: 39: Hoare triple {109#false} [170] L707-14-->L708: Formula: (let ((.cse0 (select |v_#pthreadsMutex_2| |v_~#mutex1~0.base_7|))) (and (= |v_#pthreadsMutex_1| (store |v_#pthreadsMutex_2| |v_~#mutex1~0.base_7| (store .cse0 |v_~#mutex1~0.offset_7| 1))) (= |v_ULTIMATE.start_main_#t~nondet11#1_2| 0) (= (select .cse0 |v_~#mutex1~0.offset_7|) 0))) InVars {#pthreadsMutex=|v_#pthreadsMutex_2|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_7|, ~#mutex1~0.base=|v_~#mutex1~0.base_7|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_1|, ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_2|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_7|, ~#mutex1~0.base=|v_~#mutex1~0.base_7|} AuxVars[] AssignedVars[#pthreadsMutex, ULTIMATE.start_main_#t~nondet11#1] {109#false} is VALID [2022-02-20 20:41:04,502 INFO L290 TraceCheckUtils]: 40: Hoare triple {109#false} [171] L708-->L709-7: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet11#1] {109#false} is VALID [2022-02-20 20:41:04,506 INFO L290 TraceCheckUtils]: 41: Hoare triple {109#false} [249] L709-7-->L709-1: Formula: (let ((.cse0 (select |v_#pthreadsMutex_4| |v_~#__global_lock~0.base_7|))) (and (= (select .cse0 |v_~#__global_lock~0.offset_7|) 0) (= |v_#pthreadsMutex_3| (store |v_#pthreadsMutex_4| |v_~#__global_lock~0.base_7| (store .cse0 |v_~#__global_lock~0.offset_7| 1))) (= |v_ULTIMATE.start_main_#t~nondet12#1_2| 0))) InVars {#pthreadsMutex=|v_#pthreadsMutex_4|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_7|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_7|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_3|, ULTIMATE.start_main_#t~nondet12#1=|v_ULTIMATE.start_main_#t~nondet12#1_2|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_7|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_7|} AuxVars[] AssignedVars[#pthreadsMutex, ULTIMATE.start_main_#t~nondet12#1] {109#false} is VALID [2022-02-20 20:41:04,507 INFO L290 TraceCheckUtils]: 42: Hoare triple {109#false} [214] L709-1-->L709-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet12#1=|v_ULTIMATE.start_main_#t~nondet12#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet12#1] {109#false} is VALID [2022-02-20 20:41:04,507 INFO L290 TraceCheckUtils]: 43: Hoare triple {109#false} [167] L709-2-->L709-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {109#false} is VALID [2022-02-20 20:41:04,507 INFO L290 TraceCheckUtils]: 44: Hoare triple {109#false} [257] L709-3-->L709-4: Formula: (= (ite (= v_~global~0_2 0) 1 0) |v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_1|) InVars {~global~0=v_~global~0_2} OutVars{ULTIMATE.start___VERIFIER_assert_#in~cond#1=|v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_1|, ~global~0=v_~global~0_2} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_#in~cond#1] {109#false} is VALID [2022-02-20 20:41:04,508 INFO L290 TraceCheckUtils]: 45: Hoare triple {109#false} [209] L709-4-->L691: Formula: true InVars {} OutVars{ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_~cond#1] {109#false} is VALID [2022-02-20 20:41:04,508 INFO L290 TraceCheckUtils]: 46: Hoare triple {109#false} [195] L691-->L691-1: Formula: (= |v_ULTIMATE.start___VERIFIER_assert_~cond#1_2| |v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_2|) InVars {ULTIMATE.start___VERIFIER_assert_#in~cond#1=|v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_2|} OutVars{ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_2|, ULTIMATE.start___VERIFIER_assert_#in~cond#1=|v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_2|} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_~cond#1] {109#false} is VALID [2022-02-20 20:41:04,508 INFO L290 TraceCheckUtils]: 47: Hoare triple {109#false} [278] L691-1-->L691-2: Formula: (= |v_ULTIMATE.start___VERIFIER_assert_~cond#1_3| 0) InVars {ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_3|} OutVars{ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_3|} AuxVars[] AssignedVars[] {109#false} is VALID [2022-02-20 20:41:04,508 INFO L290 TraceCheckUtils]: 48: Hoare triple {109#false} [192] L691-2-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {109#false} is VALID [2022-02-20 20:41:04,510 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 20:41:04,510 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 20:41:04,510 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [347040970] [2022-02-20 20:41:04,511 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [347040970] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 20:41:04,511 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 20:41:04,511 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 20:41:04,513 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1197883565] [2022-02-20 20:41:04,514 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 20:41:04,523 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 16.333333333333332) internal successors, (49), 3 states have internal predecessors, (49), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 49 [2022-02-20 20:41:04,525 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 20:41:04,528 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 16.333333333333332) internal successors, (49), 3 states have internal predecessors, (49), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:41:04,575 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 20:41:04,576 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 20:41:04,576 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 20:41:04,595 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 20:41:04,596 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 20:41:04,598 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 93 out of 114 [2022-02-20 20:41:04,603 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 101 places, 109 transitions, 223 flow. Second operand has 3 states, 3 states have (on average 94.0) internal successors, (282), 3 states have internal predecessors, (282), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:41:04,603 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 20:41:04,603 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 93 of 114 [2022-02-20 20:41:04,604 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 20:41:04,666 INFO L129 PetriNetUnfolder]: 0/101 cut-off events. [2022-02-20 20:41:04,666 INFO L130 PetriNetUnfolder]: For 0/0 co-relation queries the response was YES. [2022-02-20 20:41:04,666 INFO L84 FinitePrefix]: Finished finitePrefix Result has 117 conditions, 101 events. 0/101 cut-off events. For 0/0 co-relation queries the response was YES. Maximal size of possible extension queue 3. Compared 78 event pairs, 0 based on Foata normal form. 22/120 useless extension candidates. Maximal degree in co-relation 0. Up to 6 conditions per place. [2022-02-20 20:41:04,667 INFO L132 encePairwiseOnDemand]: 100/114 looper letters, 8 selfloop transitions, 2 changer transitions 15/99 dead transitions. [2022-02-20 20:41:04,668 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 102 places, 99 transitions, 223 flow [2022-02-20 20:41:04,668 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 20:41:04,669 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2022-02-20 20:41:04,690 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 308 transitions. [2022-02-20 20:41:04,691 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.9005847953216374 [2022-02-20 20:41:04,692 INFO L72 ComplementDD]: Start complementDD. Operand 3 states and 308 transitions. [2022-02-20 20:41:04,692 INFO L73 IsDeterministic]: Start isDeterministic. Operand 3 states and 308 transitions. [2022-02-20 20:41:04,693 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 20:41:04,694 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 3 states and 308 transitions. [2022-02-20 20:41:04,700 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 4 states, 3 states have (on average 102.66666666666667) internal successors, (308), 3 states have internal predecessors, (308), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:41:04,703 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 4 states, 4 states have (on average 114.0) internal successors, (456), 4 states have internal predecessors, (456), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:41:04,704 INFO L81 ComplementDD]: Finished complementDD. Result has 4 states, 4 states have (on average 114.0) internal successors, (456), 4 states have internal predecessors, (456), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:41:04,705 INFO L186 Difference]: Start difference. First operand has 101 places, 109 transitions, 223 flow. Second operand 3 states and 308 transitions. [2022-02-20 20:41:04,706 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 102 places, 99 transitions, 223 flow [2022-02-20 20:41:04,709 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 102 places, 99 transitions, 223 flow, removed 0 selfloop flow, removed 0 redundant places. [2022-02-20 20:41:04,713 INFO L242 Difference]: Finished difference. Result has 103 places, 82 transitions, 177 flow [2022-02-20 20:41:04,714 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=114, PETRI_DIFFERENCE_MINUEND_FLOW=199, PETRI_DIFFERENCE_MINUEND_PLACES=100, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=97, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=2, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=95, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=177, PETRI_PLACES=103, PETRI_TRANSITIONS=82} [2022-02-20 20:41:04,717 INFO L334 CegarLoopForPetriNet]: 101 programPoint places, 2 predicate places. [2022-02-20 20:41:04,717 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 103 places, 82 transitions, 177 flow [2022-02-20 20:41:04,744 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 549 states, 547 states have (on average 1.846435100548446) internal successors, (1010), 548 states have internal predecessors, (1010), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:41:04,745 INFO L78 Accepts]: Start accepts. Automaton has has 549 states, 547 states have (on average 1.846435100548446) internal successors, (1010), 548 states have internal predecessors, (1010), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 49 [2022-02-20 20:41:04,745 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 20:41:04,745 INFO L470 AbstractCegarLoop]: Abstraction has has 103 places, 82 transitions, 177 flow [2022-02-20 20:41:04,746 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 94.0) internal successors, (282), 3 states have internal predecessors, (282), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:41:04,746 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:41:04,746 INFO L254 CegarLoopForPetriNet]: trace 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 20:41:04,747 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 20:41:04,747 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0INUSE_VIOLATION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 20:41:04,747 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:41:04,747 INFO L85 PathProgramCache]: Analyzing trace with hash 515695535, now seen corresponding path program 1 times [2022-02-20 20:41:04,748 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:41:04,748 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1050341141] [2022-02-20 20:41:04,748 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:41:04,748 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:41:04,802 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 20:41:04,802 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-02-20 20:41:04,827 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 20:41:04,851 INFO L138 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-02-20 20:41:04,851 INFO L628 BasicCegarLoop]: Counterexample is feasible [2022-02-20 20:41:04,852 INFO L764 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0INUSE_VIOLATION (1 of 2 remaining) [2022-02-20 20:41:04,854 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 2 remaining) [2022-02-20 20:41:04,854 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-20 20:41:04,858 INFO L732 BasicCegarLoop]: Path program histogram: [1, 1] [2022-02-20 20:41:04,859 WARN L235 ceAbstractionStarter]: 1 thread instances were not sufficient, I will increase this number and restart the analysis [2022-02-20 20:41:04,859 INFO L534 ceAbstractionStarter]: Constructing petrified ICFG for 2 thread instances. [2022-02-20 20:41:04,885 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of2ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,886 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of2ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,886 WARN L322 ript$VariableManager]: TermVariabe t_funThread1of2ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,886 WARN L322 ript$VariableManager]: TermVariabe t_funThread1of2ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,886 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of2ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,886 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of2ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,887 WARN L322 ript$VariableManager]: TermVariabe t_funThread1of2ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,887 WARN L322 ript$VariableManager]: TermVariabe t_funThread1of2ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,887 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of2ForFork0_#t~nondet3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,887 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of2ForFork0_#t~nondet3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,887 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of2ForFork0_#t~nondet3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,887 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of2ForFork0_#t~nondet3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,888 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of2ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,888 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of2ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,889 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of2ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,889 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of2ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,889 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of2ForFork0_#t~nondet6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,889 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of2ForFork0_#t~nondet6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,889 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of2ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,890 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of2ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,890 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of2ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,890 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of2ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,890 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of2ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,890 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of2ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,890 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of2ForFork0_#t~nondet6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,891 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of2ForFork0_#t~nondet6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,891 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of2ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,893 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of2ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,894 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of2ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,894 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of2ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,894 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of2ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,894 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of2ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,894 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of2ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,895 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of2ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,895 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of2ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,895 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of2ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,895 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of2ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,896 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of2ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,896 WARN L322 ript$VariableManager]: TermVariabe t_funThread2of2ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,896 WARN L322 ript$VariableManager]: TermVariabe t_funThread2of2ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,896 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of2ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,896 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of2ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,896 WARN L322 ript$VariableManager]: TermVariabe t_funThread2of2ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,896 WARN L322 ript$VariableManager]: TermVariabe t_funThread2of2ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,897 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of2ForFork0_#t~nondet3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,897 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of2ForFork0_#t~nondet3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,897 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of2ForFork0_#t~nondet3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,897 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of2ForFork0_#t~nondet3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,897 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of2ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,897 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of2ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,898 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of2ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,898 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of2ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,898 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of2ForFork0_#t~nondet6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,898 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of2ForFork0_#t~nondet6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,898 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of2ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,899 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of2ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,899 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of2ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,899 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of2ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,899 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of2ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,899 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of2ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,899 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of2ForFork0_#t~nondet6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,899 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of2ForFork0_#t~nondet6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,900 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of2ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,900 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of2ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,900 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of2ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,900 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of2ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,901 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of2ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,901 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of2ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,901 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of2ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,901 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of2ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,902 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of2ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,902 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of2ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,902 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of2ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,903 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of2ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,903 WARN L322 ript$VariableManager]: TermVariabe t_funThread1of2ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,903 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of2ForFork0_#t~nondet3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,903 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of2ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,903 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of2ForFork0_#t~nondet6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,903 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of2ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,903 WARN L322 ript$VariableManager]: TermVariabe t_funThread1of2ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,903 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of2ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,904 WARN L322 ript$VariableManager]: TermVariabe t_funThread2of2ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,904 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of2ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,905 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of2ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,905 WARN L322 ript$VariableManager]: TermVariabe t_funThread2of2ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,905 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of2ForFork0_#t~nondet3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,905 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of2ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,905 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of2ForFork0_#t~nondet6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,905 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of2ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,905 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of2ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:04,912 INFO L148 ThreadInstanceAdder]: Constructed 2 joinOtherThreadTransitions. [2022-02-20 20:41:04,916 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 20:41:04,917 INFO L339 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopsAndPotentialCycles, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mLoopAccelerationTechnique=FAST_UPR [2022-02-20 20:41:04,917 INFO L340 AbstractCegarLoop]: Starting to check reachability of 2 error locations. [2022-02-20 20:41:04,919 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 130 places, 144 transitions, 306 flow [2022-02-20 20:41:04,946 INFO L129 PetriNetUnfolder]: 31/241 cut-off events. [2022-02-20 20:41:04,946 INFO L130 PetriNetUnfolder]: For 6/6 co-relation queries the response was YES. [2022-02-20 20:41:04,948 INFO L84 FinitePrefix]: Finished finitePrefix Result has 255 conditions, 241 events. 31/241 cut-off events. For 6/6 co-relation queries the response was YES. Maximal size of possible extension queue 11. Compared 670 event pairs, 0 based on Foata normal form. 0/203 useless extension candidates. Maximal degree in co-relation 152. Up to 8 conditions per place. [2022-02-20 20:41:04,948 INFO L82 GeneralOperation]: Start removeDead. Operand has 130 places, 144 transitions, 306 flow [2022-02-20 20:41:04,950 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 130 places, 144 transitions, 306 flow [2022-02-20 20:41:04,959 INFO L129 PetriNetUnfolder]: 5/87 cut-off events. [2022-02-20 20:41:04,959 INFO L130 PetriNetUnfolder]: For 0/0 co-relation queries the response was YES. [2022-02-20 20:41:04,959 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:41:04,959 INFO L254 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 20:41:04,960 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 20:41:04,961 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:41:04,961 INFO L85 PathProgramCache]: Analyzing trace with hash -804450649, now seen corresponding path program 1 times [2022-02-20 20:41:04,961 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:41:04,961 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1462212406] [2022-02-20 20:41:04,961 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:41:04,962 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:41:04,990 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:41:05,016 INFO L290 TraceCheckUtils]: 0: Hoare triple {133#true} [414] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {133#true} is VALID [2022-02-20 20:41:05,016 INFO L290 TraceCheckUtils]: 1: Hoare triple {133#true} [340] L-1-->L-1-1: Formula: true InVars {} OutVars{ULTIMATE.start_ULTIMATE.init_#t~nondet15#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_ULTIMATE.init_#t~nondet15#1] {133#true} is VALID [2022-02-20 20:41:05,017 INFO L290 TraceCheckUtils]: 2: Hoare triple {133#true} [417] L-1-1-->L-1-2: 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] {133#true} is VALID [2022-02-20 20:41:05,017 INFO L290 TraceCheckUtils]: 3: Hoare triple {133#true} [418] L-1-2-->L-1-3: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] {133#true} is VALID [2022-02-20 20:41:05,017 INFO L290 TraceCheckUtils]: 4: Hoare triple {133#true} [420] L-1-3-->L690: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {133#true} is VALID [2022-02-20 20:41:05,017 INFO L290 TraceCheckUtils]: 5: Hoare triple {133#true} [357] L690-->L690-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[] {133#true} is VALID [2022-02-20 20:41:05,018 INFO L290 TraceCheckUtils]: 6: Hoare triple {133#true} [313] L690-1-->L690-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[] {133#true} is VALID [2022-02-20 20:41:05,018 INFO L290 TraceCheckUtils]: 7: Hoare triple {133#true} [327] L690-2-->L690-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[] {133#true} is VALID [2022-02-20 20:41:05,018 INFO L290 TraceCheckUtils]: 8: Hoare triple {133#true} [400] L690-3-->L690-4: Formula: (and (= (select |v_#length_2| 2) 13) (= (select |v_#valid_3| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {133#true} is VALID [2022-02-20 20:41:05,018 INFO L290 TraceCheckUtils]: 9: Hoare triple {133#true} [363] L690-4-->L696: Formula: (and (= 3 |v_~#__global_lock~0.base_1|) (= |v_~#__global_lock~0.offset_1| 0)) InVars {} OutVars{~#__global_lock~0.base=|v_~#__global_lock~0.base_1|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_1|} AuxVars[] AssignedVars[~#__global_lock~0.offset, ~#__global_lock~0.base] {133#true} is VALID [2022-02-20 20:41:05,018 INFO L290 TraceCheckUtils]: 10: Hoare triple {133#true} [348] L696-->L696-1: Formula: (and (= (select |v_#length_3| 3) 24) (= (select |v_#valid_4| 3) 1)) InVars {#length=|v_#length_3|, #valid=|v_#valid_4|} OutVars{#length=|v_#length_3|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[] {133#true} is VALID [2022-02-20 20:41:05,019 INFO L290 TraceCheckUtils]: 11: Hoare triple {133#true} [402] L696-1-->L696-2: Formula: (= (select (select |v_#memory_int_3| |v_~#__global_lock~0.base_2|) |v_~#__global_lock~0.offset_2|) 0) InVars {#memory_int=|v_#memory_int_3|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_2|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_2|} OutVars{#memory_int=|v_#memory_int_3|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_2|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_2|} AuxVars[] AssignedVars[] {133#true} is VALID [2022-02-20 20:41:05,019 INFO L290 TraceCheckUtils]: 12: Hoare triple {133#true} [323] L696-2-->L696-3: Formula: (= (select (select |v_#memory_int_4| |v_~#__global_lock~0.base_3|) (+ |v_~#__global_lock~0.offset_3| 4)) 0) InVars {#memory_int=|v_#memory_int_4|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_3|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_3|} OutVars{#memory_int=|v_#memory_int_4|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_3|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_3|} AuxVars[] AssignedVars[] {133#true} is VALID [2022-02-20 20:41:05,019 INFO L290 TraceCheckUtils]: 13: Hoare triple {133#true} [421] L696-3-->L696-4: Formula: (= (select (select |v_#memory_int_5| |v_~#__global_lock~0.base_4|) (+ |v_~#__global_lock~0.offset_4| 8)) 0) InVars {#memory_int=|v_#memory_int_5|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_4|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_4|} OutVars{#memory_int=|v_#memory_int_5|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_4|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_4|} AuxVars[] AssignedVars[] {133#true} is VALID [2022-02-20 20:41:05,019 INFO L290 TraceCheckUtils]: 14: Hoare triple {133#true} [410] L696-4-->L696-5: Formula: (= (select (select |v_#memory_int_6| |v_~#__global_lock~0.base_5|) (+ |v_~#__global_lock~0.offset_5| 12)) 0) InVars {#memory_int=|v_#memory_int_6|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_5|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_5|} OutVars{#memory_int=|v_#memory_int_6|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_5|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_5|} AuxVars[] AssignedVars[] {133#true} is VALID [2022-02-20 20:41:05,019 INFO L290 TraceCheckUtils]: 15: Hoare triple {133#true} [352] L696-5-->L696-6: Formula: (= (select (select |v_#memory_int_7| |v_~#__global_lock~0.base_6|) (+ 16 |v_~#__global_lock~0.offset_6|)) 0) InVars {#memory_int=|v_#memory_int_7|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_6|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_6|} OutVars{#memory_int=|v_#memory_int_7|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_6|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_6|} AuxVars[] AssignedVars[] {133#true} is VALID [2022-02-20 20:41:05,020 INFO L290 TraceCheckUtils]: 16: Hoare triple {133#true} [361] L696-6-->L698: Formula: (= v_~global~0_1 0) InVars {} OutVars{~global~0=v_~global~0_1} AuxVars[] AssignedVars[~global~0] {133#true} is VALID [2022-02-20 20:41:05,020 INFO L290 TraceCheckUtils]: 17: Hoare triple {133#true} [392] L698-->L698-1: Formula: (and (= |v_~#mutex1~0.offset_1| 0) (= |v_~#mutex1~0.base_1| 4)) InVars {} OutVars{~#mutex1~0.offset=|v_~#mutex1~0.offset_1|, ~#mutex1~0.base=|v_~#mutex1~0.base_1|} AuxVars[] AssignedVars[~#mutex1~0.offset, ~#mutex1~0.base] {133#true} is VALID [2022-02-20 20:41:05,020 INFO L290 TraceCheckUtils]: 18: Hoare triple {133#true} [390] L698-1-->L698-2: Formula: (and (= (select |v_#length_4| 4) 24) (= (select |v_#valid_5| 4) 1)) InVars {#length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#length=|v_#length_4|, #valid=|v_#valid_5|} AuxVars[] AssignedVars[] {133#true} is VALID [2022-02-20 20:41:05,020 INFO L290 TraceCheckUtils]: 19: Hoare triple {133#true} [411] L698-2-->L698-3: Formula: (= (select (select |v_#memory_int_8| |v_~#mutex1~0.base_2|) |v_~#mutex1~0.offset_2|) 0) InVars {#memory_int=|v_#memory_int_8|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_2|, ~#mutex1~0.base=|v_~#mutex1~0.base_2|} OutVars{#memory_int=|v_#memory_int_8|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_2|, ~#mutex1~0.base=|v_~#mutex1~0.base_2|} AuxVars[] AssignedVars[] {133#true} is VALID [2022-02-20 20:41:05,021 INFO L290 TraceCheckUtils]: 20: Hoare triple {133#true} [328] L698-3-->L698-4: Formula: (= (select (select |v_#memory_int_9| |v_~#mutex1~0.base_3|) (+ |v_~#mutex1~0.offset_3| 4)) 0) InVars {#memory_int=|v_#memory_int_9|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_3|, ~#mutex1~0.base=|v_~#mutex1~0.base_3|} OutVars{#memory_int=|v_#memory_int_9|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_3|, ~#mutex1~0.base=|v_~#mutex1~0.base_3|} AuxVars[] AssignedVars[] {133#true} is VALID [2022-02-20 20:41:05,021 INFO L290 TraceCheckUtils]: 21: Hoare triple {133#true} [391] L698-4-->L698-5: Formula: (= (select (select |v_#memory_int_10| |v_~#mutex1~0.base_4|) (+ |v_~#mutex1~0.offset_4| 8)) 0) InVars {#memory_int=|v_#memory_int_10|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_4|, ~#mutex1~0.base=|v_~#mutex1~0.base_4|} OutVars{#memory_int=|v_#memory_int_10|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_4|, ~#mutex1~0.base=|v_~#mutex1~0.base_4|} AuxVars[] AssignedVars[] {133#true} is VALID [2022-02-20 20:41:05,021 INFO L290 TraceCheckUtils]: 22: Hoare triple {133#true} [415] L698-5-->L698-6: Formula: (= (select (select |v_#memory_int_11| |v_~#mutex1~0.base_5|) (+ |v_~#mutex1~0.offset_5| 12)) 0) InVars {#memory_int=|v_#memory_int_11|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_5|, ~#mutex1~0.base=|v_~#mutex1~0.base_5|} OutVars{#memory_int=|v_#memory_int_11|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_5|, ~#mutex1~0.base=|v_~#mutex1~0.base_5|} AuxVars[] AssignedVars[] {133#true} is VALID [2022-02-20 20:41:05,021 INFO L290 TraceCheckUtils]: 23: Hoare triple {133#true} [412] L698-6-->L698-7: Formula: (= (select (select |v_#memory_int_12| |v_~#mutex1~0.base_6|) (+ 16 |v_~#mutex1~0.offset_6|)) 0) InVars {#memory_int=|v_#memory_int_12|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_6|, ~#mutex1~0.base=|v_~#mutex1~0.base_6|} OutVars{#memory_int=|v_#memory_int_12|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_6|, ~#mutex1~0.base=|v_~#mutex1~0.base_6|} AuxVars[] AssignedVars[] {133#true} is VALID [2022-02-20 20:41:05,021 INFO L290 TraceCheckUtils]: 24: Hoare triple {133#true} [322] L698-7-->L699: Formula: (= v_~mutex2~0.__data.__lock_1 0) InVars {} OutVars{~mutex2~0.__data.__lock=v_~mutex2~0.__data.__lock_1} AuxVars[] AssignedVars[~mutex2~0.__data.__lock] {133#true} is VALID [2022-02-20 20:41:05,022 INFO L290 TraceCheckUtils]: 25: Hoare triple {133#true} [343] L699-->L699-1: Formula: (= v_~mutex2~0.__data.__count_1 0) InVars {} OutVars{~mutex2~0.__data.__count=v_~mutex2~0.__data.__count_1} AuxVars[] AssignedVars[~mutex2~0.__data.__count] {133#true} is VALID [2022-02-20 20:41:05,022 INFO L290 TraceCheckUtils]: 26: Hoare triple {133#true} [386] L699-1-->L699-2: Formula: (= v_~mutex2~0.__data.__owner_1 0) InVars {} OutVars{~mutex2~0.__data.__owner=v_~mutex2~0.__data.__owner_1} AuxVars[] AssignedVars[~mutex2~0.__data.__owner] {133#true} is VALID [2022-02-20 20:41:05,022 INFO L290 TraceCheckUtils]: 27: Hoare triple {133#true} [316] L699-2-->L699-3: Formula: (= v_~mutex2~0.__data.__kind_1 0) InVars {} OutVars{~mutex2~0.__data.__kind=v_~mutex2~0.__data.__kind_1} AuxVars[] AssignedVars[~mutex2~0.__data.__kind] {133#true} is VALID [2022-02-20 20:41:05,022 INFO L290 TraceCheckUtils]: 28: Hoare triple {133#true} [321] L699-3-->L699-4: Formula: (= v_~mutex2~0.__data.__nusers_1 0) InVars {} OutVars{~mutex2~0.__data.__nusers=v_~mutex2~0.__data.__nusers_1} AuxVars[] AssignedVars[~mutex2~0.__data.__nusers] {133#true} is VALID [2022-02-20 20:41:05,022 INFO L290 TraceCheckUtils]: 29: Hoare triple {133#true} [331] L699-4-->L699-5: Formula: (= ((as const (Array Int Int)) 0) v_~mutex2~0.__size_1) InVars {} OutVars{~mutex2~0.__size=v_~mutex2~0.__size_1} AuxVars[] AssignedVars[~mutex2~0.__size] {133#true} is VALID [2022-02-20 20:41:05,023 INFO L290 TraceCheckUtils]: 30: Hoare triple {133#true} [334] L699-5-->L699-6: Formula: (= v_~mutex2~0.__align_1 |v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_2|) InVars {ULTIMATE.start_ULTIMATE.init_#t~nondet15#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_2|} OutVars{~mutex2~0.__align=v_~mutex2~0.__align_1, ULTIMATE.start_ULTIMATE.init_#t~nondet15#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_2|} AuxVars[] AssignedVars[~mutex2~0.__align] {133#true} is VALID [2022-02-20 20:41:05,023 INFO L290 TraceCheckUtils]: 31: Hoare triple {133#true} [362] L699-6-->L-1-4: Formula: true InVars {} OutVars{ULTIMATE.start_ULTIMATE.init_#t~nondet15#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_ULTIMATE.init_#t~nondet15#1] {133#true} is VALID [2022-02-20 20:41:05,023 INFO L290 TraceCheckUtils]: 32: Hoare triple {133#true} [345] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {133#true} is VALID [2022-02-20 20:41:05,023 INFO L290 TraceCheckUtils]: 33: Hoare triple {133#true} [320] L-1-5-->L-1-6: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {133#true} is VALID [2022-02-20 20:41:05,023 INFO L290 TraceCheckUtils]: 34: Hoare triple {133#true} [409] 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] {133#true} is VALID [2022-02-20 20:41:05,024 INFO L290 TraceCheckUtils]: 35: Hoare triple {133#true} [319] L-1-7-->L707: Formula: true InVars {} OutVars{ULTIMATE.start_main_~i~1#1=|v_ULTIMATE.start_main_~i~1#1_1|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_1|, ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_1|, ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_1|, ULTIMATE.start_main_#t~mem14#1=|v_ULTIMATE.start_main_#t~mem14#1_1|, ULTIMATE.start_main_~#t_ids~0#1.base=|v_ULTIMATE.start_main_~#t_ids~0#1.base_1|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_1|, ULTIMATE.start_main_#t~post8#1=|v_ULTIMATE.start_main_#t~post8#1_1|, ULTIMATE.start_main_#t~post13#1=|v_ULTIMATE.start_main_#t~post13#1_1|, ULTIMATE.start_main_~#t_ids~0#1.offset=|v_ULTIMATE.start_main_~#t_ids~0#1.offset_1|, ULTIMATE.start_main_#t~nondet12#1=|v_ULTIMATE.start_main_#t~nondet12#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet11#1, ULTIMATE.start_main_#t~nondet10#1, ULTIMATE.start_main_#t~mem14#1, ULTIMATE.start_main_~#t_ids~0#1.base, ULTIMATE.start_main_#t~pre9#1, ULTIMATE.start_main_#t~post8#1, ULTIMATE.start_main_#t~post13#1, ULTIMATE.start_main_~#t_ids~0#1.offset, ULTIMATE.start_main_#t~nondet12#1] {133#true} is VALID [2022-02-20 20:41:05,024 INFO L290 TraceCheckUtils]: 36: Hoare triple {133#true} [375] L707-->L707-1: Formula: (and (= (store |v_#length_6| |v_ULTIMATE.start_main_~#t_ids~0#1.base_2| 40000) |v_#length_5|) (= |v_#valid_6| (store |v_#valid_7| |v_ULTIMATE.start_main_~#t_ids~0#1.base_2| 1)) (= |v_ULTIMATE.start_main_~#t_ids~0#1.offset_2| 0) (not (= |v_ULTIMATE.start_main_~#t_ids~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t_ids~0#1.base_2|) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#t_ids~0#1.base_2|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_6|, #valid=|v_#valid_7|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, ULTIMATE.start_main_~#t_ids~0#1.offset=|v_ULTIMATE.start_main_~#t_ids~0#1.offset_2|, #length=|v_#length_5|, ULTIMATE.start_main_~#t_ids~0#1.base=|v_ULTIMATE.start_main_~#t_ids~0#1.base_2|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t_ids~0#1.base, #valid, ULTIMATE.start_main_~#t_ids~0#1.offset, #length] {133#true} is VALID [2022-02-20 20:41:05,024 INFO L290 TraceCheckUtils]: 37: Hoare triple {133#true} [367] L707-1-->L707-13: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 0) 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#true} is VALID [2022-02-20 20:41:05,024 INFO L290 TraceCheckUtils]: 38: Hoare triple {133#true} [381] L707-13-->L707-14: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {134#false} is VALID [2022-02-20 20:41:05,025 INFO L290 TraceCheckUtils]: 39: Hoare triple {134#false} [314] L707-14-->L708: Formula: (let ((.cse0 (select |v_#pthreadsMutex_2| |v_~#mutex1~0.base_7|))) (and (= |v_#pthreadsMutex_1| (store |v_#pthreadsMutex_2| |v_~#mutex1~0.base_7| (store .cse0 |v_~#mutex1~0.offset_7| 1))) (= |v_ULTIMATE.start_main_#t~nondet11#1_2| 0) (= (select .cse0 |v_~#mutex1~0.offset_7|) 0))) InVars {#pthreadsMutex=|v_#pthreadsMutex_2|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_7|, ~#mutex1~0.base=|v_~#mutex1~0.base_7|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_1|, ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_2|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_7|, ~#mutex1~0.base=|v_~#mutex1~0.base_7|} AuxVars[] AssignedVars[#pthreadsMutex, ULTIMATE.start_main_#t~nondet11#1] {134#false} is VALID [2022-02-20 20:41:05,025 INFO L290 TraceCheckUtils]: 40: Hoare triple {134#false} [315] L708-->L709-7: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet11#1] {134#false} is VALID [2022-02-20 20:41:05,025 INFO L290 TraceCheckUtils]: 41: Hoare triple {134#false} [393] L709-7-->L709-1: Formula: (let ((.cse0 (select |v_#pthreadsMutex_4| |v_~#__global_lock~0.base_7|))) (and (= (select .cse0 |v_~#__global_lock~0.offset_7|) 0) (= |v_#pthreadsMutex_3| (store |v_#pthreadsMutex_4| |v_~#__global_lock~0.base_7| (store .cse0 |v_~#__global_lock~0.offset_7| 1))) (= |v_ULTIMATE.start_main_#t~nondet12#1_2| 0))) InVars {#pthreadsMutex=|v_#pthreadsMutex_4|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_7|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_7|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_3|, ULTIMATE.start_main_#t~nondet12#1=|v_ULTIMATE.start_main_#t~nondet12#1_2|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_7|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_7|} AuxVars[] AssignedVars[#pthreadsMutex, ULTIMATE.start_main_#t~nondet12#1] {134#false} is VALID [2022-02-20 20:41:05,025 INFO L290 TraceCheckUtils]: 42: Hoare triple {134#false} [358] L709-1-->L709-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet12#1=|v_ULTIMATE.start_main_#t~nondet12#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet12#1] {134#false} is VALID [2022-02-20 20:41:05,026 INFO L290 TraceCheckUtils]: 43: Hoare triple {134#false} [311] L709-2-->L709-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {134#false} is VALID [2022-02-20 20:41:05,026 INFO L290 TraceCheckUtils]: 44: Hoare triple {134#false} [401] L709-3-->L709-4: Formula: (= (ite (= v_~global~0_2 0) 1 0) |v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_1|) InVars {~global~0=v_~global~0_2} OutVars{ULTIMATE.start___VERIFIER_assert_#in~cond#1=|v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_1|, ~global~0=v_~global~0_2} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_#in~cond#1] {134#false} is VALID [2022-02-20 20:41:05,026 INFO L290 TraceCheckUtils]: 45: Hoare triple {134#false} [353] L709-4-->L691: Formula: true InVars {} OutVars{ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_~cond#1] {134#false} is VALID [2022-02-20 20:41:05,026 INFO L290 TraceCheckUtils]: 46: Hoare triple {134#false} [339] L691-->L691-1: Formula: (= |v_ULTIMATE.start___VERIFIER_assert_~cond#1_2| |v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_2|) InVars {ULTIMATE.start___VERIFIER_assert_#in~cond#1=|v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_2|} OutVars{ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_2|, ULTIMATE.start___VERIFIER_assert_#in~cond#1=|v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_2|} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_~cond#1] {134#false} is VALID [2022-02-20 20:41:05,026 INFO L290 TraceCheckUtils]: 47: Hoare triple {134#false} [422] L691-1-->L691-2: Formula: (= |v_ULTIMATE.start___VERIFIER_assert_~cond#1_3| 0) InVars {ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_3|} OutVars{ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_3|} AuxVars[] AssignedVars[] {134#false} is VALID [2022-02-20 20:41:05,027 INFO L290 TraceCheckUtils]: 48: Hoare triple {134#false} [336] L691-2-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {134#false} is VALID [2022-02-20 20:41:05,027 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 20:41:05,027 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 20:41:05,027 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1462212406] [2022-02-20 20:41:05,028 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1462212406] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 20:41:05,028 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 20:41:05,028 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 20:41:05,028 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [61572479] [2022-02-20 20:41:05,028 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 20:41:05,029 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 24.5) internal successors, (49), 2 states have internal predecessors, (49), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 49 [2022-02-20 20:41:05,029 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 20:41:05,029 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 2 states, 2 states have (on average 24.5) internal successors, (49), 2 states have internal predecessors, (49), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:41:05,063 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 20:41:05,063 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-02-20 20:41:05,063 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 20:41:05,064 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-02-20 20:41:05,064 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 20:41:05,065 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 122 out of 144 [2022-02-20 20:41:05,066 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 130 places, 144 transitions, 306 flow. Second operand has 2 states, 2 states have (on average 122.5) internal successors, (245), 2 states have internal predecessors, (245), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:41:05,066 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 20:41:05,066 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 122 of 144 [2022-02-20 20:41:05,066 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 20:41:05,104 INFO L129 PetriNetUnfolder]: 3/210 cut-off events. [2022-02-20 20:41:05,105 INFO L130 PetriNetUnfolder]: For 18/22 co-relation queries the response was YES. [2022-02-20 20:41:05,106 INFO L84 FinitePrefix]: Finished finitePrefix Result has 231 conditions, 210 events. 3/210 cut-off events. For 18/22 co-relation queries the response was YES. Maximal size of possible extension queue 7. Compared 514 event pairs, 0 based on Foata normal form. 42/242 useless extension candidates. Maximal degree in co-relation 136. Up to 7 conditions per place. [2022-02-20 20:41:05,107 INFO L132 encePairwiseOnDemand]: 127/144 looper letters, 2 selfloop transitions, 0 changer transitions 21/126 dead transitions. [2022-02-20 20:41:05,107 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 130 places, 126 transitions, 278 flow [2022-02-20 20:41:05,107 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-02-20 20:41:05,107 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2022-02-20 20:41:05,110 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 265 transitions. [2022-02-20 20:41:05,110 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.9201388888888888 [2022-02-20 20:41:05,110 INFO L72 ComplementDD]: Start complementDD. Operand 2 states and 265 transitions. [2022-02-20 20:41:05,110 INFO L73 IsDeterministic]: Start isDeterministic. Operand 2 states and 265 transitions. [2022-02-20 20:41:05,111 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 20:41:05,111 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 2 states and 265 transitions. [2022-02-20 20:41:05,112 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 3 states, 2 states have (on average 132.5) internal successors, (265), 2 states have internal predecessors, (265), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:41:05,112 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 3 states, 3 states have (on average 144.0) internal successors, (432), 3 states have internal predecessors, (432), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:41:05,113 INFO L81 ComplementDD]: Finished complementDD. Result has 3 states, 3 states have (on average 144.0) internal successors, (432), 3 states have internal predecessors, (432), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:41:05,113 INFO L186 Difference]: Start difference. First operand has 130 places, 144 transitions, 306 flow. Second operand 2 states and 265 transitions. [2022-02-20 20:41:05,113 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 130 places, 126 transitions, 278 flow [2022-02-20 20:41:05,117 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 130 places, 126 transitions, 278 flow, removed 0 selfloop flow, removed 0 redundant places. [2022-02-20 20:41:05,118 INFO L242 Difference]: Finished difference. Result has 130 places, 105 transitions, 222 flow [2022-02-20 20:41:05,118 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=144, PETRI_DIFFERENCE_MINUEND_FLOW=270, PETRI_DIFFERENCE_MINUEND_PLACES=129, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=126, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=0, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=126, PETRI_DIFFERENCE_SUBTRAHEND_STATES=2, PETRI_FLOW=222, PETRI_PLACES=130, PETRI_TRANSITIONS=105} [2022-02-20 20:41:05,119 INFO L334 CegarLoopForPetriNet]: 130 programPoint places, 0 predicate places. [2022-02-20 20:41:05,119 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 130 places, 105 transitions, 222 flow [2022-02-20 20:41:05,324 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 12175 states, 12171 states have (on average 2.8240900501191355) internal successors, (34372), 12174 states have internal predecessors, (34372), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:41:05,368 INFO L78 Accepts]: Start accepts. Automaton has has 12175 states, 12171 states have (on average 2.8240900501191355) internal successors, (34372), 12174 states have internal predecessors, (34372), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 49 [2022-02-20 20:41:05,369 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 20:41:05,369 INFO L470 AbstractCegarLoop]: Abstraction has has 130 places, 105 transitions, 222 flow [2022-02-20 20:41:05,369 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 122.5) internal successors, (245), 2 states have internal predecessors, (245), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:41:05,370 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:41:05,370 INFO L254 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 20:41:05,370 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-02-20 20:41:05,370 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 20:41:05,371 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:41:05,371 INFO L85 PathProgramCache]: Analyzing trace with hash 1693565288, now seen corresponding path program 1 times [2022-02-20 20:41:05,371 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:41:05,371 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [478195260] [2022-02-20 20:41:05,371 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:41:05,371 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:41:05,399 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:41:05,423 INFO L290 TraceCheckUtils]: 0: Hoare triple {12312#true} [414] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {12312#true} is VALID [2022-02-20 20:41:05,423 INFO L290 TraceCheckUtils]: 1: Hoare triple {12312#true} [340] L-1-->L-1-1: Formula: true InVars {} OutVars{ULTIMATE.start_ULTIMATE.init_#t~nondet15#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_ULTIMATE.init_#t~nondet15#1] {12312#true} is VALID [2022-02-20 20:41:05,423 INFO L290 TraceCheckUtils]: 2: Hoare triple {12312#true} [417] L-1-1-->L-1-2: 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] {12312#true} is VALID [2022-02-20 20:41:05,425 INFO L290 TraceCheckUtils]: 3: Hoare triple {12312#true} [418] L-1-2-->L-1-3: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] {12312#true} is VALID [2022-02-20 20:41:05,426 INFO L290 TraceCheckUtils]: 4: Hoare triple {12312#true} [420] L-1-3-->L690: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {12312#true} is VALID [2022-02-20 20:41:05,426 INFO L290 TraceCheckUtils]: 5: Hoare triple {12312#true} [357] L690-->L690-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[] {12312#true} is VALID [2022-02-20 20:41:05,426 INFO L290 TraceCheckUtils]: 6: Hoare triple {12312#true} [313] L690-1-->L690-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[] {12312#true} is VALID [2022-02-20 20:41:05,426 INFO L290 TraceCheckUtils]: 7: Hoare triple {12312#true} [327] L690-2-->L690-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[] {12312#true} is VALID [2022-02-20 20:41:05,426 INFO L290 TraceCheckUtils]: 8: Hoare triple {12312#true} [400] L690-3-->L690-4: Formula: (and (= (select |v_#length_2| 2) 13) (= (select |v_#valid_3| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {12312#true} is VALID [2022-02-20 20:41:05,427 INFO L290 TraceCheckUtils]: 9: Hoare triple {12312#true} [363] L690-4-->L696: Formula: (and (= 3 |v_~#__global_lock~0.base_1|) (= |v_~#__global_lock~0.offset_1| 0)) InVars {} OutVars{~#__global_lock~0.base=|v_~#__global_lock~0.base_1|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_1|} AuxVars[] AssignedVars[~#__global_lock~0.offset, ~#__global_lock~0.base] {12312#true} is VALID [2022-02-20 20:41:05,427 INFO L290 TraceCheckUtils]: 10: Hoare triple {12312#true} [348] L696-->L696-1: Formula: (and (= (select |v_#length_3| 3) 24) (= (select |v_#valid_4| 3) 1)) InVars {#length=|v_#length_3|, #valid=|v_#valid_4|} OutVars{#length=|v_#length_3|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[] {12312#true} is VALID [2022-02-20 20:41:05,427 INFO L290 TraceCheckUtils]: 11: Hoare triple {12312#true} [402] L696-1-->L696-2: Formula: (= (select (select |v_#memory_int_3| |v_~#__global_lock~0.base_2|) |v_~#__global_lock~0.offset_2|) 0) InVars {#memory_int=|v_#memory_int_3|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_2|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_2|} OutVars{#memory_int=|v_#memory_int_3|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_2|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_2|} AuxVars[] AssignedVars[] {12312#true} is VALID [2022-02-20 20:41:05,427 INFO L290 TraceCheckUtils]: 12: Hoare triple {12312#true} [323] L696-2-->L696-3: Formula: (= (select (select |v_#memory_int_4| |v_~#__global_lock~0.base_3|) (+ |v_~#__global_lock~0.offset_3| 4)) 0) InVars {#memory_int=|v_#memory_int_4|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_3|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_3|} OutVars{#memory_int=|v_#memory_int_4|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_3|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_3|} AuxVars[] AssignedVars[] {12312#true} is VALID [2022-02-20 20:41:05,427 INFO L290 TraceCheckUtils]: 13: Hoare triple {12312#true} [421] L696-3-->L696-4: Formula: (= (select (select |v_#memory_int_5| |v_~#__global_lock~0.base_4|) (+ |v_~#__global_lock~0.offset_4| 8)) 0) InVars {#memory_int=|v_#memory_int_5|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_4|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_4|} OutVars{#memory_int=|v_#memory_int_5|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_4|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_4|} AuxVars[] AssignedVars[] {12312#true} is VALID [2022-02-20 20:41:05,428 INFO L290 TraceCheckUtils]: 14: Hoare triple {12312#true} [410] L696-4-->L696-5: Formula: (= (select (select |v_#memory_int_6| |v_~#__global_lock~0.base_5|) (+ |v_~#__global_lock~0.offset_5| 12)) 0) InVars {#memory_int=|v_#memory_int_6|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_5|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_5|} OutVars{#memory_int=|v_#memory_int_6|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_5|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_5|} AuxVars[] AssignedVars[] {12312#true} is VALID [2022-02-20 20:41:05,428 INFO L290 TraceCheckUtils]: 15: Hoare triple {12312#true} [352] L696-5-->L696-6: Formula: (= (select (select |v_#memory_int_7| |v_~#__global_lock~0.base_6|) (+ 16 |v_~#__global_lock~0.offset_6|)) 0) InVars {#memory_int=|v_#memory_int_7|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_6|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_6|} OutVars{#memory_int=|v_#memory_int_7|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_6|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_6|} AuxVars[] AssignedVars[] {12312#true} is VALID [2022-02-20 20:41:05,428 INFO L290 TraceCheckUtils]: 16: Hoare triple {12312#true} [361] L696-6-->L698: Formula: (= v_~global~0_1 0) InVars {} OutVars{~global~0=v_~global~0_1} AuxVars[] AssignedVars[~global~0] {12312#true} is VALID [2022-02-20 20:41:05,428 INFO L290 TraceCheckUtils]: 17: Hoare triple {12312#true} [392] L698-->L698-1: Formula: (and (= |v_~#mutex1~0.offset_1| 0) (= |v_~#mutex1~0.base_1| 4)) InVars {} OutVars{~#mutex1~0.offset=|v_~#mutex1~0.offset_1|, ~#mutex1~0.base=|v_~#mutex1~0.base_1|} AuxVars[] AssignedVars[~#mutex1~0.offset, ~#mutex1~0.base] {12312#true} is VALID [2022-02-20 20:41:05,429 INFO L290 TraceCheckUtils]: 18: Hoare triple {12312#true} [390] L698-1-->L698-2: Formula: (and (= (select |v_#length_4| 4) 24) (= (select |v_#valid_5| 4) 1)) InVars {#length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#length=|v_#length_4|, #valid=|v_#valid_5|} AuxVars[] AssignedVars[] {12312#true} is VALID [2022-02-20 20:41:05,429 INFO L290 TraceCheckUtils]: 19: Hoare triple {12312#true} [411] L698-2-->L698-3: Formula: (= (select (select |v_#memory_int_8| |v_~#mutex1~0.base_2|) |v_~#mutex1~0.offset_2|) 0) InVars {#memory_int=|v_#memory_int_8|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_2|, ~#mutex1~0.base=|v_~#mutex1~0.base_2|} OutVars{#memory_int=|v_#memory_int_8|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_2|, ~#mutex1~0.base=|v_~#mutex1~0.base_2|} AuxVars[] AssignedVars[] {12312#true} is VALID [2022-02-20 20:41:05,429 INFO L290 TraceCheckUtils]: 20: Hoare triple {12312#true} [328] L698-3-->L698-4: Formula: (= (select (select |v_#memory_int_9| |v_~#mutex1~0.base_3|) (+ |v_~#mutex1~0.offset_3| 4)) 0) InVars {#memory_int=|v_#memory_int_9|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_3|, ~#mutex1~0.base=|v_~#mutex1~0.base_3|} OutVars{#memory_int=|v_#memory_int_9|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_3|, ~#mutex1~0.base=|v_~#mutex1~0.base_3|} AuxVars[] AssignedVars[] {12312#true} is VALID [2022-02-20 20:41:05,429 INFO L290 TraceCheckUtils]: 21: Hoare triple {12312#true} [391] L698-4-->L698-5: Formula: (= (select (select |v_#memory_int_10| |v_~#mutex1~0.base_4|) (+ |v_~#mutex1~0.offset_4| 8)) 0) InVars {#memory_int=|v_#memory_int_10|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_4|, ~#mutex1~0.base=|v_~#mutex1~0.base_4|} OutVars{#memory_int=|v_#memory_int_10|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_4|, ~#mutex1~0.base=|v_~#mutex1~0.base_4|} AuxVars[] AssignedVars[] {12312#true} is VALID [2022-02-20 20:41:05,429 INFO L290 TraceCheckUtils]: 22: Hoare triple {12312#true} [415] L698-5-->L698-6: Formula: (= (select (select |v_#memory_int_11| |v_~#mutex1~0.base_5|) (+ |v_~#mutex1~0.offset_5| 12)) 0) InVars {#memory_int=|v_#memory_int_11|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_5|, ~#mutex1~0.base=|v_~#mutex1~0.base_5|} OutVars{#memory_int=|v_#memory_int_11|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_5|, ~#mutex1~0.base=|v_~#mutex1~0.base_5|} AuxVars[] AssignedVars[] {12312#true} is VALID [2022-02-20 20:41:05,429 INFO L290 TraceCheckUtils]: 23: Hoare triple {12312#true} [412] L698-6-->L698-7: Formula: (= (select (select |v_#memory_int_12| |v_~#mutex1~0.base_6|) (+ 16 |v_~#mutex1~0.offset_6|)) 0) InVars {#memory_int=|v_#memory_int_12|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_6|, ~#mutex1~0.base=|v_~#mutex1~0.base_6|} OutVars{#memory_int=|v_#memory_int_12|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_6|, ~#mutex1~0.base=|v_~#mutex1~0.base_6|} AuxVars[] AssignedVars[] {12312#true} is VALID [2022-02-20 20:41:05,430 INFO L290 TraceCheckUtils]: 24: Hoare triple {12312#true} [322] L698-7-->L699: Formula: (= v_~mutex2~0.__data.__lock_1 0) InVars {} OutVars{~mutex2~0.__data.__lock=v_~mutex2~0.__data.__lock_1} AuxVars[] AssignedVars[~mutex2~0.__data.__lock] {12312#true} is VALID [2022-02-20 20:41:05,430 INFO L290 TraceCheckUtils]: 25: Hoare triple {12312#true} [343] L699-->L699-1: Formula: (= v_~mutex2~0.__data.__count_1 0) InVars {} OutVars{~mutex2~0.__data.__count=v_~mutex2~0.__data.__count_1} AuxVars[] AssignedVars[~mutex2~0.__data.__count] {12312#true} is VALID [2022-02-20 20:41:05,430 INFO L290 TraceCheckUtils]: 26: Hoare triple {12312#true} [386] L699-1-->L699-2: Formula: (= v_~mutex2~0.__data.__owner_1 0) InVars {} OutVars{~mutex2~0.__data.__owner=v_~mutex2~0.__data.__owner_1} AuxVars[] AssignedVars[~mutex2~0.__data.__owner] {12312#true} is VALID [2022-02-20 20:41:05,430 INFO L290 TraceCheckUtils]: 27: Hoare triple {12312#true} [316] L699-2-->L699-3: Formula: (= v_~mutex2~0.__data.__kind_1 0) InVars {} OutVars{~mutex2~0.__data.__kind=v_~mutex2~0.__data.__kind_1} AuxVars[] AssignedVars[~mutex2~0.__data.__kind] {12312#true} is VALID [2022-02-20 20:41:05,430 INFO L290 TraceCheckUtils]: 28: Hoare triple {12312#true} [321] L699-3-->L699-4: Formula: (= v_~mutex2~0.__data.__nusers_1 0) InVars {} OutVars{~mutex2~0.__data.__nusers=v_~mutex2~0.__data.__nusers_1} AuxVars[] AssignedVars[~mutex2~0.__data.__nusers] {12312#true} is VALID [2022-02-20 20:41:05,431 INFO L290 TraceCheckUtils]: 29: Hoare triple {12312#true} [331] L699-4-->L699-5: Formula: (= ((as const (Array Int Int)) 0) v_~mutex2~0.__size_1) InVars {} OutVars{~mutex2~0.__size=v_~mutex2~0.__size_1} AuxVars[] AssignedVars[~mutex2~0.__size] {12312#true} is VALID [2022-02-20 20:41:05,431 INFO L290 TraceCheckUtils]: 30: Hoare triple {12312#true} [334] L699-5-->L699-6: Formula: (= v_~mutex2~0.__align_1 |v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_2|) InVars {ULTIMATE.start_ULTIMATE.init_#t~nondet15#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_2|} OutVars{~mutex2~0.__align=v_~mutex2~0.__align_1, ULTIMATE.start_ULTIMATE.init_#t~nondet15#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_2|} AuxVars[] AssignedVars[~mutex2~0.__align] {12312#true} is VALID [2022-02-20 20:41:05,431 INFO L290 TraceCheckUtils]: 31: Hoare triple {12312#true} [362] L699-6-->L-1-4: Formula: true InVars {} OutVars{ULTIMATE.start_ULTIMATE.init_#t~nondet15#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_ULTIMATE.init_#t~nondet15#1] {12312#true} is VALID [2022-02-20 20:41:05,431 INFO L290 TraceCheckUtils]: 32: Hoare triple {12312#true} [345] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {12312#true} is VALID [2022-02-20 20:41:05,431 INFO L290 TraceCheckUtils]: 33: Hoare triple {12312#true} [320] L-1-5-->L-1-6: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {12312#true} is VALID [2022-02-20 20:41:05,431 INFO L290 TraceCheckUtils]: 34: Hoare triple {12312#true} [409] 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] {12312#true} is VALID [2022-02-20 20:41:05,432 INFO L290 TraceCheckUtils]: 35: Hoare triple {12312#true} [319] L-1-7-->L707: Formula: true InVars {} OutVars{ULTIMATE.start_main_~i~1#1=|v_ULTIMATE.start_main_~i~1#1_1|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_1|, ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_1|, ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_1|, ULTIMATE.start_main_#t~mem14#1=|v_ULTIMATE.start_main_#t~mem14#1_1|, ULTIMATE.start_main_~#t_ids~0#1.base=|v_ULTIMATE.start_main_~#t_ids~0#1.base_1|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_1|, ULTIMATE.start_main_#t~post8#1=|v_ULTIMATE.start_main_#t~post8#1_1|, ULTIMATE.start_main_#t~post13#1=|v_ULTIMATE.start_main_#t~post13#1_1|, ULTIMATE.start_main_~#t_ids~0#1.offset=|v_ULTIMATE.start_main_~#t_ids~0#1.offset_1|, ULTIMATE.start_main_#t~nondet12#1=|v_ULTIMATE.start_main_#t~nondet12#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet11#1, ULTIMATE.start_main_#t~nondet10#1, ULTIMATE.start_main_#t~mem14#1, ULTIMATE.start_main_~#t_ids~0#1.base, ULTIMATE.start_main_#t~pre9#1, ULTIMATE.start_main_#t~post8#1, ULTIMATE.start_main_#t~post13#1, ULTIMATE.start_main_~#t_ids~0#1.offset, ULTIMATE.start_main_#t~nondet12#1] {12312#true} is VALID [2022-02-20 20:41:05,432 INFO L290 TraceCheckUtils]: 36: Hoare triple {12312#true} [375] L707-->L707-1: Formula: (and (= (store |v_#length_6| |v_ULTIMATE.start_main_~#t_ids~0#1.base_2| 40000) |v_#length_5|) (= |v_#valid_6| (store |v_#valid_7| |v_ULTIMATE.start_main_~#t_ids~0#1.base_2| 1)) (= |v_ULTIMATE.start_main_~#t_ids~0#1.offset_2| 0) (not (= |v_ULTIMATE.start_main_~#t_ids~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t_ids~0#1.base_2|) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#t_ids~0#1.base_2|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_6|, #valid=|v_#valid_7|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, ULTIMATE.start_main_~#t_ids~0#1.offset=|v_ULTIMATE.start_main_~#t_ids~0#1.offset_2|, #length=|v_#length_5|, ULTIMATE.start_main_~#t_ids~0#1.base=|v_ULTIMATE.start_main_~#t_ids~0#1.base_2|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t_ids~0#1.base, #valid, ULTIMATE.start_main_~#t_ids~0#1.offset, #length] {12312#true} is VALID [2022-02-20 20:41:05,432 INFO L290 TraceCheckUtils]: 37: Hoare triple {12312#true} [367] L707-1-->L707-13: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 0) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {12314#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 20:41:05,433 INFO L290 TraceCheckUtils]: 38: Hoare triple {12314#(= |ULTIMATE.start_main_~i~0#1| 0)} [382] L707-13-->L707-14: Formula: (not (< |v_ULTIMATE.start_main_~i~0#1_3| 10000)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} AuxVars[] AssignedVars[] {12313#false} is VALID [2022-02-20 20:41:05,433 INFO L290 TraceCheckUtils]: 39: Hoare triple {12313#false} [314] L707-14-->L708: Formula: (let ((.cse0 (select |v_#pthreadsMutex_2| |v_~#mutex1~0.base_7|))) (and (= |v_#pthreadsMutex_1| (store |v_#pthreadsMutex_2| |v_~#mutex1~0.base_7| (store .cse0 |v_~#mutex1~0.offset_7| 1))) (= |v_ULTIMATE.start_main_#t~nondet11#1_2| 0) (= (select .cse0 |v_~#mutex1~0.offset_7|) 0))) InVars {#pthreadsMutex=|v_#pthreadsMutex_2|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_7|, ~#mutex1~0.base=|v_~#mutex1~0.base_7|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_1|, ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_2|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_7|, ~#mutex1~0.base=|v_~#mutex1~0.base_7|} AuxVars[] AssignedVars[#pthreadsMutex, ULTIMATE.start_main_#t~nondet11#1] {12313#false} is VALID [2022-02-20 20:41:05,433 INFO L290 TraceCheckUtils]: 40: Hoare triple {12313#false} [315] L708-->L709-7: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet11#1] {12313#false} is VALID [2022-02-20 20:41:05,433 INFO L290 TraceCheckUtils]: 41: Hoare triple {12313#false} [393] L709-7-->L709-1: Formula: (let ((.cse0 (select |v_#pthreadsMutex_4| |v_~#__global_lock~0.base_7|))) (and (= (select .cse0 |v_~#__global_lock~0.offset_7|) 0) (= |v_#pthreadsMutex_3| (store |v_#pthreadsMutex_4| |v_~#__global_lock~0.base_7| (store .cse0 |v_~#__global_lock~0.offset_7| 1))) (= |v_ULTIMATE.start_main_#t~nondet12#1_2| 0))) InVars {#pthreadsMutex=|v_#pthreadsMutex_4|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_7|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_7|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_3|, ULTIMATE.start_main_#t~nondet12#1=|v_ULTIMATE.start_main_#t~nondet12#1_2|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_7|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_7|} AuxVars[] AssignedVars[#pthreadsMutex, ULTIMATE.start_main_#t~nondet12#1] {12313#false} is VALID [2022-02-20 20:41:05,434 INFO L290 TraceCheckUtils]: 42: Hoare triple {12313#false} [358] L709-1-->L709-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet12#1=|v_ULTIMATE.start_main_#t~nondet12#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet12#1] {12313#false} is VALID [2022-02-20 20:41:05,434 INFO L290 TraceCheckUtils]: 43: Hoare triple {12313#false} [311] L709-2-->L709-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {12313#false} is VALID [2022-02-20 20:41:05,434 INFO L290 TraceCheckUtils]: 44: Hoare triple {12313#false} [401] L709-3-->L709-4: Formula: (= (ite (= v_~global~0_2 0) 1 0) |v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_1|) InVars {~global~0=v_~global~0_2} OutVars{ULTIMATE.start___VERIFIER_assert_#in~cond#1=|v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_1|, ~global~0=v_~global~0_2} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_#in~cond#1] {12313#false} is VALID [2022-02-20 20:41:05,434 INFO L290 TraceCheckUtils]: 45: Hoare triple {12313#false} [353] L709-4-->L691: Formula: true InVars {} OutVars{ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_~cond#1] {12313#false} is VALID [2022-02-20 20:41:05,434 INFO L290 TraceCheckUtils]: 46: Hoare triple {12313#false} [339] L691-->L691-1: Formula: (= |v_ULTIMATE.start___VERIFIER_assert_~cond#1_2| |v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_2|) InVars {ULTIMATE.start___VERIFIER_assert_#in~cond#1=|v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_2|} OutVars{ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_2|, ULTIMATE.start___VERIFIER_assert_#in~cond#1=|v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_2|} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_~cond#1] {12313#false} is VALID [2022-02-20 20:41:05,434 INFO L290 TraceCheckUtils]: 47: Hoare triple {12313#false} [422] L691-1-->L691-2: Formula: (= |v_ULTIMATE.start___VERIFIER_assert_~cond#1_3| 0) InVars {ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_3|} OutVars{ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_3|} AuxVars[] AssignedVars[] {12313#false} is VALID [2022-02-20 20:41:05,464 INFO L290 TraceCheckUtils]: 48: Hoare triple {12313#false} [336] L691-2-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {12313#false} is VALID [2022-02-20 20:41:05,465 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 20:41:05,465 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 20:41:05,465 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [478195260] [2022-02-20 20:41:05,465 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [478195260] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 20:41:05,465 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 20:41:05,465 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 20:41:05,466 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1053427335] [2022-02-20 20:41:05,466 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 20:41:05,466 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 16.333333333333332) internal successors, (49), 3 states have internal predecessors, (49), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 49 [2022-02-20 20:41:05,466 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 20:41:05,467 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 16.333333333333332) internal successors, (49), 3 states have internal predecessors, (49), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:41:05,496 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 20:41:05,497 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 20:41:05,497 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 20:41:05,497 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 20:41:05,497 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 20:41:05,498 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 115 out of 144 [2022-02-20 20:41:05,498 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 130 places, 105 transitions, 222 flow. Second operand has 3 states, 3 states have (on average 116.0) internal successors, (348), 3 states have internal predecessors, (348), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:41:05,498 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 20:41:05,499 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 115 of 144 [2022-02-20 20:41:05,499 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 20:41:05,526 INFO L129 PetriNetUnfolder]: 0/129 cut-off events. [2022-02-20 20:41:05,526 INFO L130 PetriNetUnfolder]: For 2/2 co-relation queries the response was YES. [2022-02-20 20:41:05,527 INFO L84 FinitePrefix]: Finished finitePrefix Result has 157 conditions, 129 events. 0/129 cut-off events. For 2/2 co-relation queries the response was YES. Maximal size of possible extension queue 5. Compared 186 event pairs, 0 based on Foata normal form. 0/127 useless extension candidates. Maximal degree in co-relation 0. Up to 12 conditions per place. [2022-02-20 20:41:05,527 INFO L132 encePairwiseOnDemand]: 141/144 looper letters, 11 selfloop transitions, 2 changer transitions 0/109 dead transitions. [2022-02-20 20:41:05,527 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 113 places, 109 transitions, 256 flow [2022-02-20 20:41:05,527 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 20:41:05,527 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2022-02-20 20:41:05,530 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 359 transitions. [2022-02-20 20:41:05,531 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.8310185185185185 [2022-02-20 20:41:05,531 INFO L72 ComplementDD]: Start complementDD. Operand 3 states and 359 transitions. [2022-02-20 20:41:05,531 INFO L73 IsDeterministic]: Start isDeterministic. Operand 3 states and 359 transitions. [2022-02-20 20:41:05,531 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 20:41:05,531 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 3 states and 359 transitions. [2022-02-20 20:41:05,532 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 4 states, 3 states have (on average 119.66666666666667) internal successors, (359), 3 states have internal predecessors, (359), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:41:05,532 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 4 states, 4 states have (on average 144.0) internal successors, (576), 4 states have internal predecessors, (576), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:41:05,533 INFO L81 ComplementDD]: Finished complementDD. Result has 4 states, 4 states have (on average 144.0) internal successors, (576), 4 states have internal predecessors, (576), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:41:05,533 INFO L186 Difference]: Start difference. First operand has 130 places, 105 transitions, 222 flow. Second operand 3 states and 359 transitions. [2022-02-20 20:41:05,533 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 113 places, 109 transitions, 256 flow [2022-02-20 20:41:05,534 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 113 places, 109 transitions, 254 flow, removed 1 selfloop flow, removed 0 redundant places. [2022-02-20 20:41:05,535 INFO L242 Difference]: Finished difference. Result has 114 places, 106 transitions, 232 flow [2022-02-20 20:41:05,535 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=144, PETRI_DIFFERENCE_MINUEND_FLOW=220, PETRI_DIFFERENCE_MINUEND_PLACES=111, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=105, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=103, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=232, PETRI_PLACES=114, PETRI_TRANSITIONS=106} [2022-02-20 20:41:05,536 INFO L334 CegarLoopForPetriNet]: 130 programPoint places, -16 predicate places. [2022-02-20 20:41:05,536 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 114 places, 106 transitions, 232 flow [2022-02-20 20:41:05,750 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 12164 states, 12161 states have (on average 2.825507770742538) internal successors, (34361), 12163 states have internal predecessors, (34361), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:41:05,779 INFO L78 Accepts]: Start accepts. Automaton has has 12164 states, 12161 states have (on average 2.825507770742538) internal successors, (34361), 12163 states have internal predecessors, (34361), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 49 [2022-02-20 20:41:05,780 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 20:41:05,780 INFO L470 AbstractCegarLoop]: Abstraction has has 114 places, 106 transitions, 232 flow [2022-02-20 20:41:05,780 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 116.0) internal successors, (348), 3 states have internal predecessors, (348), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:41:05,780 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:41:05,781 INFO L254 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 20:41:05,781 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-02-20 20:41:05,781 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 20:41:05,781 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:41:05,781 INFO L85 PathProgramCache]: Analyzing trace with hash 729405808, now seen corresponding path program 1 times [2022-02-20 20:41:05,782 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:41:05,782 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2010835081] [2022-02-20 20:41:05,782 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:41:05,782 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:41:05,798 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:41:05,855 INFO L290 TraceCheckUtils]: 0: Hoare triple {24482#true} [414] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {24482#true} is VALID [2022-02-20 20:41:05,856 INFO L290 TraceCheckUtils]: 1: Hoare triple {24482#true} [340] L-1-->L-1-1: Formula: true InVars {} OutVars{ULTIMATE.start_ULTIMATE.init_#t~nondet15#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_ULTIMATE.init_#t~nondet15#1] {24482#true} is VALID [2022-02-20 20:41:05,856 INFO L290 TraceCheckUtils]: 2: Hoare triple {24482#true} [417] L-1-1-->L-1-2: 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] {24482#true} is VALID [2022-02-20 20:41:05,856 INFO L290 TraceCheckUtils]: 3: Hoare triple {24482#true} [418] L-1-2-->L-1-3: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] {24482#true} is VALID [2022-02-20 20:41:05,856 INFO L290 TraceCheckUtils]: 4: Hoare triple {24482#true} [420] L-1-3-->L690: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {24482#true} is VALID [2022-02-20 20:41:05,857 INFO L290 TraceCheckUtils]: 5: Hoare triple {24482#true} [357] L690-->L690-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[] {24482#true} is VALID [2022-02-20 20:41:05,857 INFO L290 TraceCheckUtils]: 6: Hoare triple {24482#true} [313] L690-1-->L690-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[] {24482#true} is VALID [2022-02-20 20:41:05,857 INFO L290 TraceCheckUtils]: 7: Hoare triple {24482#true} [327] L690-2-->L690-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[] {24482#true} is VALID [2022-02-20 20:41:05,857 INFO L290 TraceCheckUtils]: 8: Hoare triple {24482#true} [400] L690-3-->L690-4: Formula: (and (= (select |v_#length_2| 2) 13) (= (select |v_#valid_3| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {24482#true} is VALID [2022-02-20 20:41:05,857 INFO L290 TraceCheckUtils]: 9: Hoare triple {24482#true} [363] L690-4-->L696: Formula: (and (= 3 |v_~#__global_lock~0.base_1|) (= |v_~#__global_lock~0.offset_1| 0)) InVars {} OutVars{~#__global_lock~0.base=|v_~#__global_lock~0.base_1|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_1|} AuxVars[] AssignedVars[~#__global_lock~0.offset, ~#__global_lock~0.base] {24482#true} is VALID [2022-02-20 20:41:05,858 INFO L290 TraceCheckUtils]: 10: Hoare triple {24482#true} [348] L696-->L696-1: Formula: (and (= (select |v_#length_3| 3) 24) (= (select |v_#valid_4| 3) 1)) InVars {#length=|v_#length_3|, #valid=|v_#valid_4|} OutVars{#length=|v_#length_3|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[] {24482#true} is VALID [2022-02-20 20:41:05,858 INFO L290 TraceCheckUtils]: 11: Hoare triple {24482#true} [402] L696-1-->L696-2: Formula: (= (select (select |v_#memory_int_3| |v_~#__global_lock~0.base_2|) |v_~#__global_lock~0.offset_2|) 0) InVars {#memory_int=|v_#memory_int_3|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_2|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_2|} OutVars{#memory_int=|v_#memory_int_3|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_2|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_2|} AuxVars[] AssignedVars[] {24482#true} is VALID [2022-02-20 20:41:05,858 INFO L290 TraceCheckUtils]: 12: Hoare triple {24482#true} [323] L696-2-->L696-3: Formula: (= (select (select |v_#memory_int_4| |v_~#__global_lock~0.base_3|) (+ |v_~#__global_lock~0.offset_3| 4)) 0) InVars {#memory_int=|v_#memory_int_4|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_3|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_3|} OutVars{#memory_int=|v_#memory_int_4|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_3|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_3|} AuxVars[] AssignedVars[] {24482#true} is VALID [2022-02-20 20:41:05,858 INFO L290 TraceCheckUtils]: 13: Hoare triple {24482#true} [421] L696-3-->L696-4: Formula: (= (select (select |v_#memory_int_5| |v_~#__global_lock~0.base_4|) (+ |v_~#__global_lock~0.offset_4| 8)) 0) InVars {#memory_int=|v_#memory_int_5|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_4|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_4|} OutVars{#memory_int=|v_#memory_int_5|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_4|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_4|} AuxVars[] AssignedVars[] {24482#true} is VALID [2022-02-20 20:41:05,858 INFO L290 TraceCheckUtils]: 14: Hoare triple {24482#true} [410] L696-4-->L696-5: Formula: (= (select (select |v_#memory_int_6| |v_~#__global_lock~0.base_5|) (+ |v_~#__global_lock~0.offset_5| 12)) 0) InVars {#memory_int=|v_#memory_int_6|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_5|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_5|} OutVars{#memory_int=|v_#memory_int_6|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_5|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_5|} AuxVars[] AssignedVars[] {24482#true} is VALID [2022-02-20 20:41:05,859 INFO L290 TraceCheckUtils]: 15: Hoare triple {24482#true} [352] L696-5-->L696-6: Formula: (= (select (select |v_#memory_int_7| |v_~#__global_lock~0.base_6|) (+ 16 |v_~#__global_lock~0.offset_6|)) 0) InVars {#memory_int=|v_#memory_int_7|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_6|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_6|} OutVars{#memory_int=|v_#memory_int_7|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_6|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_6|} AuxVars[] AssignedVars[] {24482#true} is VALID [2022-02-20 20:41:05,859 INFO L290 TraceCheckUtils]: 16: Hoare triple {24482#true} [361] L696-6-->L698: Formula: (= v_~global~0_1 0) InVars {} OutVars{~global~0=v_~global~0_1} AuxVars[] AssignedVars[~global~0] {24482#true} is VALID [2022-02-20 20:41:05,859 INFO L290 TraceCheckUtils]: 17: Hoare triple {24482#true} [392] L698-->L698-1: Formula: (and (= |v_~#mutex1~0.offset_1| 0) (= |v_~#mutex1~0.base_1| 4)) InVars {} OutVars{~#mutex1~0.offset=|v_~#mutex1~0.offset_1|, ~#mutex1~0.base=|v_~#mutex1~0.base_1|} AuxVars[] AssignedVars[~#mutex1~0.offset, ~#mutex1~0.base] {24482#true} is VALID [2022-02-20 20:41:05,859 INFO L290 TraceCheckUtils]: 18: Hoare triple {24482#true} [390] L698-1-->L698-2: Formula: (and (= (select |v_#length_4| 4) 24) (= (select |v_#valid_5| 4) 1)) InVars {#length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#length=|v_#length_4|, #valid=|v_#valid_5|} AuxVars[] AssignedVars[] {24482#true} is VALID [2022-02-20 20:41:05,859 INFO L290 TraceCheckUtils]: 19: Hoare triple {24482#true} [411] L698-2-->L698-3: Formula: (= (select (select |v_#memory_int_8| |v_~#mutex1~0.base_2|) |v_~#mutex1~0.offset_2|) 0) InVars {#memory_int=|v_#memory_int_8|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_2|, ~#mutex1~0.base=|v_~#mutex1~0.base_2|} OutVars{#memory_int=|v_#memory_int_8|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_2|, ~#mutex1~0.base=|v_~#mutex1~0.base_2|} AuxVars[] AssignedVars[] {24482#true} is VALID [2022-02-20 20:41:05,860 INFO L290 TraceCheckUtils]: 20: Hoare triple {24482#true} [328] L698-3-->L698-4: Formula: (= (select (select |v_#memory_int_9| |v_~#mutex1~0.base_3|) (+ |v_~#mutex1~0.offset_3| 4)) 0) InVars {#memory_int=|v_#memory_int_9|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_3|, ~#mutex1~0.base=|v_~#mutex1~0.base_3|} OutVars{#memory_int=|v_#memory_int_9|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_3|, ~#mutex1~0.base=|v_~#mutex1~0.base_3|} AuxVars[] AssignedVars[] {24482#true} is VALID [2022-02-20 20:41:05,860 INFO L290 TraceCheckUtils]: 21: Hoare triple {24482#true} [391] L698-4-->L698-5: Formula: (= (select (select |v_#memory_int_10| |v_~#mutex1~0.base_4|) (+ |v_~#mutex1~0.offset_4| 8)) 0) InVars {#memory_int=|v_#memory_int_10|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_4|, ~#mutex1~0.base=|v_~#mutex1~0.base_4|} OutVars{#memory_int=|v_#memory_int_10|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_4|, ~#mutex1~0.base=|v_~#mutex1~0.base_4|} AuxVars[] AssignedVars[] {24482#true} is VALID [2022-02-20 20:41:05,860 INFO L290 TraceCheckUtils]: 22: Hoare triple {24482#true} [415] L698-5-->L698-6: Formula: (= (select (select |v_#memory_int_11| |v_~#mutex1~0.base_5|) (+ |v_~#mutex1~0.offset_5| 12)) 0) InVars {#memory_int=|v_#memory_int_11|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_5|, ~#mutex1~0.base=|v_~#mutex1~0.base_5|} OutVars{#memory_int=|v_#memory_int_11|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_5|, ~#mutex1~0.base=|v_~#mutex1~0.base_5|} AuxVars[] AssignedVars[] {24482#true} is VALID [2022-02-20 20:41:05,860 INFO L290 TraceCheckUtils]: 23: Hoare triple {24482#true} [412] L698-6-->L698-7: Formula: (= (select (select |v_#memory_int_12| |v_~#mutex1~0.base_6|) (+ 16 |v_~#mutex1~0.offset_6|)) 0) InVars {#memory_int=|v_#memory_int_12|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_6|, ~#mutex1~0.base=|v_~#mutex1~0.base_6|} OutVars{#memory_int=|v_#memory_int_12|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_6|, ~#mutex1~0.base=|v_~#mutex1~0.base_6|} AuxVars[] AssignedVars[] {24482#true} is VALID [2022-02-20 20:41:05,860 INFO L290 TraceCheckUtils]: 24: Hoare triple {24482#true} [322] L698-7-->L699: Formula: (= v_~mutex2~0.__data.__lock_1 0) InVars {} OutVars{~mutex2~0.__data.__lock=v_~mutex2~0.__data.__lock_1} AuxVars[] AssignedVars[~mutex2~0.__data.__lock] {24482#true} is VALID [2022-02-20 20:41:05,861 INFO L290 TraceCheckUtils]: 25: Hoare triple {24482#true} [343] L699-->L699-1: Formula: (= v_~mutex2~0.__data.__count_1 0) InVars {} OutVars{~mutex2~0.__data.__count=v_~mutex2~0.__data.__count_1} AuxVars[] AssignedVars[~mutex2~0.__data.__count] {24482#true} is VALID [2022-02-20 20:41:05,861 INFO L290 TraceCheckUtils]: 26: Hoare triple {24482#true} [386] L699-1-->L699-2: Formula: (= v_~mutex2~0.__data.__owner_1 0) InVars {} OutVars{~mutex2~0.__data.__owner=v_~mutex2~0.__data.__owner_1} AuxVars[] AssignedVars[~mutex2~0.__data.__owner] {24482#true} is VALID [2022-02-20 20:41:05,861 INFO L290 TraceCheckUtils]: 27: Hoare triple {24482#true} [316] L699-2-->L699-3: Formula: (= v_~mutex2~0.__data.__kind_1 0) InVars {} OutVars{~mutex2~0.__data.__kind=v_~mutex2~0.__data.__kind_1} AuxVars[] AssignedVars[~mutex2~0.__data.__kind] {24482#true} is VALID [2022-02-20 20:41:05,868 INFO L290 TraceCheckUtils]: 28: Hoare triple {24482#true} [321] L699-3-->L699-4: Formula: (= v_~mutex2~0.__data.__nusers_1 0) InVars {} OutVars{~mutex2~0.__data.__nusers=v_~mutex2~0.__data.__nusers_1} AuxVars[] AssignedVars[~mutex2~0.__data.__nusers] {24482#true} is VALID [2022-02-20 20:41:05,868 INFO L290 TraceCheckUtils]: 29: Hoare triple {24482#true} [331] L699-4-->L699-5: Formula: (= ((as const (Array Int Int)) 0) v_~mutex2~0.__size_1) InVars {} OutVars{~mutex2~0.__size=v_~mutex2~0.__size_1} AuxVars[] AssignedVars[~mutex2~0.__size] {24482#true} is VALID [2022-02-20 20:41:05,868 INFO L290 TraceCheckUtils]: 30: Hoare triple {24482#true} [334] L699-5-->L699-6: Formula: (= v_~mutex2~0.__align_1 |v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_2|) InVars {ULTIMATE.start_ULTIMATE.init_#t~nondet15#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_2|} OutVars{~mutex2~0.__align=v_~mutex2~0.__align_1, ULTIMATE.start_ULTIMATE.init_#t~nondet15#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_2|} AuxVars[] AssignedVars[~mutex2~0.__align] {24482#true} is VALID [2022-02-20 20:41:05,868 INFO L290 TraceCheckUtils]: 31: Hoare triple {24482#true} [362] L699-6-->L-1-4: Formula: true InVars {} OutVars{ULTIMATE.start_ULTIMATE.init_#t~nondet15#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_ULTIMATE.init_#t~nondet15#1] {24482#true} is VALID [2022-02-20 20:41:05,868 INFO L290 TraceCheckUtils]: 32: Hoare triple {24482#true} [345] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {24482#true} is VALID [2022-02-20 20:41:05,868 INFO L290 TraceCheckUtils]: 33: Hoare triple {24482#true} [320] L-1-5-->L-1-6: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {24482#true} is VALID [2022-02-20 20:41:05,869 INFO L290 TraceCheckUtils]: 34: Hoare triple {24482#true} [409] 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] {24482#true} is VALID [2022-02-20 20:41:05,869 INFO L290 TraceCheckUtils]: 35: Hoare triple {24482#true} [319] L-1-7-->L707: Formula: true InVars {} OutVars{ULTIMATE.start_main_~i~1#1=|v_ULTIMATE.start_main_~i~1#1_1|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_1|, ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_1|, ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_1|, ULTIMATE.start_main_#t~mem14#1=|v_ULTIMATE.start_main_#t~mem14#1_1|, ULTIMATE.start_main_~#t_ids~0#1.base=|v_ULTIMATE.start_main_~#t_ids~0#1.base_1|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_1|, ULTIMATE.start_main_#t~post8#1=|v_ULTIMATE.start_main_#t~post8#1_1|, ULTIMATE.start_main_#t~post13#1=|v_ULTIMATE.start_main_#t~post13#1_1|, ULTIMATE.start_main_~#t_ids~0#1.offset=|v_ULTIMATE.start_main_~#t_ids~0#1.offset_1|, ULTIMATE.start_main_#t~nondet12#1=|v_ULTIMATE.start_main_#t~nondet12#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet11#1, ULTIMATE.start_main_#t~nondet10#1, ULTIMATE.start_main_#t~mem14#1, ULTIMATE.start_main_~#t_ids~0#1.base, ULTIMATE.start_main_#t~pre9#1, ULTIMATE.start_main_#t~post8#1, ULTIMATE.start_main_#t~post13#1, ULTIMATE.start_main_~#t_ids~0#1.offset, ULTIMATE.start_main_#t~nondet12#1] {24482#true} is VALID [2022-02-20 20:41:05,869 INFO L290 TraceCheckUtils]: 36: Hoare triple {24482#true} [375] L707-->L707-1: Formula: (and (= (store |v_#length_6| |v_ULTIMATE.start_main_~#t_ids~0#1.base_2| 40000) |v_#length_5|) (= |v_#valid_6| (store |v_#valid_7| |v_ULTIMATE.start_main_~#t_ids~0#1.base_2| 1)) (= |v_ULTIMATE.start_main_~#t_ids~0#1.offset_2| 0) (not (= |v_ULTIMATE.start_main_~#t_ids~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t_ids~0#1.base_2|) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#t_ids~0#1.base_2|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_6|, #valid=|v_#valid_7|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, ULTIMATE.start_main_~#t_ids~0#1.offset=|v_ULTIMATE.start_main_~#t_ids~0#1.offset_2|, #length=|v_#length_5|, ULTIMATE.start_main_~#t_ids~0#1.base=|v_ULTIMATE.start_main_~#t_ids~0#1.base_2|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t_ids~0#1.base, #valid, ULTIMATE.start_main_~#t_ids~0#1.offset, #length] {24482#true} is VALID [2022-02-20 20:41:05,869 INFO L290 TraceCheckUtils]: 37: Hoare triple {24482#true} [367] L707-1-->L707-13: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 0) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {24484#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 20:41:05,870 INFO L290 TraceCheckUtils]: 38: Hoare triple {24484#(= |ULTIMATE.start_main_~i~0#1| 0)} [383] L707-13-->L707-4: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 10000) 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[] {24484#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 20:41:05,870 INFO L290 TraceCheckUtils]: 39: Hoare triple {24484#(= |ULTIMATE.start_main_~i~0#1| 0)} [399] L707-4-->L707-5: Formula: (= |v_ULTIMATE.start_main_#t~pre9#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre9#1] {24484#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 20:41:05,871 INFO L290 TraceCheckUtils]: 40: Hoare triple {24484#(= |ULTIMATE.start_main_~i~0#1| 0)} [397] L707-5-->L707-6: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {24484#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 20:41:05,871 INFO L290 TraceCheckUtils]: 41: Hoare triple {24484#(= |ULTIMATE.start_main_~i~0#1| 0)} [388] L707-6-->L707-7: Formula: (= |v_#memory_int_13| (store |v_#memory_int_14| |v_ULTIMATE.start_main_~#t_ids~0#1.base_3| (store (select |v_#memory_int_14| |v_ULTIMATE.start_main_~#t_ids~0#1.base_3|) (+ |v_ULTIMATE.start_main_~#t_ids~0#1.offset_3| (* |v_ULTIMATE.start_main_~i~0#1_5| 4)) |v_ULTIMATE.start_main_#t~pre9#1_3|))) InVars {#memory_int=|v_#memory_int_14|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t_ids~0#1.offset=|v_ULTIMATE.start_main_~#t_ids~0#1.offset_3|, ULTIMATE.start_main_~#t_ids~0#1.base=|v_ULTIMATE.start_main_~#t_ids~0#1.base_3|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_3|} OutVars{#memory_int=|v_#memory_int_13|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t_ids~0#1.offset=|v_ULTIMATE.start_main_~#t_ids~0#1.offset_3|, ULTIMATE.start_main_~#t_ids~0#1.base=|v_ULTIMATE.start_main_~#t_ids~0#1.base_3|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_3|} AuxVars[] AssignedVars[#memory_int] {24484#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 20:41:05,872 INFO L290 TraceCheckUtils]: 42: Hoare triple {24484#(= |ULTIMATE.start_main_~i~0#1| 0)} [481] L707-7-->t_funENTRY: Formula: (and (= |v_t_funThread1of2ForFork0_#in~arg.offset_4| 0) (= |v_ULTIMATE.start_main_#t~pre9#1_8| v_t_funThread1of2ForFork0_thidvar0_2) (= |v_t_funThread1of2ForFork0_#in~arg.base_4| 0)) InVars {ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_8|} OutVars{t_funThread1of2ForFork0_#res.offset=|v_t_funThread1of2ForFork0_#res.offset_4|, t_funThread1of2ForFork0_~arg.base=v_t_funThread1of2ForFork0_~arg.base_4, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_8|, t_funThread1of2ForFork0_#t~nondet3=|v_t_funThread1of2ForFork0_#t~nondet3_6|, t_funThread1of2ForFork0_#t~nondet4=|v_t_funThread1of2ForFork0_#t~nondet4_6|, t_funThread1of2ForFork0_#t~nondet6=|v_t_funThread1of2ForFork0_#t~nondet6_6|, t_funThread1of2ForFork0_~arg.offset=v_t_funThread1of2ForFork0_~arg.offset_4, t_funThread1of2ForFork0_#t~post7=|v_t_funThread1of2ForFork0_#t~post7_8|, t_funThread1of2ForFork0_thidvar0=v_t_funThread1of2ForFork0_thidvar0_2, t_funThread1of2ForFork0_#t~post5=|v_t_funThread1of2ForFork0_#t~post5_8|, t_funThread1of2ForFork0_#in~arg.offset=|v_t_funThread1of2ForFork0_#in~arg.offset_4|, t_funThread1of2ForFork0_#in~arg.base=|v_t_funThread1of2ForFork0_#in~arg.base_4|, t_funThread1of2ForFork0_#res.base=|v_t_funThread1of2ForFork0_#res.base_4|} AuxVars[] AssignedVars[t_funThread1of2ForFork0_thidvar0, t_funThread1of2ForFork0_#t~post5, t_funThread1of2ForFork0_#in~arg.offset, t_funThread1of2ForFork0_#res.offset, t_funThread1of2ForFork0_~arg.base, t_funThread1of2ForFork0_#t~nondet3, t_funThread1of2ForFork0_#in~arg.base, t_funThread1of2ForFork0_#t~nondet4, t_funThread1of2ForFork0_#t~nondet6, t_funThread1of2ForFork0_~arg.offset, t_funThread1of2ForFork0_#res.base, t_funThread1of2ForFork0_#t~post7] {24484#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 20:41:05,872 INFO L290 TraceCheckUtils]: 43: Hoare triple {24484#(= |ULTIMATE.start_main_~i~0#1| 0)} [380] L707-8-->L707-9: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre9#1] {24484#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 20:41:05,872 INFO L290 TraceCheckUtils]: 44: Hoare triple {24484#(= |ULTIMATE.start_main_~i~0#1| 0)} [413] L707-9-->L707-10: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet10#1] {24484#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 20:41:05,873 INFO L290 TraceCheckUtils]: 45: Hoare triple {24484#(= |ULTIMATE.start_main_~i~0#1| 0)} [354] L707-10-->L707-11: Formula: (= |v_ULTIMATE.start_main_#t~post8#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_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|, ULTIMATE.start_main_#t~post8#1=|v_ULTIMATE.start_main_#t~post8#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post8#1] {24485#(= |ULTIMATE.start_main_#t~post8#1| 0)} is VALID [2022-02-20 20:41:05,877 INFO L290 TraceCheckUtils]: 46: Hoare triple {24485#(= |ULTIMATE.start_main_#t~post8#1| 0)} [325] L707-11-->L707-12: Formula: (= (+ |v_ULTIMATE.start_main_#t~post8#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post8#1=|v_ULTIMATE.start_main_#t~post8#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|, ULTIMATE.start_main_#t~post8#1=|v_ULTIMATE.start_main_#t~post8#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {24486#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 20:41:05,877 INFO L290 TraceCheckUtils]: 47: Hoare triple {24486#(<= |ULTIMATE.start_main_~i~0#1| 1)} [374] L707-12-->L707-13: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post8#1=|v_ULTIMATE.start_main_#t~post8#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post8#1] {24486#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 20:41:05,878 INFO L290 TraceCheckUtils]: 48: Hoare triple {24486#(<= |ULTIMATE.start_main_~i~0#1| 1)} [382] L707-13-->L707-14: Formula: (not (< |v_ULTIMATE.start_main_~i~0#1_3| 10000)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} AuxVars[] AssignedVars[] {24483#false} is VALID [2022-02-20 20:41:05,878 INFO L290 TraceCheckUtils]: 49: Hoare triple {24483#false} [314] L707-14-->L708: Formula: (let ((.cse0 (select |v_#pthreadsMutex_2| |v_~#mutex1~0.base_7|))) (and (= |v_#pthreadsMutex_1| (store |v_#pthreadsMutex_2| |v_~#mutex1~0.base_7| (store .cse0 |v_~#mutex1~0.offset_7| 1))) (= |v_ULTIMATE.start_main_#t~nondet11#1_2| 0) (= (select .cse0 |v_~#mutex1~0.offset_7|) 0))) InVars {#pthreadsMutex=|v_#pthreadsMutex_2|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_7|, ~#mutex1~0.base=|v_~#mutex1~0.base_7|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_1|, ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_2|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_7|, ~#mutex1~0.base=|v_~#mutex1~0.base_7|} AuxVars[] AssignedVars[#pthreadsMutex, ULTIMATE.start_main_#t~nondet11#1] {24483#false} is VALID [2022-02-20 20:41:05,878 INFO L290 TraceCheckUtils]: 50: Hoare triple {24483#false} [315] L708-->L709-7: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet11#1] {24483#false} is VALID [2022-02-20 20:41:05,879 INFO L290 TraceCheckUtils]: 51: Hoare triple {24483#false} [393] L709-7-->L709-1: Formula: (let ((.cse0 (select |v_#pthreadsMutex_4| |v_~#__global_lock~0.base_7|))) (and (= (select .cse0 |v_~#__global_lock~0.offset_7|) 0) (= |v_#pthreadsMutex_3| (store |v_#pthreadsMutex_4| |v_~#__global_lock~0.base_7| (store .cse0 |v_~#__global_lock~0.offset_7| 1))) (= |v_ULTIMATE.start_main_#t~nondet12#1_2| 0))) InVars {#pthreadsMutex=|v_#pthreadsMutex_4|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_7|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_7|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_3|, ULTIMATE.start_main_#t~nondet12#1=|v_ULTIMATE.start_main_#t~nondet12#1_2|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_7|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_7|} AuxVars[] AssignedVars[#pthreadsMutex, ULTIMATE.start_main_#t~nondet12#1] {24483#false} is VALID [2022-02-20 20:41:05,879 INFO L290 TraceCheckUtils]: 52: Hoare triple {24483#false} [358] L709-1-->L709-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet12#1=|v_ULTIMATE.start_main_#t~nondet12#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet12#1] {24483#false} is VALID [2022-02-20 20:41:05,879 INFO L290 TraceCheckUtils]: 53: Hoare triple {24483#false} [311] L709-2-->L709-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {24483#false} is VALID [2022-02-20 20:41:05,883 INFO L290 TraceCheckUtils]: 54: Hoare triple {24483#false} [401] L709-3-->L709-4: Formula: (= (ite (= v_~global~0_2 0) 1 0) |v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_1|) InVars {~global~0=v_~global~0_2} OutVars{ULTIMATE.start___VERIFIER_assert_#in~cond#1=|v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_1|, ~global~0=v_~global~0_2} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_#in~cond#1] {24483#false} is VALID [2022-02-20 20:41:05,883 INFO L290 TraceCheckUtils]: 55: Hoare triple {24483#false} [353] L709-4-->L691: Formula: true InVars {} OutVars{ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_~cond#1] {24483#false} is VALID [2022-02-20 20:41:05,886 INFO L290 TraceCheckUtils]: 56: Hoare triple {24483#false} [339] L691-->L691-1: Formula: (= |v_ULTIMATE.start___VERIFIER_assert_~cond#1_2| |v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_2|) InVars {ULTIMATE.start___VERIFIER_assert_#in~cond#1=|v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_2|} OutVars{ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_2|, ULTIMATE.start___VERIFIER_assert_#in~cond#1=|v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_2|} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_~cond#1] {24483#false} is VALID [2022-02-20 20:41:05,886 INFO L290 TraceCheckUtils]: 57: Hoare triple {24483#false} [422] L691-1-->L691-2: Formula: (= |v_ULTIMATE.start___VERIFIER_assert_~cond#1_3| 0) InVars {ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_3|} OutVars{ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_3|} AuxVars[] AssignedVars[] {24483#false} is VALID [2022-02-20 20:41:05,886 INFO L290 TraceCheckUtils]: 58: Hoare triple {24483#false} [336] L691-2-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {24483#false} is VALID [2022-02-20 20:41:05,888 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 20:41:05,888 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 20:41:05,888 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2010835081] [2022-02-20 20:41:05,889 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2010835081] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 20:41:05,889 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1328742489] [2022-02-20 20:41:05,889 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:41:05,889 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 20:41:05,889 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 20:41:05,895 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 20:41:05,911 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-02-20 20:41:05,965 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:41:05,966 INFO L263 TraceCheckSpWp]: Trace formula consists of 143 conjuncts, 4 conjunts are in the unsatisfiable core [2022-02-20 20:41:05,983 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:41:05,984 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 20:41:06,176 INFO L290 TraceCheckUtils]: 0: Hoare triple {24482#true} [414] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {24482#true} is VALID [2022-02-20 20:41:06,176 INFO L290 TraceCheckUtils]: 1: Hoare triple {24482#true} [340] L-1-->L-1-1: Formula: true InVars {} OutVars{ULTIMATE.start_ULTIMATE.init_#t~nondet15#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_ULTIMATE.init_#t~nondet15#1] {24482#true} is VALID [2022-02-20 20:41:06,177 INFO L290 TraceCheckUtils]: 2: Hoare triple {24482#true} [417] L-1-1-->L-1-2: 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] {24482#true} is VALID [2022-02-20 20:41:06,177 INFO L290 TraceCheckUtils]: 3: Hoare triple {24482#true} [418] L-1-2-->L-1-3: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] {24482#true} is VALID [2022-02-20 20:41:06,177 INFO L290 TraceCheckUtils]: 4: Hoare triple {24482#true} [420] L-1-3-->L690: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {24482#true} is VALID [2022-02-20 20:41:06,177 INFO L290 TraceCheckUtils]: 5: Hoare triple {24482#true} [357] L690-->L690-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[] {24482#true} is VALID [2022-02-20 20:41:06,177 INFO L290 TraceCheckUtils]: 6: Hoare triple {24482#true} [313] L690-1-->L690-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[] {24482#true} is VALID [2022-02-20 20:41:06,178 INFO L290 TraceCheckUtils]: 7: Hoare triple {24482#true} [327] L690-2-->L690-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[] {24482#true} is VALID [2022-02-20 20:41:06,178 INFO L290 TraceCheckUtils]: 8: Hoare triple {24482#true} [400] L690-3-->L690-4: Formula: (and (= (select |v_#length_2| 2) 13) (= (select |v_#valid_3| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {24482#true} is VALID [2022-02-20 20:41:06,178 INFO L290 TraceCheckUtils]: 9: Hoare triple {24482#true} [363] L690-4-->L696: Formula: (and (= 3 |v_~#__global_lock~0.base_1|) (= |v_~#__global_lock~0.offset_1| 0)) InVars {} OutVars{~#__global_lock~0.base=|v_~#__global_lock~0.base_1|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_1|} AuxVars[] AssignedVars[~#__global_lock~0.offset, ~#__global_lock~0.base] {24482#true} is VALID [2022-02-20 20:41:06,178 INFO L290 TraceCheckUtils]: 10: Hoare triple {24482#true} [348] L696-->L696-1: Formula: (and (= (select |v_#length_3| 3) 24) (= (select |v_#valid_4| 3) 1)) InVars {#length=|v_#length_3|, #valid=|v_#valid_4|} OutVars{#length=|v_#length_3|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[] {24482#true} is VALID [2022-02-20 20:41:06,178 INFO L290 TraceCheckUtils]: 11: Hoare triple {24482#true} [402] L696-1-->L696-2: Formula: (= (select (select |v_#memory_int_3| |v_~#__global_lock~0.base_2|) |v_~#__global_lock~0.offset_2|) 0) InVars {#memory_int=|v_#memory_int_3|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_2|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_2|} OutVars{#memory_int=|v_#memory_int_3|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_2|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_2|} AuxVars[] AssignedVars[] {24482#true} is VALID [2022-02-20 20:41:06,179 INFO L290 TraceCheckUtils]: 12: Hoare triple {24482#true} [323] L696-2-->L696-3: Formula: (= (select (select |v_#memory_int_4| |v_~#__global_lock~0.base_3|) (+ |v_~#__global_lock~0.offset_3| 4)) 0) InVars {#memory_int=|v_#memory_int_4|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_3|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_3|} OutVars{#memory_int=|v_#memory_int_4|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_3|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_3|} AuxVars[] AssignedVars[] {24482#true} is VALID [2022-02-20 20:41:06,179 INFO L290 TraceCheckUtils]: 13: Hoare triple {24482#true} [421] L696-3-->L696-4: Formula: (= (select (select |v_#memory_int_5| |v_~#__global_lock~0.base_4|) (+ |v_~#__global_lock~0.offset_4| 8)) 0) InVars {#memory_int=|v_#memory_int_5|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_4|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_4|} OutVars{#memory_int=|v_#memory_int_5|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_4|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_4|} AuxVars[] AssignedVars[] {24482#true} is VALID [2022-02-20 20:41:06,179 INFO L290 TraceCheckUtils]: 14: Hoare triple {24482#true} [410] L696-4-->L696-5: Formula: (= (select (select |v_#memory_int_6| |v_~#__global_lock~0.base_5|) (+ |v_~#__global_lock~0.offset_5| 12)) 0) InVars {#memory_int=|v_#memory_int_6|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_5|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_5|} OutVars{#memory_int=|v_#memory_int_6|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_5|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_5|} AuxVars[] AssignedVars[] {24482#true} is VALID [2022-02-20 20:41:06,179 INFO L290 TraceCheckUtils]: 15: Hoare triple {24482#true} [352] L696-5-->L696-6: Formula: (= (select (select |v_#memory_int_7| |v_~#__global_lock~0.base_6|) (+ 16 |v_~#__global_lock~0.offset_6|)) 0) InVars {#memory_int=|v_#memory_int_7|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_6|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_6|} OutVars{#memory_int=|v_#memory_int_7|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_6|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_6|} AuxVars[] AssignedVars[] {24482#true} is VALID [2022-02-20 20:41:06,179 INFO L290 TraceCheckUtils]: 16: Hoare triple {24482#true} [361] L696-6-->L698: Formula: (= v_~global~0_1 0) InVars {} OutVars{~global~0=v_~global~0_1} AuxVars[] AssignedVars[~global~0] {24482#true} is VALID [2022-02-20 20:41:06,180 INFO L290 TraceCheckUtils]: 17: Hoare triple {24482#true} [392] L698-->L698-1: Formula: (and (= |v_~#mutex1~0.offset_1| 0) (= |v_~#mutex1~0.base_1| 4)) InVars {} OutVars{~#mutex1~0.offset=|v_~#mutex1~0.offset_1|, ~#mutex1~0.base=|v_~#mutex1~0.base_1|} AuxVars[] AssignedVars[~#mutex1~0.offset, ~#mutex1~0.base] {24482#true} is VALID [2022-02-20 20:41:06,180 INFO L290 TraceCheckUtils]: 18: Hoare triple {24482#true} [390] L698-1-->L698-2: Formula: (and (= (select |v_#length_4| 4) 24) (= (select |v_#valid_5| 4) 1)) InVars {#length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#length=|v_#length_4|, #valid=|v_#valid_5|} AuxVars[] AssignedVars[] {24482#true} is VALID [2022-02-20 20:41:06,180 INFO L290 TraceCheckUtils]: 19: Hoare triple {24482#true} [411] L698-2-->L698-3: Formula: (= (select (select |v_#memory_int_8| |v_~#mutex1~0.base_2|) |v_~#mutex1~0.offset_2|) 0) InVars {#memory_int=|v_#memory_int_8|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_2|, ~#mutex1~0.base=|v_~#mutex1~0.base_2|} OutVars{#memory_int=|v_#memory_int_8|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_2|, ~#mutex1~0.base=|v_~#mutex1~0.base_2|} AuxVars[] AssignedVars[] {24482#true} is VALID [2022-02-20 20:41:06,180 INFO L290 TraceCheckUtils]: 20: Hoare triple {24482#true} [328] L698-3-->L698-4: Formula: (= (select (select |v_#memory_int_9| |v_~#mutex1~0.base_3|) (+ |v_~#mutex1~0.offset_3| 4)) 0) InVars {#memory_int=|v_#memory_int_9|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_3|, ~#mutex1~0.base=|v_~#mutex1~0.base_3|} OutVars{#memory_int=|v_#memory_int_9|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_3|, ~#mutex1~0.base=|v_~#mutex1~0.base_3|} AuxVars[] AssignedVars[] {24482#true} is VALID [2022-02-20 20:41:06,180 INFO L290 TraceCheckUtils]: 21: Hoare triple {24482#true} [391] L698-4-->L698-5: Formula: (= (select (select |v_#memory_int_10| |v_~#mutex1~0.base_4|) (+ |v_~#mutex1~0.offset_4| 8)) 0) InVars {#memory_int=|v_#memory_int_10|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_4|, ~#mutex1~0.base=|v_~#mutex1~0.base_4|} OutVars{#memory_int=|v_#memory_int_10|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_4|, ~#mutex1~0.base=|v_~#mutex1~0.base_4|} AuxVars[] AssignedVars[] {24482#true} is VALID [2022-02-20 20:41:06,181 INFO L290 TraceCheckUtils]: 22: Hoare triple {24482#true} [415] L698-5-->L698-6: Formula: (= (select (select |v_#memory_int_11| |v_~#mutex1~0.base_5|) (+ |v_~#mutex1~0.offset_5| 12)) 0) InVars {#memory_int=|v_#memory_int_11|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_5|, ~#mutex1~0.base=|v_~#mutex1~0.base_5|} OutVars{#memory_int=|v_#memory_int_11|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_5|, ~#mutex1~0.base=|v_~#mutex1~0.base_5|} AuxVars[] AssignedVars[] {24482#true} is VALID [2022-02-20 20:41:06,181 INFO L290 TraceCheckUtils]: 23: Hoare triple {24482#true} [412] L698-6-->L698-7: Formula: (= (select (select |v_#memory_int_12| |v_~#mutex1~0.base_6|) (+ 16 |v_~#mutex1~0.offset_6|)) 0) InVars {#memory_int=|v_#memory_int_12|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_6|, ~#mutex1~0.base=|v_~#mutex1~0.base_6|} OutVars{#memory_int=|v_#memory_int_12|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_6|, ~#mutex1~0.base=|v_~#mutex1~0.base_6|} AuxVars[] AssignedVars[] {24482#true} is VALID [2022-02-20 20:41:06,181 INFO L290 TraceCheckUtils]: 24: Hoare triple {24482#true} [322] L698-7-->L699: Formula: (= v_~mutex2~0.__data.__lock_1 0) InVars {} OutVars{~mutex2~0.__data.__lock=v_~mutex2~0.__data.__lock_1} AuxVars[] AssignedVars[~mutex2~0.__data.__lock] {24482#true} is VALID [2022-02-20 20:41:06,181 INFO L290 TraceCheckUtils]: 25: Hoare triple {24482#true} [343] L699-->L699-1: Formula: (= v_~mutex2~0.__data.__count_1 0) InVars {} OutVars{~mutex2~0.__data.__count=v_~mutex2~0.__data.__count_1} AuxVars[] AssignedVars[~mutex2~0.__data.__count] {24482#true} is VALID [2022-02-20 20:41:06,181 INFO L290 TraceCheckUtils]: 26: Hoare triple {24482#true} [386] L699-1-->L699-2: Formula: (= v_~mutex2~0.__data.__owner_1 0) InVars {} OutVars{~mutex2~0.__data.__owner=v_~mutex2~0.__data.__owner_1} AuxVars[] AssignedVars[~mutex2~0.__data.__owner] {24482#true} is VALID [2022-02-20 20:41:06,181 INFO L290 TraceCheckUtils]: 27: Hoare triple {24482#true} [316] L699-2-->L699-3: Formula: (= v_~mutex2~0.__data.__kind_1 0) InVars {} OutVars{~mutex2~0.__data.__kind=v_~mutex2~0.__data.__kind_1} AuxVars[] AssignedVars[~mutex2~0.__data.__kind] {24482#true} is VALID [2022-02-20 20:41:06,182 INFO L290 TraceCheckUtils]: 28: Hoare triple {24482#true} [321] L699-3-->L699-4: Formula: (= v_~mutex2~0.__data.__nusers_1 0) InVars {} OutVars{~mutex2~0.__data.__nusers=v_~mutex2~0.__data.__nusers_1} AuxVars[] AssignedVars[~mutex2~0.__data.__nusers] {24482#true} is VALID [2022-02-20 20:41:06,182 INFO L290 TraceCheckUtils]: 29: Hoare triple {24482#true} [331] L699-4-->L699-5: Formula: (= ((as const (Array Int Int)) 0) v_~mutex2~0.__size_1) InVars {} OutVars{~mutex2~0.__size=v_~mutex2~0.__size_1} AuxVars[] AssignedVars[~mutex2~0.__size] {24482#true} is VALID [2022-02-20 20:41:06,182 INFO L290 TraceCheckUtils]: 30: Hoare triple {24482#true} [334] L699-5-->L699-6: Formula: (= v_~mutex2~0.__align_1 |v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_2|) InVars {ULTIMATE.start_ULTIMATE.init_#t~nondet15#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_2|} OutVars{~mutex2~0.__align=v_~mutex2~0.__align_1, ULTIMATE.start_ULTIMATE.init_#t~nondet15#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_2|} AuxVars[] AssignedVars[~mutex2~0.__align] {24482#true} is VALID [2022-02-20 20:41:06,182 INFO L290 TraceCheckUtils]: 31: Hoare triple {24482#true} [362] L699-6-->L-1-4: Formula: true InVars {} OutVars{ULTIMATE.start_ULTIMATE.init_#t~nondet15#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_ULTIMATE.init_#t~nondet15#1] {24482#true} is VALID [2022-02-20 20:41:06,182 INFO L290 TraceCheckUtils]: 32: Hoare triple {24482#true} [345] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {24482#true} is VALID [2022-02-20 20:41:06,183 INFO L290 TraceCheckUtils]: 33: Hoare triple {24482#true} [320] L-1-5-->L-1-6: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {24482#true} is VALID [2022-02-20 20:41:06,183 INFO L290 TraceCheckUtils]: 34: Hoare triple {24482#true} [409] 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] {24482#true} is VALID [2022-02-20 20:41:06,183 INFO L290 TraceCheckUtils]: 35: Hoare triple {24482#true} [319] L-1-7-->L707: Formula: true InVars {} OutVars{ULTIMATE.start_main_~i~1#1=|v_ULTIMATE.start_main_~i~1#1_1|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_1|, ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_1|, ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_1|, ULTIMATE.start_main_#t~mem14#1=|v_ULTIMATE.start_main_#t~mem14#1_1|, ULTIMATE.start_main_~#t_ids~0#1.base=|v_ULTIMATE.start_main_~#t_ids~0#1.base_1|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_1|, ULTIMATE.start_main_#t~post8#1=|v_ULTIMATE.start_main_#t~post8#1_1|, ULTIMATE.start_main_#t~post13#1=|v_ULTIMATE.start_main_#t~post13#1_1|, ULTIMATE.start_main_~#t_ids~0#1.offset=|v_ULTIMATE.start_main_~#t_ids~0#1.offset_1|, ULTIMATE.start_main_#t~nondet12#1=|v_ULTIMATE.start_main_#t~nondet12#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet11#1, ULTIMATE.start_main_#t~nondet10#1, ULTIMATE.start_main_#t~mem14#1, ULTIMATE.start_main_~#t_ids~0#1.base, ULTIMATE.start_main_#t~pre9#1, ULTIMATE.start_main_#t~post8#1, ULTIMATE.start_main_#t~post13#1, ULTIMATE.start_main_~#t_ids~0#1.offset, ULTIMATE.start_main_#t~nondet12#1] {24482#true} is VALID [2022-02-20 20:41:06,183 INFO L290 TraceCheckUtils]: 36: Hoare triple {24482#true} [375] L707-->L707-1: Formula: (and (= (store |v_#length_6| |v_ULTIMATE.start_main_~#t_ids~0#1.base_2| 40000) |v_#length_5|) (= |v_#valid_6| (store |v_#valid_7| |v_ULTIMATE.start_main_~#t_ids~0#1.base_2| 1)) (= |v_ULTIMATE.start_main_~#t_ids~0#1.offset_2| 0) (not (= |v_ULTIMATE.start_main_~#t_ids~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t_ids~0#1.base_2|) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#t_ids~0#1.base_2|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_6|, #valid=|v_#valid_7|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, ULTIMATE.start_main_~#t_ids~0#1.offset=|v_ULTIMATE.start_main_~#t_ids~0#1.offset_2|, #length=|v_#length_5|, ULTIMATE.start_main_~#t_ids~0#1.base=|v_ULTIMATE.start_main_~#t_ids~0#1.base_2|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t_ids~0#1.base, #valid, ULTIMATE.start_main_~#t_ids~0#1.offset, #length] {24482#true} is VALID [2022-02-20 20:41:06,184 INFO L290 TraceCheckUtils]: 37: Hoare triple {24482#true} [367] L707-1-->L707-13: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 0) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {24601#(<= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 20:41:06,184 INFO L290 TraceCheckUtils]: 38: Hoare triple {24601#(<= |ULTIMATE.start_main_~i~0#1| 0)} [383] L707-13-->L707-4: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 10000) 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[] {24601#(<= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 20:41:06,185 INFO L290 TraceCheckUtils]: 39: Hoare triple {24601#(<= |ULTIMATE.start_main_~i~0#1| 0)} [399] L707-4-->L707-5: Formula: (= |v_ULTIMATE.start_main_#t~pre9#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre9#1] {24601#(<= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 20:41:06,185 INFO L290 TraceCheckUtils]: 40: Hoare triple {24601#(<= |ULTIMATE.start_main_~i~0#1| 0)} [397] L707-5-->L707-6: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {24601#(<= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 20:41:06,185 INFO L290 TraceCheckUtils]: 41: Hoare triple {24601#(<= |ULTIMATE.start_main_~i~0#1| 0)} [388] L707-6-->L707-7: Formula: (= |v_#memory_int_13| (store |v_#memory_int_14| |v_ULTIMATE.start_main_~#t_ids~0#1.base_3| (store (select |v_#memory_int_14| |v_ULTIMATE.start_main_~#t_ids~0#1.base_3|) (+ |v_ULTIMATE.start_main_~#t_ids~0#1.offset_3| (* |v_ULTIMATE.start_main_~i~0#1_5| 4)) |v_ULTIMATE.start_main_#t~pre9#1_3|))) InVars {#memory_int=|v_#memory_int_14|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t_ids~0#1.offset=|v_ULTIMATE.start_main_~#t_ids~0#1.offset_3|, ULTIMATE.start_main_~#t_ids~0#1.base=|v_ULTIMATE.start_main_~#t_ids~0#1.base_3|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_3|} OutVars{#memory_int=|v_#memory_int_13|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t_ids~0#1.offset=|v_ULTIMATE.start_main_~#t_ids~0#1.offset_3|, ULTIMATE.start_main_~#t_ids~0#1.base=|v_ULTIMATE.start_main_~#t_ids~0#1.base_3|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_3|} AuxVars[] AssignedVars[#memory_int] {24601#(<= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 20:41:06,186 INFO L290 TraceCheckUtils]: 42: Hoare triple {24601#(<= |ULTIMATE.start_main_~i~0#1| 0)} [481] L707-7-->t_funENTRY: Formula: (and (= |v_t_funThread1of2ForFork0_#in~arg.offset_4| 0) (= |v_ULTIMATE.start_main_#t~pre9#1_8| v_t_funThread1of2ForFork0_thidvar0_2) (= |v_t_funThread1of2ForFork0_#in~arg.base_4| 0)) InVars {ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_8|} OutVars{t_funThread1of2ForFork0_#res.offset=|v_t_funThread1of2ForFork0_#res.offset_4|, t_funThread1of2ForFork0_~arg.base=v_t_funThread1of2ForFork0_~arg.base_4, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_8|, t_funThread1of2ForFork0_#t~nondet3=|v_t_funThread1of2ForFork0_#t~nondet3_6|, t_funThread1of2ForFork0_#t~nondet4=|v_t_funThread1of2ForFork0_#t~nondet4_6|, t_funThread1of2ForFork0_#t~nondet6=|v_t_funThread1of2ForFork0_#t~nondet6_6|, t_funThread1of2ForFork0_~arg.offset=v_t_funThread1of2ForFork0_~arg.offset_4, t_funThread1of2ForFork0_#t~post7=|v_t_funThread1of2ForFork0_#t~post7_8|, t_funThread1of2ForFork0_thidvar0=v_t_funThread1of2ForFork0_thidvar0_2, t_funThread1of2ForFork0_#t~post5=|v_t_funThread1of2ForFork0_#t~post5_8|, t_funThread1of2ForFork0_#in~arg.offset=|v_t_funThread1of2ForFork0_#in~arg.offset_4|, t_funThread1of2ForFork0_#in~arg.base=|v_t_funThread1of2ForFork0_#in~arg.base_4|, t_funThread1of2ForFork0_#res.base=|v_t_funThread1of2ForFork0_#res.base_4|} AuxVars[] AssignedVars[t_funThread1of2ForFork0_thidvar0, t_funThread1of2ForFork0_#t~post5, t_funThread1of2ForFork0_#in~arg.offset, t_funThread1of2ForFork0_#res.offset, t_funThread1of2ForFork0_~arg.base, t_funThread1of2ForFork0_#t~nondet3, t_funThread1of2ForFork0_#in~arg.base, t_funThread1of2ForFork0_#t~nondet4, t_funThread1of2ForFork0_#t~nondet6, t_funThread1of2ForFork0_~arg.offset, t_funThread1of2ForFork0_#res.base, t_funThread1of2ForFork0_#t~post7] {24601#(<= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 20:41:06,186 INFO L290 TraceCheckUtils]: 43: Hoare triple {24601#(<= |ULTIMATE.start_main_~i~0#1| 0)} [380] L707-8-->L707-9: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre9#1] {24601#(<= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 20:41:06,187 INFO L290 TraceCheckUtils]: 44: Hoare triple {24601#(<= |ULTIMATE.start_main_~i~0#1| 0)} [413] L707-9-->L707-10: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet10#1] {24601#(<= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 20:41:06,187 INFO L290 TraceCheckUtils]: 45: Hoare triple {24601#(<= |ULTIMATE.start_main_~i~0#1| 0)} [354] L707-10-->L707-11: Formula: (= |v_ULTIMATE.start_main_#t~post8#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_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|, ULTIMATE.start_main_#t~post8#1=|v_ULTIMATE.start_main_#t~post8#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post8#1] {24626#(<= |ULTIMATE.start_main_#t~post8#1| 0)} is VALID [2022-02-20 20:41:06,188 INFO L290 TraceCheckUtils]: 46: Hoare triple {24626#(<= |ULTIMATE.start_main_#t~post8#1| 0)} [325] L707-11-->L707-12: Formula: (= (+ |v_ULTIMATE.start_main_#t~post8#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post8#1=|v_ULTIMATE.start_main_#t~post8#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|, ULTIMATE.start_main_#t~post8#1=|v_ULTIMATE.start_main_#t~post8#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {24486#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 20:41:06,188 INFO L290 TraceCheckUtils]: 47: Hoare triple {24486#(<= |ULTIMATE.start_main_~i~0#1| 1)} [374] L707-12-->L707-13: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post8#1=|v_ULTIMATE.start_main_#t~post8#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post8#1] {24486#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 20:41:06,188 INFO L290 TraceCheckUtils]: 48: Hoare triple {24486#(<= |ULTIMATE.start_main_~i~0#1| 1)} [382] L707-13-->L707-14: Formula: (not (< |v_ULTIMATE.start_main_~i~0#1_3| 10000)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} AuxVars[] AssignedVars[] {24483#false} is VALID [2022-02-20 20:41:06,189 INFO L290 TraceCheckUtils]: 49: Hoare triple {24483#false} [314] L707-14-->L708: Formula: (let ((.cse0 (select |v_#pthreadsMutex_2| |v_~#mutex1~0.base_7|))) (and (= |v_#pthreadsMutex_1| (store |v_#pthreadsMutex_2| |v_~#mutex1~0.base_7| (store .cse0 |v_~#mutex1~0.offset_7| 1))) (= |v_ULTIMATE.start_main_#t~nondet11#1_2| 0) (= (select .cse0 |v_~#mutex1~0.offset_7|) 0))) InVars {#pthreadsMutex=|v_#pthreadsMutex_2|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_7|, ~#mutex1~0.base=|v_~#mutex1~0.base_7|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_1|, ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_2|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_7|, ~#mutex1~0.base=|v_~#mutex1~0.base_7|} AuxVars[] AssignedVars[#pthreadsMutex, ULTIMATE.start_main_#t~nondet11#1] {24483#false} is VALID [2022-02-20 20:41:06,189 INFO L290 TraceCheckUtils]: 50: Hoare triple {24483#false} [315] L708-->L709-7: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet11#1] {24483#false} is VALID [2022-02-20 20:41:06,189 INFO L290 TraceCheckUtils]: 51: Hoare triple {24483#false} [393] L709-7-->L709-1: Formula: (let ((.cse0 (select |v_#pthreadsMutex_4| |v_~#__global_lock~0.base_7|))) (and (= (select .cse0 |v_~#__global_lock~0.offset_7|) 0) (= |v_#pthreadsMutex_3| (store |v_#pthreadsMutex_4| |v_~#__global_lock~0.base_7| (store .cse0 |v_~#__global_lock~0.offset_7| 1))) (= |v_ULTIMATE.start_main_#t~nondet12#1_2| 0))) InVars {#pthreadsMutex=|v_#pthreadsMutex_4|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_7|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_7|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_3|, ULTIMATE.start_main_#t~nondet12#1=|v_ULTIMATE.start_main_#t~nondet12#1_2|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_7|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_7|} AuxVars[] AssignedVars[#pthreadsMutex, ULTIMATE.start_main_#t~nondet12#1] {24483#false} is VALID [2022-02-20 20:41:06,189 INFO L290 TraceCheckUtils]: 52: Hoare triple {24483#false} [358] L709-1-->L709-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet12#1=|v_ULTIMATE.start_main_#t~nondet12#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet12#1] {24483#false} is VALID [2022-02-20 20:41:06,189 INFO L290 TraceCheckUtils]: 53: Hoare triple {24483#false} [311] L709-2-->L709-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {24483#false} is VALID [2022-02-20 20:41:06,190 INFO L290 TraceCheckUtils]: 54: Hoare triple {24483#false} [401] L709-3-->L709-4: Formula: (= (ite (= v_~global~0_2 0) 1 0) |v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_1|) InVars {~global~0=v_~global~0_2} OutVars{ULTIMATE.start___VERIFIER_assert_#in~cond#1=|v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_1|, ~global~0=v_~global~0_2} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_#in~cond#1] {24483#false} is VALID [2022-02-20 20:41:06,190 INFO L290 TraceCheckUtils]: 55: Hoare triple {24483#false} [353] L709-4-->L691: Formula: true InVars {} OutVars{ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_~cond#1] {24483#false} is VALID [2022-02-20 20:41:06,190 INFO L290 TraceCheckUtils]: 56: Hoare triple {24483#false} [339] L691-->L691-1: Formula: (= |v_ULTIMATE.start___VERIFIER_assert_~cond#1_2| |v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_2|) InVars {ULTIMATE.start___VERIFIER_assert_#in~cond#1=|v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_2|} OutVars{ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_2|, ULTIMATE.start___VERIFIER_assert_#in~cond#1=|v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_2|} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_~cond#1] {24483#false} is VALID [2022-02-20 20:41:06,190 INFO L290 TraceCheckUtils]: 57: Hoare triple {24483#false} [422] L691-1-->L691-2: Formula: (= |v_ULTIMATE.start___VERIFIER_assert_~cond#1_3| 0) InVars {ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_3|} OutVars{ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_3|} AuxVars[] AssignedVars[] {24483#false} is VALID [2022-02-20 20:41:06,190 INFO L290 TraceCheckUtils]: 58: Hoare triple {24483#false} [336] L691-2-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {24483#false} is VALID [2022-02-20 20:41:06,191 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 20:41:06,191 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 20:41:06,378 INFO L290 TraceCheckUtils]: 58: Hoare triple {24483#false} [336] L691-2-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {24483#false} is VALID [2022-02-20 20:41:06,378 INFO L290 TraceCheckUtils]: 57: Hoare triple {24483#false} [422] L691-1-->L691-2: Formula: (= |v_ULTIMATE.start___VERIFIER_assert_~cond#1_3| 0) InVars {ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_3|} OutVars{ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_3|} AuxVars[] AssignedVars[] {24483#false} is VALID [2022-02-20 20:41:06,379 INFO L290 TraceCheckUtils]: 56: Hoare triple {24483#false} [339] L691-->L691-1: Formula: (= |v_ULTIMATE.start___VERIFIER_assert_~cond#1_2| |v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_2|) InVars {ULTIMATE.start___VERIFIER_assert_#in~cond#1=|v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_2|} OutVars{ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_2|, ULTIMATE.start___VERIFIER_assert_#in~cond#1=|v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_2|} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_~cond#1] {24483#false} is VALID [2022-02-20 20:41:06,379 INFO L290 TraceCheckUtils]: 55: Hoare triple {24483#false} [353] L709-4-->L691: Formula: true InVars {} OutVars{ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_~cond#1] {24483#false} is VALID [2022-02-20 20:41:06,379 INFO L290 TraceCheckUtils]: 54: Hoare triple {24483#false} [401] L709-3-->L709-4: Formula: (= (ite (= v_~global~0_2 0) 1 0) |v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_1|) InVars {~global~0=v_~global~0_2} OutVars{ULTIMATE.start___VERIFIER_assert_#in~cond#1=|v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_1|, ~global~0=v_~global~0_2} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_#in~cond#1] {24483#false} is VALID [2022-02-20 20:41:06,379 INFO L290 TraceCheckUtils]: 53: Hoare triple {24483#false} [311] L709-2-->L709-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {24483#false} is VALID [2022-02-20 20:41:06,379 INFO L290 TraceCheckUtils]: 52: Hoare triple {24483#false} [358] L709-1-->L709-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet12#1=|v_ULTIMATE.start_main_#t~nondet12#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet12#1] {24483#false} is VALID [2022-02-20 20:41:06,379 INFO L290 TraceCheckUtils]: 51: Hoare triple {24483#false} [393] L709-7-->L709-1: Formula: (let ((.cse0 (select |v_#pthreadsMutex_4| |v_~#__global_lock~0.base_7|))) (and (= (select .cse0 |v_~#__global_lock~0.offset_7|) 0) (= |v_#pthreadsMutex_3| (store |v_#pthreadsMutex_4| |v_~#__global_lock~0.base_7| (store .cse0 |v_~#__global_lock~0.offset_7| 1))) (= |v_ULTIMATE.start_main_#t~nondet12#1_2| 0))) InVars {#pthreadsMutex=|v_#pthreadsMutex_4|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_7|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_7|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_3|, ULTIMATE.start_main_#t~nondet12#1=|v_ULTIMATE.start_main_#t~nondet12#1_2|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_7|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_7|} AuxVars[] AssignedVars[#pthreadsMutex, ULTIMATE.start_main_#t~nondet12#1] {24483#false} is VALID [2022-02-20 20:41:06,380 INFO L290 TraceCheckUtils]: 50: Hoare triple {24483#false} [315] L708-->L709-7: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet11#1] {24483#false} is VALID [2022-02-20 20:41:06,380 INFO L290 TraceCheckUtils]: 49: Hoare triple {24483#false} [314] L707-14-->L708: Formula: (let ((.cse0 (select |v_#pthreadsMutex_2| |v_~#mutex1~0.base_7|))) (and (= |v_#pthreadsMutex_1| (store |v_#pthreadsMutex_2| |v_~#mutex1~0.base_7| (store .cse0 |v_~#mutex1~0.offset_7| 1))) (= |v_ULTIMATE.start_main_#t~nondet11#1_2| 0) (= (select .cse0 |v_~#mutex1~0.offset_7|) 0))) InVars {#pthreadsMutex=|v_#pthreadsMutex_2|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_7|, ~#mutex1~0.base=|v_~#mutex1~0.base_7|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_1|, ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_2|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_7|, ~#mutex1~0.base=|v_~#mutex1~0.base_7|} AuxVars[] AssignedVars[#pthreadsMutex, ULTIMATE.start_main_#t~nondet11#1] {24483#false} is VALID [2022-02-20 20:41:06,380 INFO L290 TraceCheckUtils]: 48: Hoare triple {24696#(< |ULTIMATE.start_main_~i~0#1| 10000)} [382] L707-13-->L707-14: Formula: (not (< |v_ULTIMATE.start_main_~i~0#1_3| 10000)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} AuxVars[] AssignedVars[] {24483#false} is VALID [2022-02-20 20:41:06,380 INFO L290 TraceCheckUtils]: 47: Hoare triple {24696#(< |ULTIMATE.start_main_~i~0#1| 10000)} [374] L707-12-->L707-13: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post8#1=|v_ULTIMATE.start_main_#t~post8#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post8#1] {24696#(< |ULTIMATE.start_main_~i~0#1| 10000)} is VALID [2022-02-20 20:41:06,381 INFO L290 TraceCheckUtils]: 46: Hoare triple {24703#(< |ULTIMATE.start_main_#t~post8#1| 9999)} [325] L707-11-->L707-12: Formula: (= (+ |v_ULTIMATE.start_main_#t~post8#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post8#1=|v_ULTIMATE.start_main_#t~post8#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|, ULTIMATE.start_main_#t~post8#1=|v_ULTIMATE.start_main_#t~post8#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {24696#(< |ULTIMATE.start_main_~i~0#1| 10000)} is VALID [2022-02-20 20:41:06,381 INFO L290 TraceCheckUtils]: 45: Hoare triple {24707#(< |ULTIMATE.start_main_~i~0#1| 9999)} [354] L707-10-->L707-11: Formula: (= |v_ULTIMATE.start_main_#t~post8#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_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|, ULTIMATE.start_main_#t~post8#1=|v_ULTIMATE.start_main_#t~post8#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post8#1] {24703#(< |ULTIMATE.start_main_#t~post8#1| 9999)} is VALID [2022-02-20 20:41:06,382 INFO L290 TraceCheckUtils]: 44: Hoare triple {24707#(< |ULTIMATE.start_main_~i~0#1| 9999)} [413] L707-9-->L707-10: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet10#1] {24707#(< |ULTIMATE.start_main_~i~0#1| 9999)} is VALID [2022-02-20 20:41:06,382 INFO L290 TraceCheckUtils]: 43: Hoare triple {24707#(< |ULTIMATE.start_main_~i~0#1| 9999)} [380] L707-8-->L707-9: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre9#1] {24707#(< |ULTIMATE.start_main_~i~0#1| 9999)} is VALID [2022-02-20 20:41:06,382 INFO L290 TraceCheckUtils]: 42: Hoare triple {24707#(< |ULTIMATE.start_main_~i~0#1| 9999)} [481] L707-7-->t_funENTRY: Formula: (and (= |v_t_funThread1of2ForFork0_#in~arg.offset_4| 0) (= |v_ULTIMATE.start_main_#t~pre9#1_8| v_t_funThread1of2ForFork0_thidvar0_2) (= |v_t_funThread1of2ForFork0_#in~arg.base_4| 0)) InVars {ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_8|} OutVars{t_funThread1of2ForFork0_#res.offset=|v_t_funThread1of2ForFork0_#res.offset_4|, t_funThread1of2ForFork0_~arg.base=v_t_funThread1of2ForFork0_~arg.base_4, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_8|, t_funThread1of2ForFork0_#t~nondet3=|v_t_funThread1of2ForFork0_#t~nondet3_6|, t_funThread1of2ForFork0_#t~nondet4=|v_t_funThread1of2ForFork0_#t~nondet4_6|, t_funThread1of2ForFork0_#t~nondet6=|v_t_funThread1of2ForFork0_#t~nondet6_6|, t_funThread1of2ForFork0_~arg.offset=v_t_funThread1of2ForFork0_~arg.offset_4, t_funThread1of2ForFork0_#t~post7=|v_t_funThread1of2ForFork0_#t~post7_8|, t_funThread1of2ForFork0_thidvar0=v_t_funThread1of2ForFork0_thidvar0_2, t_funThread1of2ForFork0_#t~post5=|v_t_funThread1of2ForFork0_#t~post5_8|, t_funThread1of2ForFork0_#in~arg.offset=|v_t_funThread1of2ForFork0_#in~arg.offset_4|, t_funThread1of2ForFork0_#in~arg.base=|v_t_funThread1of2ForFork0_#in~arg.base_4|, t_funThread1of2ForFork0_#res.base=|v_t_funThread1of2ForFork0_#res.base_4|} AuxVars[] AssignedVars[t_funThread1of2ForFork0_thidvar0, t_funThread1of2ForFork0_#t~post5, t_funThread1of2ForFork0_#in~arg.offset, t_funThread1of2ForFork0_#res.offset, t_funThread1of2ForFork0_~arg.base, t_funThread1of2ForFork0_#t~nondet3, t_funThread1of2ForFork0_#in~arg.base, t_funThread1of2ForFork0_#t~nondet4, t_funThread1of2ForFork0_#t~nondet6, t_funThread1of2ForFork0_~arg.offset, t_funThread1of2ForFork0_#res.base, t_funThread1of2ForFork0_#t~post7] {24707#(< |ULTIMATE.start_main_~i~0#1| 9999)} is VALID [2022-02-20 20:41:06,383 INFO L290 TraceCheckUtils]: 41: Hoare triple {24707#(< |ULTIMATE.start_main_~i~0#1| 9999)} [388] L707-6-->L707-7: Formula: (= |v_#memory_int_13| (store |v_#memory_int_14| |v_ULTIMATE.start_main_~#t_ids~0#1.base_3| (store (select |v_#memory_int_14| |v_ULTIMATE.start_main_~#t_ids~0#1.base_3|) (+ |v_ULTIMATE.start_main_~#t_ids~0#1.offset_3| (* |v_ULTIMATE.start_main_~i~0#1_5| 4)) |v_ULTIMATE.start_main_#t~pre9#1_3|))) InVars {#memory_int=|v_#memory_int_14|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t_ids~0#1.offset=|v_ULTIMATE.start_main_~#t_ids~0#1.offset_3|, ULTIMATE.start_main_~#t_ids~0#1.base=|v_ULTIMATE.start_main_~#t_ids~0#1.base_3|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_3|} OutVars{#memory_int=|v_#memory_int_13|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t_ids~0#1.offset=|v_ULTIMATE.start_main_~#t_ids~0#1.offset_3|, ULTIMATE.start_main_~#t_ids~0#1.base=|v_ULTIMATE.start_main_~#t_ids~0#1.base_3|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_3|} AuxVars[] AssignedVars[#memory_int] {24707#(< |ULTIMATE.start_main_~i~0#1| 9999)} is VALID [2022-02-20 20:41:06,383 INFO L290 TraceCheckUtils]: 40: Hoare triple {24707#(< |ULTIMATE.start_main_~i~0#1| 9999)} [397] L707-5-->L707-6: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {24707#(< |ULTIMATE.start_main_~i~0#1| 9999)} is VALID [2022-02-20 20:41:06,384 INFO L290 TraceCheckUtils]: 39: Hoare triple {24707#(< |ULTIMATE.start_main_~i~0#1| 9999)} [399] L707-4-->L707-5: Formula: (= |v_ULTIMATE.start_main_#t~pre9#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre9#1] {24707#(< |ULTIMATE.start_main_~i~0#1| 9999)} is VALID [2022-02-20 20:41:06,384 INFO L290 TraceCheckUtils]: 38: Hoare triple {24707#(< |ULTIMATE.start_main_~i~0#1| 9999)} [383] L707-13-->L707-4: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 10000) 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[] {24707#(< |ULTIMATE.start_main_~i~0#1| 9999)} is VALID [2022-02-20 20:41:06,384 INFO L290 TraceCheckUtils]: 37: Hoare triple {24482#true} [367] L707-1-->L707-13: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 0) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {24707#(< |ULTIMATE.start_main_~i~0#1| 9999)} is VALID [2022-02-20 20:41:06,384 INFO L290 TraceCheckUtils]: 36: Hoare triple {24482#true} [375] L707-->L707-1: Formula: (and (= (store |v_#length_6| |v_ULTIMATE.start_main_~#t_ids~0#1.base_2| 40000) |v_#length_5|) (= |v_#valid_6| (store |v_#valid_7| |v_ULTIMATE.start_main_~#t_ids~0#1.base_2| 1)) (= |v_ULTIMATE.start_main_~#t_ids~0#1.offset_2| 0) (not (= |v_ULTIMATE.start_main_~#t_ids~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t_ids~0#1.base_2|) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#t_ids~0#1.base_2|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_6|, #valid=|v_#valid_7|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, ULTIMATE.start_main_~#t_ids~0#1.offset=|v_ULTIMATE.start_main_~#t_ids~0#1.offset_2|, #length=|v_#length_5|, ULTIMATE.start_main_~#t_ids~0#1.base=|v_ULTIMATE.start_main_~#t_ids~0#1.base_2|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t_ids~0#1.base, #valid, ULTIMATE.start_main_~#t_ids~0#1.offset, #length] {24482#true} is VALID [2022-02-20 20:41:06,385 INFO L290 TraceCheckUtils]: 35: Hoare triple {24482#true} [319] L-1-7-->L707: Formula: true InVars {} OutVars{ULTIMATE.start_main_~i~1#1=|v_ULTIMATE.start_main_~i~1#1_1|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_1|, ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_1|, ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_1|, ULTIMATE.start_main_#t~mem14#1=|v_ULTIMATE.start_main_#t~mem14#1_1|, ULTIMATE.start_main_~#t_ids~0#1.base=|v_ULTIMATE.start_main_~#t_ids~0#1.base_1|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_1|, ULTIMATE.start_main_#t~post8#1=|v_ULTIMATE.start_main_#t~post8#1_1|, ULTIMATE.start_main_#t~post13#1=|v_ULTIMATE.start_main_#t~post13#1_1|, ULTIMATE.start_main_~#t_ids~0#1.offset=|v_ULTIMATE.start_main_~#t_ids~0#1.offset_1|, ULTIMATE.start_main_#t~nondet12#1=|v_ULTIMATE.start_main_#t~nondet12#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet11#1, ULTIMATE.start_main_#t~nondet10#1, ULTIMATE.start_main_#t~mem14#1, ULTIMATE.start_main_~#t_ids~0#1.base, ULTIMATE.start_main_#t~pre9#1, ULTIMATE.start_main_#t~post8#1, ULTIMATE.start_main_#t~post13#1, ULTIMATE.start_main_~#t_ids~0#1.offset, ULTIMATE.start_main_#t~nondet12#1] {24482#true} is VALID [2022-02-20 20:41:06,385 INFO L290 TraceCheckUtils]: 34: Hoare triple {24482#true} [409] 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] {24482#true} is VALID [2022-02-20 20:41:06,385 INFO L290 TraceCheckUtils]: 33: Hoare triple {24482#true} [320] L-1-5-->L-1-6: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {24482#true} is VALID [2022-02-20 20:41:06,385 INFO L290 TraceCheckUtils]: 32: Hoare triple {24482#true} [345] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {24482#true} is VALID [2022-02-20 20:41:06,385 INFO L290 TraceCheckUtils]: 31: Hoare triple {24482#true} [362] L699-6-->L-1-4: Formula: true InVars {} OutVars{ULTIMATE.start_ULTIMATE.init_#t~nondet15#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_ULTIMATE.init_#t~nondet15#1] {24482#true} is VALID [2022-02-20 20:41:06,385 INFO L290 TraceCheckUtils]: 30: Hoare triple {24482#true} [334] L699-5-->L699-6: Formula: (= v_~mutex2~0.__align_1 |v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_2|) InVars {ULTIMATE.start_ULTIMATE.init_#t~nondet15#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_2|} OutVars{~mutex2~0.__align=v_~mutex2~0.__align_1, ULTIMATE.start_ULTIMATE.init_#t~nondet15#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_2|} AuxVars[] AssignedVars[~mutex2~0.__align] {24482#true} is VALID [2022-02-20 20:41:06,386 INFO L290 TraceCheckUtils]: 29: Hoare triple {24482#true} [331] L699-4-->L699-5: Formula: (= ((as const (Array Int Int)) 0) v_~mutex2~0.__size_1) InVars {} OutVars{~mutex2~0.__size=v_~mutex2~0.__size_1} AuxVars[] AssignedVars[~mutex2~0.__size] {24482#true} is VALID [2022-02-20 20:41:06,386 INFO L290 TraceCheckUtils]: 28: Hoare triple {24482#true} [321] L699-3-->L699-4: Formula: (= v_~mutex2~0.__data.__nusers_1 0) InVars {} OutVars{~mutex2~0.__data.__nusers=v_~mutex2~0.__data.__nusers_1} AuxVars[] AssignedVars[~mutex2~0.__data.__nusers] {24482#true} is VALID [2022-02-20 20:41:06,386 INFO L290 TraceCheckUtils]: 27: Hoare triple {24482#true} [316] L699-2-->L699-3: Formula: (= v_~mutex2~0.__data.__kind_1 0) InVars {} OutVars{~mutex2~0.__data.__kind=v_~mutex2~0.__data.__kind_1} AuxVars[] AssignedVars[~mutex2~0.__data.__kind] {24482#true} is VALID [2022-02-20 20:41:06,386 INFO L290 TraceCheckUtils]: 26: Hoare triple {24482#true} [386] L699-1-->L699-2: Formula: (= v_~mutex2~0.__data.__owner_1 0) InVars {} OutVars{~mutex2~0.__data.__owner=v_~mutex2~0.__data.__owner_1} AuxVars[] AssignedVars[~mutex2~0.__data.__owner] {24482#true} is VALID [2022-02-20 20:41:06,386 INFO L290 TraceCheckUtils]: 25: Hoare triple {24482#true} [343] L699-->L699-1: Formula: (= v_~mutex2~0.__data.__count_1 0) InVars {} OutVars{~mutex2~0.__data.__count=v_~mutex2~0.__data.__count_1} AuxVars[] AssignedVars[~mutex2~0.__data.__count] {24482#true} is VALID [2022-02-20 20:41:06,386 INFO L290 TraceCheckUtils]: 24: Hoare triple {24482#true} [322] L698-7-->L699: Formula: (= v_~mutex2~0.__data.__lock_1 0) InVars {} OutVars{~mutex2~0.__data.__lock=v_~mutex2~0.__data.__lock_1} AuxVars[] AssignedVars[~mutex2~0.__data.__lock] {24482#true} is VALID [2022-02-20 20:41:06,386 INFO L290 TraceCheckUtils]: 23: Hoare triple {24482#true} [412] L698-6-->L698-7: Formula: (= (select (select |v_#memory_int_12| |v_~#mutex1~0.base_6|) (+ 16 |v_~#mutex1~0.offset_6|)) 0) InVars {#memory_int=|v_#memory_int_12|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_6|, ~#mutex1~0.base=|v_~#mutex1~0.base_6|} OutVars{#memory_int=|v_#memory_int_12|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_6|, ~#mutex1~0.base=|v_~#mutex1~0.base_6|} AuxVars[] AssignedVars[] {24482#true} is VALID [2022-02-20 20:41:06,387 INFO L290 TraceCheckUtils]: 22: Hoare triple {24482#true} [415] L698-5-->L698-6: Formula: (= (select (select |v_#memory_int_11| |v_~#mutex1~0.base_5|) (+ |v_~#mutex1~0.offset_5| 12)) 0) InVars {#memory_int=|v_#memory_int_11|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_5|, ~#mutex1~0.base=|v_~#mutex1~0.base_5|} OutVars{#memory_int=|v_#memory_int_11|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_5|, ~#mutex1~0.base=|v_~#mutex1~0.base_5|} AuxVars[] AssignedVars[] {24482#true} is VALID [2022-02-20 20:41:06,387 INFO L290 TraceCheckUtils]: 21: Hoare triple {24482#true} [391] L698-4-->L698-5: Formula: (= (select (select |v_#memory_int_10| |v_~#mutex1~0.base_4|) (+ |v_~#mutex1~0.offset_4| 8)) 0) InVars {#memory_int=|v_#memory_int_10|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_4|, ~#mutex1~0.base=|v_~#mutex1~0.base_4|} OutVars{#memory_int=|v_#memory_int_10|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_4|, ~#mutex1~0.base=|v_~#mutex1~0.base_4|} AuxVars[] AssignedVars[] {24482#true} is VALID [2022-02-20 20:41:06,387 INFO L290 TraceCheckUtils]: 20: Hoare triple {24482#true} [328] L698-3-->L698-4: Formula: (= (select (select |v_#memory_int_9| |v_~#mutex1~0.base_3|) (+ |v_~#mutex1~0.offset_3| 4)) 0) InVars {#memory_int=|v_#memory_int_9|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_3|, ~#mutex1~0.base=|v_~#mutex1~0.base_3|} OutVars{#memory_int=|v_#memory_int_9|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_3|, ~#mutex1~0.base=|v_~#mutex1~0.base_3|} AuxVars[] AssignedVars[] {24482#true} is VALID [2022-02-20 20:41:06,387 INFO L290 TraceCheckUtils]: 19: Hoare triple {24482#true} [411] L698-2-->L698-3: Formula: (= (select (select |v_#memory_int_8| |v_~#mutex1~0.base_2|) |v_~#mutex1~0.offset_2|) 0) InVars {#memory_int=|v_#memory_int_8|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_2|, ~#mutex1~0.base=|v_~#mutex1~0.base_2|} OutVars{#memory_int=|v_#memory_int_8|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_2|, ~#mutex1~0.base=|v_~#mutex1~0.base_2|} AuxVars[] AssignedVars[] {24482#true} is VALID [2022-02-20 20:41:06,387 INFO L290 TraceCheckUtils]: 18: Hoare triple {24482#true} [390] L698-1-->L698-2: Formula: (and (= (select |v_#length_4| 4) 24) (= (select |v_#valid_5| 4) 1)) InVars {#length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#length=|v_#length_4|, #valid=|v_#valid_5|} AuxVars[] AssignedVars[] {24482#true} is VALID [2022-02-20 20:41:06,387 INFO L290 TraceCheckUtils]: 17: Hoare triple {24482#true} [392] L698-->L698-1: Formula: (and (= |v_~#mutex1~0.offset_1| 0) (= |v_~#mutex1~0.base_1| 4)) InVars {} OutVars{~#mutex1~0.offset=|v_~#mutex1~0.offset_1|, ~#mutex1~0.base=|v_~#mutex1~0.base_1|} AuxVars[] AssignedVars[~#mutex1~0.offset, ~#mutex1~0.base] {24482#true} is VALID [2022-02-20 20:41:06,388 INFO L290 TraceCheckUtils]: 16: Hoare triple {24482#true} [361] L696-6-->L698: Formula: (= v_~global~0_1 0) InVars {} OutVars{~global~0=v_~global~0_1} AuxVars[] AssignedVars[~global~0] {24482#true} is VALID [2022-02-20 20:41:06,388 INFO L290 TraceCheckUtils]: 15: Hoare triple {24482#true} [352] L696-5-->L696-6: Formula: (= (select (select |v_#memory_int_7| |v_~#__global_lock~0.base_6|) (+ 16 |v_~#__global_lock~0.offset_6|)) 0) InVars {#memory_int=|v_#memory_int_7|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_6|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_6|} OutVars{#memory_int=|v_#memory_int_7|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_6|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_6|} AuxVars[] AssignedVars[] {24482#true} is VALID [2022-02-20 20:41:06,388 INFO L290 TraceCheckUtils]: 14: Hoare triple {24482#true} [410] L696-4-->L696-5: Formula: (= (select (select |v_#memory_int_6| |v_~#__global_lock~0.base_5|) (+ |v_~#__global_lock~0.offset_5| 12)) 0) InVars {#memory_int=|v_#memory_int_6|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_5|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_5|} OutVars{#memory_int=|v_#memory_int_6|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_5|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_5|} AuxVars[] AssignedVars[] {24482#true} is VALID [2022-02-20 20:41:06,388 INFO L290 TraceCheckUtils]: 13: Hoare triple {24482#true} [421] L696-3-->L696-4: Formula: (= (select (select |v_#memory_int_5| |v_~#__global_lock~0.base_4|) (+ |v_~#__global_lock~0.offset_4| 8)) 0) InVars {#memory_int=|v_#memory_int_5|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_4|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_4|} OutVars{#memory_int=|v_#memory_int_5|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_4|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_4|} AuxVars[] AssignedVars[] {24482#true} is VALID [2022-02-20 20:41:06,388 INFO L290 TraceCheckUtils]: 12: Hoare triple {24482#true} [323] L696-2-->L696-3: Formula: (= (select (select |v_#memory_int_4| |v_~#__global_lock~0.base_3|) (+ |v_~#__global_lock~0.offset_3| 4)) 0) InVars {#memory_int=|v_#memory_int_4|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_3|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_3|} OutVars{#memory_int=|v_#memory_int_4|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_3|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_3|} AuxVars[] AssignedVars[] {24482#true} is VALID [2022-02-20 20:41:06,388 INFO L290 TraceCheckUtils]: 11: Hoare triple {24482#true} [402] L696-1-->L696-2: Formula: (= (select (select |v_#memory_int_3| |v_~#__global_lock~0.base_2|) |v_~#__global_lock~0.offset_2|) 0) InVars {#memory_int=|v_#memory_int_3|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_2|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_2|} OutVars{#memory_int=|v_#memory_int_3|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_2|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_2|} AuxVars[] AssignedVars[] {24482#true} is VALID [2022-02-20 20:41:06,389 INFO L290 TraceCheckUtils]: 10: Hoare triple {24482#true} [348] L696-->L696-1: Formula: (and (= (select |v_#length_3| 3) 24) (= (select |v_#valid_4| 3) 1)) InVars {#length=|v_#length_3|, #valid=|v_#valid_4|} OutVars{#length=|v_#length_3|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[] {24482#true} is VALID [2022-02-20 20:41:06,389 INFO L290 TraceCheckUtils]: 9: Hoare triple {24482#true} [363] L690-4-->L696: Formula: (and (= 3 |v_~#__global_lock~0.base_1|) (= |v_~#__global_lock~0.offset_1| 0)) InVars {} OutVars{~#__global_lock~0.base=|v_~#__global_lock~0.base_1|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_1|} AuxVars[] AssignedVars[~#__global_lock~0.offset, ~#__global_lock~0.base] {24482#true} is VALID [2022-02-20 20:41:06,389 INFO L290 TraceCheckUtils]: 8: Hoare triple {24482#true} [400] L690-3-->L690-4: Formula: (and (= (select |v_#length_2| 2) 13) (= (select |v_#valid_3| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {24482#true} is VALID [2022-02-20 20:41:06,389 INFO L290 TraceCheckUtils]: 7: Hoare triple {24482#true} [327] L690-2-->L690-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[] {24482#true} is VALID [2022-02-20 20:41:06,389 INFO L290 TraceCheckUtils]: 6: Hoare triple {24482#true} [313] L690-1-->L690-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[] {24482#true} is VALID [2022-02-20 20:41:06,389 INFO L290 TraceCheckUtils]: 5: Hoare triple {24482#true} [357] L690-->L690-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[] {24482#true} is VALID [2022-02-20 20:41:06,389 INFO L290 TraceCheckUtils]: 4: Hoare triple {24482#true} [420] L-1-3-->L690: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {24482#true} is VALID [2022-02-20 20:41:06,390 INFO L290 TraceCheckUtils]: 3: Hoare triple {24482#true} [418] L-1-2-->L-1-3: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] {24482#true} is VALID [2022-02-20 20:41:06,390 INFO L290 TraceCheckUtils]: 2: Hoare triple {24482#true} [417] L-1-1-->L-1-2: 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] {24482#true} is VALID [2022-02-20 20:41:06,390 INFO L290 TraceCheckUtils]: 1: Hoare triple {24482#true} [340] L-1-->L-1-1: Formula: true InVars {} OutVars{ULTIMATE.start_ULTIMATE.init_#t~nondet15#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_ULTIMATE.init_#t~nondet15#1] {24482#true} is VALID [2022-02-20 20:41:06,390 INFO L290 TraceCheckUtils]: 0: Hoare triple {24482#true} [414] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {24482#true} is VALID [2022-02-20 20:41:06,391 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 20:41:06,391 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1328742489] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 20:41:06,391 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 20:41:06,391 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 10 [2022-02-20 20:41:06,392 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1635672733] [2022-02-20 20:41:06,392 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 20:41:06,393 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 8.1) internal successors, (81), 10 states have internal predecessors, (81), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 59 [2022-02-20 20:41:06,393 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 20:41:06,394 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 8.1) internal successors, (81), 10 states have internal predecessors, (81), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:41:06,439 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 20:41:06,440 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-02-20 20:41:06,440 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 20:41:06,441 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-02-20 20:41:06,443 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=60, Unknown=0, NotChecked=0, Total=90 [2022-02-20 20:41:06,444 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 114 out of 144 [2022-02-20 20:41:06,445 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 114 places, 106 transitions, 232 flow. Second operand has 10 states, 10 states have (on average 116.3) internal successors, (1163), 10 states have internal predecessors, (1163), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:41:06,446 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 20:41:06,446 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 114 of 144 [2022-02-20 20:41:06,446 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 20:41:06,555 INFO L129 PetriNetUnfolder]: 0/107 cut-off events. [2022-02-20 20:41:06,556 INFO L130 PetriNetUnfolder]: For 4/4 co-relation queries the response was YES. [2022-02-20 20:41:06,556 INFO L84 FinitePrefix]: Finished finitePrefix Result has 140 conditions, 107 events. 0/107 cut-off events. For 4/4 co-relation queries the response was YES. Maximal size of possible extension queue 3. Compared 83 event pairs, 0 based on Foata normal form. 2/109 useless extension candidates. Maximal degree in co-relation 0. Up to 4 conditions per place. [2022-02-20 20:41:06,556 INFO L132 encePairwiseOnDemand]: 139/144 looper letters, 9 selfloop transitions, 7 changer transitions 0/101 dead transitions. [2022-02-20 20:41:06,556 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 111 places, 101 transitions, 252 flow [2022-02-20 20:41:06,556 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 20:41:06,556 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2022-02-20 20:41:06,564 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 1044 transitions. [2022-02-20 20:41:06,565 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.8055555555555556 [2022-02-20 20:41:06,565 INFO L72 ComplementDD]: Start complementDD. Operand 9 states and 1044 transitions. [2022-02-20 20:41:06,565 INFO L73 IsDeterministic]: Start isDeterministic. Operand 9 states and 1044 transitions. [2022-02-20 20:41:06,565 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 20:41:06,565 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 9 states and 1044 transitions. [2022-02-20 20:41:06,567 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 10 states, 9 states have (on average 116.0) internal successors, (1044), 9 states have internal predecessors, (1044), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:41:06,568 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 10 states, 10 states have (on average 144.0) internal successors, (1440), 10 states have internal predecessors, (1440), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:41:06,569 INFO L81 ComplementDD]: Finished complementDD. Result has 10 states, 10 states have (on average 144.0) internal successors, (1440), 10 states have internal predecessors, (1440), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:41:06,569 INFO L186 Difference]: Start difference. First operand has 114 places, 106 transitions, 232 flow. Second operand 9 states and 1044 transitions. [2022-02-20 20:41:06,569 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 111 places, 101 transitions, 252 flow [2022-02-20 20:41:06,570 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 110 places, 101 transitions, 250 flow, removed 0 selfloop flow, removed 1 redundant places. [2022-02-20 20:41:06,571 INFO L242 Difference]: Finished difference. Result has 110 places, 97 transitions, 224 flow [2022-02-20 20:41:06,571 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=144, PETRI_DIFFERENCE_MINUEND_FLOW=206, PETRI_DIFFERENCE_MINUEND_PLACES=102, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=95, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=5, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=90, PETRI_DIFFERENCE_SUBTRAHEND_STATES=9, PETRI_FLOW=224, PETRI_PLACES=110, PETRI_TRANSITIONS=97} [2022-02-20 20:41:06,572 INFO L334 CegarLoopForPetriNet]: 130 programPoint places, -20 predicate places. [2022-02-20 20:41:06,573 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 110 places, 97 transitions, 224 flow [2022-02-20 20:41:06,649 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 6092 states, 6091 states have (on average 2.7770481037596455) internal successors, (16915), 6091 states have internal predecessors, (16915), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:41:06,660 INFO L78 Accepts]: Start accepts. Automaton has has 6092 states, 6091 states have (on average 2.7770481037596455) internal successors, (16915), 6091 states have internal predecessors, (16915), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 59 [2022-02-20 20:41:06,660 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 20:41:06,660 INFO L470 AbstractCegarLoop]: Abstraction has has 110 places, 97 transitions, 224 flow [2022-02-20 20:41:06,661 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 116.3) internal successors, (1163), 10 states have internal predecessors, (1163), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:41:06,661 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:41:06,661 INFO L254 CegarLoopForPetriNet]: trace 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 20:41:06,680 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-02-20 20:41:06,875 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 20:41:06,875 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0INUSE_VIOLATION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 20:41:06,875 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:41:06,875 INFO L85 PathProgramCache]: Analyzing trace with hash 1971921984, now seen corresponding path program 1 times [2022-02-20 20:41:06,876 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:41:06,876 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1131580651] [2022-02-20 20:41:06,876 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:41:06,876 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:41:06,900 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 20:41:06,901 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-02-20 20:41:06,916 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 20:41:06,928 INFO L138 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-02-20 20:41:06,928 INFO L628 BasicCegarLoop]: Counterexample is feasible [2022-02-20 20:41:06,928 INFO L764 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0INUSE_VIOLATION (1 of 2 remaining) [2022-02-20 20:41:06,928 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 2 remaining) [2022-02-20 20:41:06,928 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2022-02-20 20:41:06,929 INFO L732 BasicCegarLoop]: Path program histogram: [1, 1, 1, 1] [2022-02-20 20:41:06,929 WARN L235 ceAbstractionStarter]: 2 thread instances were not sufficient, I will increase this number and restart the analysis [2022-02-20 20:41:06,929 INFO L534 ceAbstractionStarter]: Constructing petrified ICFG for 3 thread instances. [2022-02-20 20:41:06,947 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of3ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,947 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of3ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,947 WARN L322 ript$VariableManager]: TermVariabe t_funThread2of3ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,947 WARN L322 ript$VariableManager]: TermVariabe t_funThread2of3ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,947 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of3ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,947 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of3ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,947 WARN L322 ript$VariableManager]: TermVariabe t_funThread2of3ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,947 WARN L322 ript$VariableManager]: TermVariabe t_funThread2of3ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,948 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of3ForFork0_#t~nondet3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,948 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of3ForFork0_#t~nondet3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,948 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of3ForFork0_#t~nondet3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,948 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of3ForFork0_#t~nondet3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,948 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of3ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,948 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of3ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,949 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of3ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,949 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of3ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,949 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of3ForFork0_#t~nondet6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,949 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of3ForFork0_#t~nondet6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,949 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of3ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,949 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of3ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,949 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of3ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,950 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of3ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,950 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of3ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,950 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of3ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,950 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of3ForFork0_#t~nondet6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,950 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of3ForFork0_#t~nondet6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,950 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of3ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,950 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of3ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,951 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of3ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,951 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of3ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,951 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of3ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,951 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of3ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,951 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of3ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,951 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of3ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,952 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of3ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,952 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of3ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,952 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of3ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,952 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of3ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,952 WARN L322 ript$VariableManager]: TermVariabe t_funThread3of3ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,952 WARN L322 ript$VariableManager]: TermVariabe t_funThread3of3ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,952 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of3ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,953 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of3ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,953 WARN L322 ript$VariableManager]: TermVariabe t_funThread3of3ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,953 WARN L322 ript$VariableManager]: TermVariabe t_funThread3of3ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,953 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of3ForFork0_#t~nondet3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,953 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of3ForFork0_#t~nondet3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,953 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of3ForFork0_#t~nondet3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,953 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of3ForFork0_#t~nondet3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,954 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of3ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,954 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of3ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,954 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of3ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,954 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of3ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,954 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of3ForFork0_#t~nondet6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,954 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of3ForFork0_#t~nondet6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,955 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of3ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,955 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of3ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,955 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of3ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,955 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of3ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,955 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of3ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,955 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of3ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,955 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of3ForFork0_#t~nondet6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,955 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of3ForFork0_#t~nondet6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,958 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of3ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,958 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of3ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,959 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of3ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,959 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of3ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,959 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of3ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,959 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of3ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,959 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of3ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,959 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of3ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,960 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of3ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,960 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of3ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,960 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of3ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,960 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of3ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,960 WARN L322 ript$VariableManager]: TermVariabe t_funThread1of3ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,960 WARN L322 ript$VariableManager]: TermVariabe t_funThread1of3ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,961 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of3ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,961 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of3ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,961 WARN L322 ript$VariableManager]: TermVariabe t_funThread1of3ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,961 WARN L322 ript$VariableManager]: TermVariabe t_funThread1of3ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,961 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of3ForFork0_#t~nondet3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,961 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of3ForFork0_#t~nondet3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,961 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of3ForFork0_#t~nondet3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,961 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of3ForFork0_#t~nondet3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,962 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of3ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,962 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of3ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,962 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of3ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,962 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of3ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,962 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of3ForFork0_#t~nondet6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,963 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of3ForFork0_#t~nondet6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,963 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of3ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,963 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of3ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,963 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of3ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,963 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of3ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,963 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of3ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,963 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of3ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,964 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of3ForFork0_#t~nondet6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,964 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of3ForFork0_#t~nondet6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,964 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of3ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,964 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of3ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,964 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of3ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,964 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of3ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,964 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of3ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,964 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of3ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,965 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of3ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,965 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of3ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,965 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of3ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,965 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of3ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,966 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of3ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,966 WARN L322 ript$VariableManager]: TermVariabe t_funThread1of3ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,966 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of3ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,966 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of3ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,966 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of3ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,966 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of3ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,967 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of3ForFork0_#t~nondet3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,967 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of3ForFork0_#t~nondet6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,967 WARN L322 ript$VariableManager]: TermVariabe t_funThread1of3ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,968 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of3ForFork0_#t~nondet3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,968 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of3ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,968 WARN L322 ript$VariableManager]: TermVariabe t_funThread2of3ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,968 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of3ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,968 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of3ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,968 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of3ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,968 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of3ForFork0_#t~nondet6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,968 WARN L322 ript$VariableManager]: TermVariabe t_funThread2of3ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,969 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of3ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,969 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of3ForFork0_#t~nondet6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,970 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of3ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,970 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of3ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,970 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of3ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,970 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of3ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,970 WARN L322 ript$VariableManager]: TermVariabe t_funThread3of3ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,970 WARN L322 ript$VariableManager]: TermVariabe t_funThread3of3ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,970 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of3ForFork0_#t~nondet3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,971 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of3ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:06,976 INFO L148 ThreadInstanceAdder]: Constructed 3 joinOtherThreadTransitions. [2022-02-20 20:41:06,977 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 20:41:06,979 INFO L339 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopsAndPotentialCycles, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mLoopAccelerationTechnique=FAST_UPR [2022-02-20 20:41:06,979 INFO L340 AbstractCegarLoop]: Starting to check reachability of 2 error locations. [2022-02-20 20:41:06,983 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 155 places, 174 transitions, 378 flow [2022-02-20 20:41:07,009 INFO L129 PetriNetUnfolder]: 50/365 cut-off events. [2022-02-20 20:41:07,009 INFO L130 PetriNetUnfolder]: For 19/19 co-relation queries the response was YES. [2022-02-20 20:41:07,012 INFO L84 FinitePrefix]: Finished finitePrefix Result has 393 conditions, 365 events. 50/365 cut-off events. For 19/19 co-relation queries the response was YES. Maximal size of possible extension queue 12. Compared 1163 event pairs, 1 based on Foata normal form. 0/307 useless extension candidates. Maximal degree in co-relation 249. Up to 16 conditions per place. [2022-02-20 20:41:07,012 INFO L82 GeneralOperation]: Start removeDead. Operand has 155 places, 174 transitions, 378 flow [2022-02-20 20:41:07,014 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 155 places, 174 transitions, 378 flow [2022-02-20 20:41:07,018 INFO L129 PetriNetUnfolder]: 6/90 cut-off events. [2022-02-20 20:41:07,018 INFO L130 PetriNetUnfolder]: For 0/0 co-relation queries the response was YES. [2022-02-20 20:41:07,018 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:41:07,018 INFO L254 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 20:41:07,019 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 20:41:07,019 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:41:07,019 INFO L85 PathProgramCache]: Analyzing trace with hash 2095383893, now seen corresponding path program 1 times [2022-02-20 20:41:07,019 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:41:07,020 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [7257932] [2022-02-20 20:41:07,020 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:41:07,020 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:41:07,026 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:41:07,040 INFO L290 TraceCheckUtils]: 0: Hoare triple {158#true} [588] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {158#true} is VALID [2022-02-20 20:41:07,040 INFO L290 TraceCheckUtils]: 1: Hoare triple {158#true} [514] L-1-->L-1-1: Formula: true InVars {} OutVars{ULTIMATE.start_ULTIMATE.init_#t~nondet15#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_ULTIMATE.init_#t~nondet15#1] {158#true} is VALID [2022-02-20 20:41:07,040 INFO L290 TraceCheckUtils]: 2: Hoare triple {158#true} [591] L-1-1-->L-1-2: 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] {158#true} is VALID [2022-02-20 20:41:07,041 INFO L290 TraceCheckUtils]: 3: Hoare triple {158#true} [592] L-1-2-->L-1-3: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] {158#true} is VALID [2022-02-20 20:41:07,041 INFO L290 TraceCheckUtils]: 4: Hoare triple {158#true} [594] L-1-3-->L690: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {158#true} is VALID [2022-02-20 20:41:07,041 INFO L290 TraceCheckUtils]: 5: Hoare triple {158#true} [531] L690-->L690-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[] {158#true} is VALID [2022-02-20 20:41:07,041 INFO L290 TraceCheckUtils]: 6: Hoare triple {158#true} [487] L690-1-->L690-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[] {158#true} is VALID [2022-02-20 20:41:07,041 INFO L290 TraceCheckUtils]: 7: Hoare triple {158#true} [501] L690-2-->L690-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[] {158#true} is VALID [2022-02-20 20:41:07,041 INFO L290 TraceCheckUtils]: 8: Hoare triple {158#true} [574] L690-3-->L690-4: Formula: (and (= (select |v_#length_2| 2) 13) (= (select |v_#valid_3| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {158#true} is VALID [2022-02-20 20:41:07,042 INFO L290 TraceCheckUtils]: 9: Hoare triple {158#true} [537] L690-4-->L696: Formula: (and (= 3 |v_~#__global_lock~0.base_1|) (= |v_~#__global_lock~0.offset_1| 0)) InVars {} OutVars{~#__global_lock~0.base=|v_~#__global_lock~0.base_1|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_1|} AuxVars[] AssignedVars[~#__global_lock~0.offset, ~#__global_lock~0.base] {158#true} is VALID [2022-02-20 20:41:07,042 INFO L290 TraceCheckUtils]: 10: Hoare triple {158#true} [522] L696-->L696-1: Formula: (and (= (select |v_#length_3| 3) 24) (= (select |v_#valid_4| 3) 1)) InVars {#length=|v_#length_3|, #valid=|v_#valid_4|} OutVars{#length=|v_#length_3|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[] {158#true} is VALID [2022-02-20 20:41:07,042 INFO L290 TraceCheckUtils]: 11: Hoare triple {158#true} [576] L696-1-->L696-2: Formula: (= (select (select |v_#memory_int_3| |v_~#__global_lock~0.base_2|) |v_~#__global_lock~0.offset_2|) 0) InVars {#memory_int=|v_#memory_int_3|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_2|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_2|} OutVars{#memory_int=|v_#memory_int_3|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_2|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_2|} AuxVars[] AssignedVars[] {158#true} is VALID [2022-02-20 20:41:07,042 INFO L290 TraceCheckUtils]: 12: Hoare triple {158#true} [497] L696-2-->L696-3: Formula: (= (select (select |v_#memory_int_4| |v_~#__global_lock~0.base_3|) (+ |v_~#__global_lock~0.offset_3| 4)) 0) InVars {#memory_int=|v_#memory_int_4|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_3|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_3|} OutVars{#memory_int=|v_#memory_int_4|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_3|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_3|} AuxVars[] AssignedVars[] {158#true} is VALID [2022-02-20 20:41:07,042 INFO L290 TraceCheckUtils]: 13: Hoare triple {158#true} [595] L696-3-->L696-4: Formula: (= (select (select |v_#memory_int_5| |v_~#__global_lock~0.base_4|) (+ |v_~#__global_lock~0.offset_4| 8)) 0) InVars {#memory_int=|v_#memory_int_5|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_4|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_4|} OutVars{#memory_int=|v_#memory_int_5|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_4|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_4|} AuxVars[] AssignedVars[] {158#true} is VALID [2022-02-20 20:41:07,042 INFO L290 TraceCheckUtils]: 14: Hoare triple {158#true} [584] L696-4-->L696-5: Formula: (= (select (select |v_#memory_int_6| |v_~#__global_lock~0.base_5|) (+ |v_~#__global_lock~0.offset_5| 12)) 0) InVars {#memory_int=|v_#memory_int_6|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_5|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_5|} OutVars{#memory_int=|v_#memory_int_6|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_5|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_5|} AuxVars[] AssignedVars[] {158#true} is VALID [2022-02-20 20:41:07,042 INFO L290 TraceCheckUtils]: 15: Hoare triple {158#true} [526] L696-5-->L696-6: Formula: (= (select (select |v_#memory_int_7| |v_~#__global_lock~0.base_6|) (+ 16 |v_~#__global_lock~0.offset_6|)) 0) InVars {#memory_int=|v_#memory_int_7|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_6|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_6|} OutVars{#memory_int=|v_#memory_int_7|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_6|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_6|} AuxVars[] AssignedVars[] {158#true} is VALID [2022-02-20 20:41:07,043 INFO L290 TraceCheckUtils]: 16: Hoare triple {158#true} [535] L696-6-->L698: Formula: (= v_~global~0_1 0) InVars {} OutVars{~global~0=v_~global~0_1} AuxVars[] AssignedVars[~global~0] {158#true} is VALID [2022-02-20 20:41:07,043 INFO L290 TraceCheckUtils]: 17: Hoare triple {158#true} [566] L698-->L698-1: Formula: (and (= |v_~#mutex1~0.offset_1| 0) (= |v_~#mutex1~0.base_1| 4)) InVars {} OutVars{~#mutex1~0.offset=|v_~#mutex1~0.offset_1|, ~#mutex1~0.base=|v_~#mutex1~0.base_1|} AuxVars[] AssignedVars[~#mutex1~0.offset, ~#mutex1~0.base] {158#true} is VALID [2022-02-20 20:41:07,043 INFO L290 TraceCheckUtils]: 18: Hoare triple {158#true} [564] L698-1-->L698-2: Formula: (and (= (select |v_#length_4| 4) 24) (= (select |v_#valid_5| 4) 1)) InVars {#length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#length=|v_#length_4|, #valid=|v_#valid_5|} AuxVars[] AssignedVars[] {158#true} is VALID [2022-02-20 20:41:07,043 INFO L290 TraceCheckUtils]: 19: Hoare triple {158#true} [585] L698-2-->L698-3: Formula: (= (select (select |v_#memory_int_8| |v_~#mutex1~0.base_2|) |v_~#mutex1~0.offset_2|) 0) InVars {#memory_int=|v_#memory_int_8|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_2|, ~#mutex1~0.base=|v_~#mutex1~0.base_2|} OutVars{#memory_int=|v_#memory_int_8|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_2|, ~#mutex1~0.base=|v_~#mutex1~0.base_2|} AuxVars[] AssignedVars[] {158#true} is VALID [2022-02-20 20:41:07,043 INFO L290 TraceCheckUtils]: 20: Hoare triple {158#true} [502] L698-3-->L698-4: Formula: (= (select (select |v_#memory_int_9| |v_~#mutex1~0.base_3|) (+ |v_~#mutex1~0.offset_3| 4)) 0) InVars {#memory_int=|v_#memory_int_9|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_3|, ~#mutex1~0.base=|v_~#mutex1~0.base_3|} OutVars{#memory_int=|v_#memory_int_9|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_3|, ~#mutex1~0.base=|v_~#mutex1~0.base_3|} AuxVars[] AssignedVars[] {158#true} is VALID [2022-02-20 20:41:07,043 INFO L290 TraceCheckUtils]: 21: Hoare triple {158#true} [565] L698-4-->L698-5: Formula: (= (select (select |v_#memory_int_10| |v_~#mutex1~0.base_4|) (+ |v_~#mutex1~0.offset_4| 8)) 0) InVars {#memory_int=|v_#memory_int_10|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_4|, ~#mutex1~0.base=|v_~#mutex1~0.base_4|} OutVars{#memory_int=|v_#memory_int_10|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_4|, ~#mutex1~0.base=|v_~#mutex1~0.base_4|} AuxVars[] AssignedVars[] {158#true} is VALID [2022-02-20 20:41:07,044 INFO L290 TraceCheckUtils]: 22: Hoare triple {158#true} [589] L698-5-->L698-6: Formula: (= (select (select |v_#memory_int_11| |v_~#mutex1~0.base_5|) (+ |v_~#mutex1~0.offset_5| 12)) 0) InVars {#memory_int=|v_#memory_int_11|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_5|, ~#mutex1~0.base=|v_~#mutex1~0.base_5|} OutVars{#memory_int=|v_#memory_int_11|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_5|, ~#mutex1~0.base=|v_~#mutex1~0.base_5|} AuxVars[] AssignedVars[] {158#true} is VALID [2022-02-20 20:41:07,044 INFO L290 TraceCheckUtils]: 23: Hoare triple {158#true} [586] L698-6-->L698-7: Formula: (= (select (select |v_#memory_int_12| |v_~#mutex1~0.base_6|) (+ 16 |v_~#mutex1~0.offset_6|)) 0) InVars {#memory_int=|v_#memory_int_12|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_6|, ~#mutex1~0.base=|v_~#mutex1~0.base_6|} OutVars{#memory_int=|v_#memory_int_12|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_6|, ~#mutex1~0.base=|v_~#mutex1~0.base_6|} AuxVars[] AssignedVars[] {158#true} is VALID [2022-02-20 20:41:07,044 INFO L290 TraceCheckUtils]: 24: Hoare triple {158#true} [496] L698-7-->L699: Formula: (= v_~mutex2~0.__data.__lock_1 0) InVars {} OutVars{~mutex2~0.__data.__lock=v_~mutex2~0.__data.__lock_1} AuxVars[] AssignedVars[~mutex2~0.__data.__lock] {158#true} is VALID [2022-02-20 20:41:07,044 INFO L290 TraceCheckUtils]: 25: Hoare triple {158#true} [517] L699-->L699-1: Formula: (= v_~mutex2~0.__data.__count_1 0) InVars {} OutVars{~mutex2~0.__data.__count=v_~mutex2~0.__data.__count_1} AuxVars[] AssignedVars[~mutex2~0.__data.__count] {158#true} is VALID [2022-02-20 20:41:07,044 INFO L290 TraceCheckUtils]: 26: Hoare triple {158#true} [560] L699-1-->L699-2: Formula: (= v_~mutex2~0.__data.__owner_1 0) InVars {} OutVars{~mutex2~0.__data.__owner=v_~mutex2~0.__data.__owner_1} AuxVars[] AssignedVars[~mutex2~0.__data.__owner] {158#true} is VALID [2022-02-20 20:41:07,044 INFO L290 TraceCheckUtils]: 27: Hoare triple {158#true} [490] L699-2-->L699-3: Formula: (= v_~mutex2~0.__data.__kind_1 0) InVars {} OutVars{~mutex2~0.__data.__kind=v_~mutex2~0.__data.__kind_1} AuxVars[] AssignedVars[~mutex2~0.__data.__kind] {158#true} is VALID [2022-02-20 20:41:07,044 INFO L290 TraceCheckUtils]: 28: Hoare triple {158#true} [495] L699-3-->L699-4: Formula: (= v_~mutex2~0.__data.__nusers_1 0) InVars {} OutVars{~mutex2~0.__data.__nusers=v_~mutex2~0.__data.__nusers_1} AuxVars[] AssignedVars[~mutex2~0.__data.__nusers] {158#true} is VALID [2022-02-20 20:41:07,045 INFO L290 TraceCheckUtils]: 29: Hoare triple {158#true} [505] L699-4-->L699-5: Formula: (= ((as const (Array Int Int)) 0) v_~mutex2~0.__size_1) InVars {} OutVars{~mutex2~0.__size=v_~mutex2~0.__size_1} AuxVars[] AssignedVars[~mutex2~0.__size] {158#true} is VALID [2022-02-20 20:41:07,045 INFO L290 TraceCheckUtils]: 30: Hoare triple {158#true} [508] L699-5-->L699-6: Formula: (= v_~mutex2~0.__align_1 |v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_2|) InVars {ULTIMATE.start_ULTIMATE.init_#t~nondet15#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_2|} OutVars{~mutex2~0.__align=v_~mutex2~0.__align_1, ULTIMATE.start_ULTIMATE.init_#t~nondet15#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_2|} AuxVars[] AssignedVars[~mutex2~0.__align] {158#true} is VALID [2022-02-20 20:41:07,045 INFO L290 TraceCheckUtils]: 31: Hoare triple {158#true} [536] L699-6-->L-1-4: Formula: true InVars {} OutVars{ULTIMATE.start_ULTIMATE.init_#t~nondet15#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_ULTIMATE.init_#t~nondet15#1] {158#true} is VALID [2022-02-20 20:41:07,045 INFO L290 TraceCheckUtils]: 32: Hoare triple {158#true} [519] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {158#true} is VALID [2022-02-20 20:41:07,045 INFO L290 TraceCheckUtils]: 33: Hoare triple {158#true} [494] L-1-5-->L-1-6: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {158#true} is VALID [2022-02-20 20:41:07,045 INFO L290 TraceCheckUtils]: 34: Hoare triple {158#true} [583] 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] {158#true} is VALID [2022-02-20 20:41:07,046 INFO L290 TraceCheckUtils]: 35: Hoare triple {158#true} [493] L-1-7-->L707: Formula: true InVars {} OutVars{ULTIMATE.start_main_~i~1#1=|v_ULTIMATE.start_main_~i~1#1_1|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_1|, ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_1|, ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_1|, ULTIMATE.start_main_#t~mem14#1=|v_ULTIMATE.start_main_#t~mem14#1_1|, ULTIMATE.start_main_~#t_ids~0#1.base=|v_ULTIMATE.start_main_~#t_ids~0#1.base_1|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_1|, ULTIMATE.start_main_#t~post8#1=|v_ULTIMATE.start_main_#t~post8#1_1|, ULTIMATE.start_main_#t~post13#1=|v_ULTIMATE.start_main_#t~post13#1_1|, ULTIMATE.start_main_~#t_ids~0#1.offset=|v_ULTIMATE.start_main_~#t_ids~0#1.offset_1|, ULTIMATE.start_main_#t~nondet12#1=|v_ULTIMATE.start_main_#t~nondet12#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet11#1, ULTIMATE.start_main_#t~nondet10#1, ULTIMATE.start_main_#t~mem14#1, ULTIMATE.start_main_~#t_ids~0#1.base, ULTIMATE.start_main_#t~pre9#1, ULTIMATE.start_main_#t~post8#1, ULTIMATE.start_main_#t~post13#1, ULTIMATE.start_main_~#t_ids~0#1.offset, ULTIMATE.start_main_#t~nondet12#1] {158#true} is VALID [2022-02-20 20:41:07,046 INFO L290 TraceCheckUtils]: 36: Hoare triple {158#true} [549] L707-->L707-1: Formula: (and (= (store |v_#length_6| |v_ULTIMATE.start_main_~#t_ids~0#1.base_2| 40000) |v_#length_5|) (= |v_#valid_6| (store |v_#valid_7| |v_ULTIMATE.start_main_~#t_ids~0#1.base_2| 1)) (= |v_ULTIMATE.start_main_~#t_ids~0#1.offset_2| 0) (not (= |v_ULTIMATE.start_main_~#t_ids~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t_ids~0#1.base_2|) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#t_ids~0#1.base_2|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_6|, #valid=|v_#valid_7|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, ULTIMATE.start_main_~#t_ids~0#1.offset=|v_ULTIMATE.start_main_~#t_ids~0#1.offset_2|, #length=|v_#length_5|, ULTIMATE.start_main_~#t_ids~0#1.base=|v_ULTIMATE.start_main_~#t_ids~0#1.base_2|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t_ids~0#1.base, #valid, ULTIMATE.start_main_~#t_ids~0#1.offset, #length] {158#true} is VALID [2022-02-20 20:41:07,046 INFO L290 TraceCheckUtils]: 37: Hoare triple {158#true} [541] L707-1-->L707-13: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 0) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {158#true} is VALID [2022-02-20 20:41:07,047 INFO L290 TraceCheckUtils]: 38: Hoare triple {158#true} [555] L707-13-->L707-14: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {159#false} is VALID [2022-02-20 20:41:07,047 INFO L290 TraceCheckUtils]: 39: Hoare triple {159#false} [488] L707-14-->L708: Formula: (let ((.cse0 (select |v_#pthreadsMutex_2| |v_~#mutex1~0.base_7|))) (and (= |v_#pthreadsMutex_1| (store |v_#pthreadsMutex_2| |v_~#mutex1~0.base_7| (store .cse0 |v_~#mutex1~0.offset_7| 1))) (= |v_ULTIMATE.start_main_#t~nondet11#1_2| 0) (= (select .cse0 |v_~#mutex1~0.offset_7|) 0))) InVars {#pthreadsMutex=|v_#pthreadsMutex_2|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_7|, ~#mutex1~0.base=|v_~#mutex1~0.base_7|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_1|, ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_2|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_7|, ~#mutex1~0.base=|v_~#mutex1~0.base_7|} AuxVars[] AssignedVars[#pthreadsMutex, ULTIMATE.start_main_#t~nondet11#1] {159#false} is VALID [2022-02-20 20:41:07,047 INFO L290 TraceCheckUtils]: 40: Hoare triple {159#false} [489] L708-->L709-7: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet11#1] {159#false} is VALID [2022-02-20 20:41:07,047 INFO L290 TraceCheckUtils]: 41: Hoare triple {159#false} [567] L709-7-->L709-1: Formula: (let ((.cse0 (select |v_#pthreadsMutex_4| |v_~#__global_lock~0.base_7|))) (and (= (select .cse0 |v_~#__global_lock~0.offset_7|) 0) (= |v_#pthreadsMutex_3| (store |v_#pthreadsMutex_4| |v_~#__global_lock~0.base_7| (store .cse0 |v_~#__global_lock~0.offset_7| 1))) (= |v_ULTIMATE.start_main_#t~nondet12#1_2| 0))) InVars {#pthreadsMutex=|v_#pthreadsMutex_4|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_7|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_7|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_3|, ULTIMATE.start_main_#t~nondet12#1=|v_ULTIMATE.start_main_#t~nondet12#1_2|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_7|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_7|} AuxVars[] AssignedVars[#pthreadsMutex, ULTIMATE.start_main_#t~nondet12#1] {159#false} is VALID [2022-02-20 20:41:07,047 INFO L290 TraceCheckUtils]: 42: Hoare triple {159#false} [532] L709-1-->L709-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet12#1=|v_ULTIMATE.start_main_#t~nondet12#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet12#1] {159#false} is VALID [2022-02-20 20:41:07,048 INFO L290 TraceCheckUtils]: 43: Hoare triple {159#false} [485] L709-2-->L709-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {159#false} is VALID [2022-02-20 20:41:07,048 INFO L290 TraceCheckUtils]: 44: Hoare triple {159#false} [575] L709-3-->L709-4: Formula: (= (ite (= v_~global~0_2 0) 1 0) |v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_1|) InVars {~global~0=v_~global~0_2} OutVars{ULTIMATE.start___VERIFIER_assert_#in~cond#1=|v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_1|, ~global~0=v_~global~0_2} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_#in~cond#1] {159#false} is VALID [2022-02-20 20:41:07,048 INFO L290 TraceCheckUtils]: 45: Hoare triple {159#false} [527] L709-4-->L691: Formula: true InVars {} OutVars{ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_~cond#1] {159#false} is VALID [2022-02-20 20:41:07,048 INFO L290 TraceCheckUtils]: 46: Hoare triple {159#false} [513] L691-->L691-1: Formula: (= |v_ULTIMATE.start___VERIFIER_assert_~cond#1_2| |v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_2|) InVars {ULTIMATE.start___VERIFIER_assert_#in~cond#1=|v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_2|} OutVars{ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_2|, ULTIMATE.start___VERIFIER_assert_#in~cond#1=|v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_2|} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_~cond#1] {159#false} is VALID [2022-02-20 20:41:07,048 INFO L290 TraceCheckUtils]: 47: Hoare triple {159#false} [596] L691-1-->L691-2: Formula: (= |v_ULTIMATE.start___VERIFIER_assert_~cond#1_3| 0) InVars {ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_3|} OutVars{ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_3|} AuxVars[] AssignedVars[] {159#false} is VALID [2022-02-20 20:41:07,048 INFO L290 TraceCheckUtils]: 48: Hoare triple {159#false} [510] L691-2-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {159#false} is VALID [2022-02-20 20:41:07,049 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 20:41:07,049 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 20:41:07,049 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [7257932] [2022-02-20 20:41:07,049 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [7257932] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 20:41:07,049 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 20:41:07,049 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 20:41:07,050 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2086487969] [2022-02-20 20:41:07,050 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 20:41:07,050 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 24.5) internal successors, (49), 2 states have internal predecessors, (49), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 49 [2022-02-20 20:41:07,050 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 20:41:07,050 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 2 states, 2 states have (on average 24.5) internal successors, (49), 2 states have internal predecessors, (49), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:41:07,087 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 20:41:07,088 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-02-20 20:41:07,088 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 20:41:07,088 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-02-20 20:41:07,088 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 20:41:07,089 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 144 out of 174 [2022-02-20 20:41:07,089 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 155 places, 174 transitions, 378 flow. Second operand has 2 states, 2 states have (on average 144.5) internal successors, (289), 2 states have internal predecessors, (289), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:41:07,089 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 20:41:07,089 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 144 of 174 [2022-02-20 20:41:07,089 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 20:41:07,130 INFO L129 PetriNetUnfolder]: 8/319 cut-off events. [2022-02-20 20:41:07,130 INFO L130 PetriNetUnfolder]: For 55/69 co-relation queries the response was YES. [2022-02-20 20:41:07,132 INFO L84 FinitePrefix]: Finished finitePrefix Result has 363 conditions, 319 events. 8/319 cut-off events. For 55/69 co-relation queries the response was YES. Maximal size of possible extension queue 8. Compared 974 event pairs, 1 based on Foata normal form. 106/409 useless extension candidates. Maximal degree in co-relation 224. Up to 16 conditions per place. [2022-02-20 20:41:07,132 INFO L132 encePairwiseOnDemand]: 151/174 looper letters, 3 selfloop transitions, 0 changer transitions 22/150 dead transitions. [2022-02-20 20:41:07,132 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 155 places, 150 transitions, 342 flow [2022-02-20 20:41:07,132 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-02-20 20:41:07,132 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2022-02-20 20:41:07,135 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 317 transitions. [2022-02-20 20:41:07,135 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.9109195402298851 [2022-02-20 20:41:07,135 INFO L72 ComplementDD]: Start complementDD. Operand 2 states and 317 transitions. [2022-02-20 20:41:07,136 INFO L73 IsDeterministic]: Start isDeterministic. Operand 2 states and 317 transitions. [2022-02-20 20:41:07,136 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 20:41:07,136 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 2 states and 317 transitions. [2022-02-20 20:41:07,137 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 3 states, 2 states have (on average 158.5) internal successors, (317), 2 states have internal predecessors, (317), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:41:07,137 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 3 states, 3 states have (on average 174.0) internal successors, (522), 3 states have internal predecessors, (522), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:41:07,137 INFO L81 ComplementDD]: Finished complementDD. Result has 3 states, 3 states have (on average 174.0) internal successors, (522), 3 states have internal predecessors, (522), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:41:07,137 INFO L186 Difference]: Start difference. First operand has 155 places, 174 transitions, 378 flow. Second operand 2 states and 317 transitions. [2022-02-20 20:41:07,138 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 155 places, 150 transitions, 342 flow [2022-02-20 20:41:07,141 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 155 places, 150 transitions, 342 flow, removed 0 selfloop flow, removed 0 redundant places. [2022-02-20 20:41:07,142 INFO L242 Difference]: Finished difference. Result has 155 places, 128 transitions, 277 flow [2022-02-20 20:41:07,142 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=174, PETRI_DIFFERENCE_MINUEND_FLOW=330, PETRI_DIFFERENCE_MINUEND_PLACES=154, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=150, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=0, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=150, PETRI_DIFFERENCE_SUBTRAHEND_STATES=2, PETRI_FLOW=277, PETRI_PLACES=155, PETRI_TRANSITIONS=128} [2022-02-20 20:41:07,143 INFO L334 CegarLoopForPetriNet]: 155 programPoint places, 0 predicate places. [2022-02-20 20:41:07,143 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 155 places, 128 transitions, 277 flow [2022-02-20 20:41:12,416 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 279320 states, 279315 states have (on average 3.784168412007948) internal successors, (1056975), 279319 states have internal predecessors, (1056975), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:41:13,166 INFO L78 Accepts]: Start accepts. Automaton has has 279320 states, 279315 states have (on average 3.784168412007948) internal successors, (1056975), 279319 states have internal predecessors, (1056975), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 49 [2022-02-20 20:41:13,166 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 20:41:13,166 INFO L470 AbstractCegarLoop]: Abstraction has has 155 places, 128 transitions, 277 flow [2022-02-20 20:41:13,167 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 144.5) internal successors, (289), 2 states have internal predecessors, (289), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:41:13,167 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:41:13,172 INFO L254 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 20:41:13,173 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2022-02-20 20:41:13,173 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 20:41:13,173 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:41:13,187 INFO L85 PathProgramCache]: Analyzing trace with hash 298432534, now seen corresponding path program 1 times [2022-02-20 20:41:13,188 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:41:13,188 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [520378512] [2022-02-20 20:41:13,189 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:41:13,189 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:41:13,212 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:41:13,242 INFO L290 TraceCheckUtils]: 0: Hoare triple {279482#true} [588] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {279482#true} is VALID [2022-02-20 20:41:13,244 INFO L290 TraceCheckUtils]: 1: Hoare triple {279482#true} [514] L-1-->L-1-1: Formula: true InVars {} OutVars{ULTIMATE.start_ULTIMATE.init_#t~nondet15#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_ULTIMATE.init_#t~nondet15#1] {279482#true} is VALID [2022-02-20 20:41:13,245 INFO L290 TraceCheckUtils]: 2: Hoare triple {279482#true} [591] L-1-1-->L-1-2: 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] {279482#true} is VALID [2022-02-20 20:41:13,245 INFO L290 TraceCheckUtils]: 3: Hoare triple {279482#true} [592] L-1-2-->L-1-3: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] {279482#true} is VALID [2022-02-20 20:41:13,250 INFO L290 TraceCheckUtils]: 4: Hoare triple {279482#true} [594] L-1-3-->L690: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {279482#true} is VALID [2022-02-20 20:41:13,250 INFO L290 TraceCheckUtils]: 5: Hoare triple {279482#true} [531] L690-->L690-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[] {279482#true} is VALID [2022-02-20 20:41:13,250 INFO L290 TraceCheckUtils]: 6: Hoare triple {279482#true} [487] L690-1-->L690-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[] {279482#true} is VALID [2022-02-20 20:41:13,250 INFO L290 TraceCheckUtils]: 7: Hoare triple {279482#true} [501] L690-2-->L690-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[] {279482#true} is VALID [2022-02-20 20:41:13,250 INFO L290 TraceCheckUtils]: 8: Hoare triple {279482#true} [574] L690-3-->L690-4: Formula: (and (= (select |v_#length_2| 2) 13) (= (select |v_#valid_3| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {279482#true} is VALID [2022-02-20 20:41:13,251 INFO L290 TraceCheckUtils]: 9: Hoare triple {279482#true} [537] L690-4-->L696: Formula: (and (= 3 |v_~#__global_lock~0.base_1|) (= |v_~#__global_lock~0.offset_1| 0)) InVars {} OutVars{~#__global_lock~0.base=|v_~#__global_lock~0.base_1|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_1|} AuxVars[] AssignedVars[~#__global_lock~0.offset, ~#__global_lock~0.base] {279482#true} is VALID [2022-02-20 20:41:13,253 INFO L290 TraceCheckUtils]: 10: Hoare triple {279482#true} [522] L696-->L696-1: Formula: (and (= (select |v_#length_3| 3) 24) (= (select |v_#valid_4| 3) 1)) InVars {#length=|v_#length_3|, #valid=|v_#valid_4|} OutVars{#length=|v_#length_3|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[] {279482#true} is VALID [2022-02-20 20:41:13,253 INFO L290 TraceCheckUtils]: 11: Hoare triple {279482#true} [576] L696-1-->L696-2: Formula: (= (select (select |v_#memory_int_3| |v_~#__global_lock~0.base_2|) |v_~#__global_lock~0.offset_2|) 0) InVars {#memory_int=|v_#memory_int_3|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_2|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_2|} OutVars{#memory_int=|v_#memory_int_3|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_2|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_2|} AuxVars[] AssignedVars[] {279482#true} is VALID [2022-02-20 20:41:13,253 INFO L290 TraceCheckUtils]: 12: Hoare triple {279482#true} [497] L696-2-->L696-3: Formula: (= (select (select |v_#memory_int_4| |v_~#__global_lock~0.base_3|) (+ |v_~#__global_lock~0.offset_3| 4)) 0) InVars {#memory_int=|v_#memory_int_4|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_3|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_3|} OutVars{#memory_int=|v_#memory_int_4|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_3|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_3|} AuxVars[] AssignedVars[] {279482#true} is VALID [2022-02-20 20:41:13,253 INFO L290 TraceCheckUtils]: 13: Hoare triple {279482#true} [595] L696-3-->L696-4: Formula: (= (select (select |v_#memory_int_5| |v_~#__global_lock~0.base_4|) (+ |v_~#__global_lock~0.offset_4| 8)) 0) InVars {#memory_int=|v_#memory_int_5|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_4|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_4|} OutVars{#memory_int=|v_#memory_int_5|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_4|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_4|} AuxVars[] AssignedVars[] {279482#true} is VALID [2022-02-20 20:41:13,253 INFO L290 TraceCheckUtils]: 14: Hoare triple {279482#true} [584] L696-4-->L696-5: Formula: (= (select (select |v_#memory_int_6| |v_~#__global_lock~0.base_5|) (+ |v_~#__global_lock~0.offset_5| 12)) 0) InVars {#memory_int=|v_#memory_int_6|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_5|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_5|} OutVars{#memory_int=|v_#memory_int_6|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_5|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_5|} AuxVars[] AssignedVars[] {279482#true} is VALID [2022-02-20 20:41:13,254 INFO L290 TraceCheckUtils]: 15: Hoare triple {279482#true} [526] L696-5-->L696-6: Formula: (= (select (select |v_#memory_int_7| |v_~#__global_lock~0.base_6|) (+ 16 |v_~#__global_lock~0.offset_6|)) 0) InVars {#memory_int=|v_#memory_int_7|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_6|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_6|} OutVars{#memory_int=|v_#memory_int_7|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_6|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_6|} AuxVars[] AssignedVars[] {279482#true} is VALID [2022-02-20 20:41:13,254 INFO L290 TraceCheckUtils]: 16: Hoare triple {279482#true} [535] L696-6-->L698: Formula: (= v_~global~0_1 0) InVars {} OutVars{~global~0=v_~global~0_1} AuxVars[] AssignedVars[~global~0] {279482#true} is VALID [2022-02-20 20:41:13,254 INFO L290 TraceCheckUtils]: 17: Hoare triple {279482#true} [566] L698-->L698-1: Formula: (and (= |v_~#mutex1~0.offset_1| 0) (= |v_~#mutex1~0.base_1| 4)) InVars {} OutVars{~#mutex1~0.offset=|v_~#mutex1~0.offset_1|, ~#mutex1~0.base=|v_~#mutex1~0.base_1|} AuxVars[] AssignedVars[~#mutex1~0.offset, ~#mutex1~0.base] {279482#true} is VALID [2022-02-20 20:41:13,254 INFO L290 TraceCheckUtils]: 18: Hoare triple {279482#true} [564] L698-1-->L698-2: Formula: (and (= (select |v_#length_4| 4) 24) (= (select |v_#valid_5| 4) 1)) InVars {#length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#length=|v_#length_4|, #valid=|v_#valid_5|} AuxVars[] AssignedVars[] {279482#true} is VALID [2022-02-20 20:41:13,255 INFO L290 TraceCheckUtils]: 19: Hoare triple {279482#true} [585] L698-2-->L698-3: Formula: (= (select (select |v_#memory_int_8| |v_~#mutex1~0.base_2|) |v_~#mutex1~0.offset_2|) 0) InVars {#memory_int=|v_#memory_int_8|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_2|, ~#mutex1~0.base=|v_~#mutex1~0.base_2|} OutVars{#memory_int=|v_#memory_int_8|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_2|, ~#mutex1~0.base=|v_~#mutex1~0.base_2|} AuxVars[] AssignedVars[] {279482#true} is VALID [2022-02-20 20:41:13,255 INFO L290 TraceCheckUtils]: 20: Hoare triple {279482#true} [502] L698-3-->L698-4: Formula: (= (select (select |v_#memory_int_9| |v_~#mutex1~0.base_3|) (+ |v_~#mutex1~0.offset_3| 4)) 0) InVars {#memory_int=|v_#memory_int_9|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_3|, ~#mutex1~0.base=|v_~#mutex1~0.base_3|} OutVars{#memory_int=|v_#memory_int_9|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_3|, ~#mutex1~0.base=|v_~#mutex1~0.base_3|} AuxVars[] AssignedVars[] {279482#true} is VALID [2022-02-20 20:41:13,255 INFO L290 TraceCheckUtils]: 21: Hoare triple {279482#true} [565] L698-4-->L698-5: Formula: (= (select (select |v_#memory_int_10| |v_~#mutex1~0.base_4|) (+ |v_~#mutex1~0.offset_4| 8)) 0) InVars {#memory_int=|v_#memory_int_10|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_4|, ~#mutex1~0.base=|v_~#mutex1~0.base_4|} OutVars{#memory_int=|v_#memory_int_10|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_4|, ~#mutex1~0.base=|v_~#mutex1~0.base_4|} AuxVars[] AssignedVars[] {279482#true} is VALID [2022-02-20 20:41:13,255 INFO L290 TraceCheckUtils]: 22: Hoare triple {279482#true} [589] L698-5-->L698-6: Formula: (= (select (select |v_#memory_int_11| |v_~#mutex1~0.base_5|) (+ |v_~#mutex1~0.offset_5| 12)) 0) InVars {#memory_int=|v_#memory_int_11|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_5|, ~#mutex1~0.base=|v_~#mutex1~0.base_5|} OutVars{#memory_int=|v_#memory_int_11|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_5|, ~#mutex1~0.base=|v_~#mutex1~0.base_5|} AuxVars[] AssignedVars[] {279482#true} is VALID [2022-02-20 20:41:13,255 INFO L290 TraceCheckUtils]: 23: Hoare triple {279482#true} [586] L698-6-->L698-7: Formula: (= (select (select |v_#memory_int_12| |v_~#mutex1~0.base_6|) (+ 16 |v_~#mutex1~0.offset_6|)) 0) InVars {#memory_int=|v_#memory_int_12|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_6|, ~#mutex1~0.base=|v_~#mutex1~0.base_6|} OutVars{#memory_int=|v_#memory_int_12|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_6|, ~#mutex1~0.base=|v_~#mutex1~0.base_6|} AuxVars[] AssignedVars[] {279482#true} is VALID [2022-02-20 20:41:13,255 INFO L290 TraceCheckUtils]: 24: Hoare triple {279482#true} [496] L698-7-->L699: Formula: (= v_~mutex2~0.__data.__lock_1 0) InVars {} OutVars{~mutex2~0.__data.__lock=v_~mutex2~0.__data.__lock_1} AuxVars[] AssignedVars[~mutex2~0.__data.__lock] {279482#true} is VALID [2022-02-20 20:41:13,256 INFO L290 TraceCheckUtils]: 25: Hoare triple {279482#true} [517] L699-->L699-1: Formula: (= v_~mutex2~0.__data.__count_1 0) InVars {} OutVars{~mutex2~0.__data.__count=v_~mutex2~0.__data.__count_1} AuxVars[] AssignedVars[~mutex2~0.__data.__count] {279482#true} is VALID [2022-02-20 20:41:13,256 INFO L290 TraceCheckUtils]: 26: Hoare triple {279482#true} [560] L699-1-->L699-2: Formula: (= v_~mutex2~0.__data.__owner_1 0) InVars {} OutVars{~mutex2~0.__data.__owner=v_~mutex2~0.__data.__owner_1} AuxVars[] AssignedVars[~mutex2~0.__data.__owner] {279482#true} is VALID [2022-02-20 20:41:13,256 INFO L290 TraceCheckUtils]: 27: Hoare triple {279482#true} [490] L699-2-->L699-3: Formula: (= v_~mutex2~0.__data.__kind_1 0) InVars {} OutVars{~mutex2~0.__data.__kind=v_~mutex2~0.__data.__kind_1} AuxVars[] AssignedVars[~mutex2~0.__data.__kind] {279482#true} is VALID [2022-02-20 20:41:13,256 INFO L290 TraceCheckUtils]: 28: Hoare triple {279482#true} [495] L699-3-->L699-4: Formula: (= v_~mutex2~0.__data.__nusers_1 0) InVars {} OutVars{~mutex2~0.__data.__nusers=v_~mutex2~0.__data.__nusers_1} AuxVars[] AssignedVars[~mutex2~0.__data.__nusers] {279482#true} is VALID [2022-02-20 20:41:13,256 INFO L290 TraceCheckUtils]: 29: Hoare triple {279482#true} [505] L699-4-->L699-5: Formula: (= ((as const (Array Int Int)) 0) v_~mutex2~0.__size_1) InVars {} OutVars{~mutex2~0.__size=v_~mutex2~0.__size_1} AuxVars[] AssignedVars[~mutex2~0.__size] {279482#true} is VALID [2022-02-20 20:41:13,256 INFO L290 TraceCheckUtils]: 30: Hoare triple {279482#true} [508] L699-5-->L699-6: Formula: (= v_~mutex2~0.__align_1 |v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_2|) InVars {ULTIMATE.start_ULTIMATE.init_#t~nondet15#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_2|} OutVars{~mutex2~0.__align=v_~mutex2~0.__align_1, ULTIMATE.start_ULTIMATE.init_#t~nondet15#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_2|} AuxVars[] AssignedVars[~mutex2~0.__align] {279482#true} is VALID [2022-02-20 20:41:13,256 INFO L290 TraceCheckUtils]: 31: Hoare triple {279482#true} [536] L699-6-->L-1-4: Formula: true InVars {} OutVars{ULTIMATE.start_ULTIMATE.init_#t~nondet15#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_ULTIMATE.init_#t~nondet15#1] {279482#true} is VALID [2022-02-20 20:41:13,257 INFO L290 TraceCheckUtils]: 32: Hoare triple {279482#true} [519] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {279482#true} is VALID [2022-02-20 20:41:13,257 INFO L290 TraceCheckUtils]: 33: Hoare triple {279482#true} [494] L-1-5-->L-1-6: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {279482#true} is VALID [2022-02-20 20:41:13,257 INFO L290 TraceCheckUtils]: 34: Hoare triple {279482#true} [583] 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] {279482#true} is VALID [2022-02-20 20:41:13,257 INFO L290 TraceCheckUtils]: 35: Hoare triple {279482#true} [493] L-1-7-->L707: Formula: true InVars {} OutVars{ULTIMATE.start_main_~i~1#1=|v_ULTIMATE.start_main_~i~1#1_1|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_1|, ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_1|, ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_1|, ULTIMATE.start_main_#t~mem14#1=|v_ULTIMATE.start_main_#t~mem14#1_1|, ULTIMATE.start_main_~#t_ids~0#1.base=|v_ULTIMATE.start_main_~#t_ids~0#1.base_1|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_1|, ULTIMATE.start_main_#t~post8#1=|v_ULTIMATE.start_main_#t~post8#1_1|, ULTIMATE.start_main_#t~post13#1=|v_ULTIMATE.start_main_#t~post13#1_1|, ULTIMATE.start_main_~#t_ids~0#1.offset=|v_ULTIMATE.start_main_~#t_ids~0#1.offset_1|, ULTIMATE.start_main_#t~nondet12#1=|v_ULTIMATE.start_main_#t~nondet12#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet11#1, ULTIMATE.start_main_#t~nondet10#1, ULTIMATE.start_main_#t~mem14#1, ULTIMATE.start_main_~#t_ids~0#1.base, ULTIMATE.start_main_#t~pre9#1, ULTIMATE.start_main_#t~post8#1, ULTIMATE.start_main_#t~post13#1, ULTIMATE.start_main_~#t_ids~0#1.offset, ULTIMATE.start_main_#t~nondet12#1] {279482#true} is VALID [2022-02-20 20:41:13,257 INFO L290 TraceCheckUtils]: 36: Hoare triple {279482#true} [549] L707-->L707-1: Formula: (and (= (store |v_#length_6| |v_ULTIMATE.start_main_~#t_ids~0#1.base_2| 40000) |v_#length_5|) (= |v_#valid_6| (store |v_#valid_7| |v_ULTIMATE.start_main_~#t_ids~0#1.base_2| 1)) (= |v_ULTIMATE.start_main_~#t_ids~0#1.offset_2| 0) (not (= |v_ULTIMATE.start_main_~#t_ids~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t_ids~0#1.base_2|) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#t_ids~0#1.base_2|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_6|, #valid=|v_#valid_7|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, ULTIMATE.start_main_~#t_ids~0#1.offset=|v_ULTIMATE.start_main_~#t_ids~0#1.offset_2|, #length=|v_#length_5|, ULTIMATE.start_main_~#t_ids~0#1.base=|v_ULTIMATE.start_main_~#t_ids~0#1.base_2|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t_ids~0#1.base, #valid, ULTIMATE.start_main_~#t_ids~0#1.offset, #length] {279482#true} is VALID [2022-02-20 20:41:13,258 INFO L290 TraceCheckUtils]: 37: Hoare triple {279482#true} [541] L707-1-->L707-13: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 0) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {279484#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 20:41:13,258 INFO L290 TraceCheckUtils]: 38: Hoare triple {279484#(= |ULTIMATE.start_main_~i~0#1| 0)} [556] L707-13-->L707-14: Formula: (not (< |v_ULTIMATE.start_main_~i~0#1_3| 10000)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} AuxVars[] AssignedVars[] {279483#false} is VALID [2022-02-20 20:41:13,258 INFO L290 TraceCheckUtils]: 39: Hoare triple {279483#false} [488] L707-14-->L708: Formula: (let ((.cse0 (select |v_#pthreadsMutex_2| |v_~#mutex1~0.base_7|))) (and (= |v_#pthreadsMutex_1| (store |v_#pthreadsMutex_2| |v_~#mutex1~0.base_7| (store .cse0 |v_~#mutex1~0.offset_7| 1))) (= |v_ULTIMATE.start_main_#t~nondet11#1_2| 0) (= (select .cse0 |v_~#mutex1~0.offset_7|) 0))) InVars {#pthreadsMutex=|v_#pthreadsMutex_2|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_7|, ~#mutex1~0.base=|v_~#mutex1~0.base_7|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_1|, ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_2|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_7|, ~#mutex1~0.base=|v_~#mutex1~0.base_7|} AuxVars[] AssignedVars[#pthreadsMutex, ULTIMATE.start_main_#t~nondet11#1] {279483#false} is VALID [2022-02-20 20:41:13,258 INFO L290 TraceCheckUtils]: 40: Hoare triple {279483#false} [489] L708-->L709-7: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet11#1] {279483#false} is VALID [2022-02-20 20:41:13,259 INFO L290 TraceCheckUtils]: 41: Hoare triple {279483#false} [567] L709-7-->L709-1: Formula: (let ((.cse0 (select |v_#pthreadsMutex_4| |v_~#__global_lock~0.base_7|))) (and (= (select .cse0 |v_~#__global_lock~0.offset_7|) 0) (= |v_#pthreadsMutex_3| (store |v_#pthreadsMutex_4| |v_~#__global_lock~0.base_7| (store .cse0 |v_~#__global_lock~0.offset_7| 1))) (= |v_ULTIMATE.start_main_#t~nondet12#1_2| 0))) InVars {#pthreadsMutex=|v_#pthreadsMutex_4|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_7|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_7|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_3|, ULTIMATE.start_main_#t~nondet12#1=|v_ULTIMATE.start_main_#t~nondet12#1_2|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_7|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_7|} AuxVars[] AssignedVars[#pthreadsMutex, ULTIMATE.start_main_#t~nondet12#1] {279483#false} is VALID [2022-02-20 20:41:13,259 INFO L290 TraceCheckUtils]: 42: Hoare triple {279483#false} [532] L709-1-->L709-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet12#1=|v_ULTIMATE.start_main_#t~nondet12#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet12#1] {279483#false} is VALID [2022-02-20 20:41:13,259 INFO L290 TraceCheckUtils]: 43: Hoare triple {279483#false} [485] L709-2-->L709-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {279483#false} is VALID [2022-02-20 20:41:13,259 INFO L290 TraceCheckUtils]: 44: Hoare triple {279483#false} [575] L709-3-->L709-4: Formula: (= (ite (= v_~global~0_2 0) 1 0) |v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_1|) InVars {~global~0=v_~global~0_2} OutVars{ULTIMATE.start___VERIFIER_assert_#in~cond#1=|v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_1|, ~global~0=v_~global~0_2} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_#in~cond#1] {279483#false} is VALID [2022-02-20 20:41:13,259 INFO L290 TraceCheckUtils]: 45: Hoare triple {279483#false} [527] L709-4-->L691: Formula: true InVars {} OutVars{ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_~cond#1] {279483#false} is VALID [2022-02-20 20:41:13,259 INFO L290 TraceCheckUtils]: 46: Hoare triple {279483#false} [513] L691-->L691-1: Formula: (= |v_ULTIMATE.start___VERIFIER_assert_~cond#1_2| |v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_2|) InVars {ULTIMATE.start___VERIFIER_assert_#in~cond#1=|v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_2|} OutVars{ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_2|, ULTIMATE.start___VERIFIER_assert_#in~cond#1=|v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_2|} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_~cond#1] {279483#false} is VALID [2022-02-20 20:41:13,259 INFO L290 TraceCheckUtils]: 47: Hoare triple {279483#false} [596] L691-1-->L691-2: Formula: (= |v_ULTIMATE.start___VERIFIER_assert_~cond#1_3| 0) InVars {ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_3|} OutVars{ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_3|} AuxVars[] AssignedVars[] {279483#false} is VALID [2022-02-20 20:41:13,260 INFO L290 TraceCheckUtils]: 48: Hoare triple {279483#false} [510] L691-2-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {279483#false} is VALID [2022-02-20 20:41:13,262 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 20:41:13,262 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 20:41:13,262 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [520378512] [2022-02-20 20:41:13,263 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [520378512] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 20:41:13,263 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 20:41:13,263 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 20:41:13,263 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [658200829] [2022-02-20 20:41:13,263 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 20:41:13,264 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 16.333333333333332) internal successors, (49), 3 states have internal predecessors, (49), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 49 [2022-02-20 20:41:13,264 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 20:41:13,264 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 16.333333333333332) internal successors, (49), 3 states have internal predecessors, (49), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:41:13,289 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 20:41:13,289 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 20:41:13,290 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 20:41:13,290 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 20:41:13,290 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 20:41:13,291 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 137 out of 174 [2022-02-20 20:41:13,291 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 155 places, 128 transitions, 277 flow. Second operand has 3 states, 3 states have (on average 138.0) internal successors, (414), 3 states have internal predecessors, (414), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:41:13,291 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 20:41:13,291 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 137 of 174 [2022-02-20 20:41:13,291 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 20:41:13,326 INFO L129 PetriNetUnfolder]: 0/172 cut-off events. [2022-02-20 20:41:13,326 INFO L130 PetriNetUnfolder]: For 7/7 co-relation queries the response was YES. [2022-02-20 20:41:13,326 INFO L84 FinitePrefix]: Finished finitePrefix Result has 212 conditions, 172 events. 0/172 cut-off events. For 7/7 co-relation queries the response was YES. Maximal size of possible extension queue 5. Compared 330 event pairs, 0 based on Foata normal form. 0/169 useless extension candidates. Maximal degree in co-relation 0. Up to 18 conditions per place. [2022-02-20 20:41:13,327 INFO L132 encePairwiseOnDemand]: 171/174 looper letters, 12 selfloop transitions, 2 changer transitions 0/132 dead transitions. [2022-02-20 20:41:13,327 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 138 places, 132 transitions, 313 flow [2022-02-20 20:41:13,327 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 20:41:13,327 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2022-02-20 20:41:13,331 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 426 transitions. [2022-02-20 20:41:13,331 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.8160919540229885 [2022-02-20 20:41:13,331 INFO L72 ComplementDD]: Start complementDD. Operand 3 states and 426 transitions. [2022-02-20 20:41:13,331 INFO L73 IsDeterministic]: Start isDeterministic. Operand 3 states and 426 transitions. [2022-02-20 20:41:13,332 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 20:41:13,332 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 3 states and 426 transitions. [2022-02-20 20:41:13,332 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 4 states, 3 states have (on average 142.0) internal successors, (426), 3 states have internal predecessors, (426), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:41:13,333 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 4 states, 4 states have (on average 174.0) internal successors, (696), 4 states have internal predecessors, (696), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:41:13,333 INFO L81 ComplementDD]: Finished complementDD. Result has 4 states, 4 states have (on average 174.0) internal successors, (696), 4 states have internal predecessors, (696), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:41:13,334 INFO L186 Difference]: Start difference. First operand has 155 places, 128 transitions, 277 flow. Second operand 3 states and 426 transitions. [2022-02-20 20:41:13,334 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 138 places, 132 transitions, 313 flow [2022-02-20 20:41:13,335 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 138 places, 132 transitions, 307 flow, removed 3 selfloop flow, removed 0 redundant places. [2022-02-20 20:41:13,336 INFO L242 Difference]: Finished difference. Result has 139 places, 129 transitions, 283 flow [2022-02-20 20:41:13,336 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=174, PETRI_DIFFERENCE_MINUEND_FLOW=271, PETRI_DIFFERENCE_MINUEND_PLACES=136, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=128, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=126, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=283, PETRI_PLACES=139, PETRI_TRANSITIONS=129} [2022-02-20 20:41:13,338 INFO L334 CegarLoopForPetriNet]: 155 programPoint places, -16 predicate places. [2022-02-20 20:41:13,338 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 139 places, 129 transitions, 283 flow [2022-02-20 20:41:19,031 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 279309 states, 279305 states have (on average 3.7842645137036572) internal successors, (1056964), 279308 states have internal predecessors, (1056964), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:41:19,518 INFO L78 Accepts]: Start accepts. Automaton has has 279309 states, 279305 states have (on average 3.7842645137036572) internal successors, (1056964), 279308 states have internal predecessors, (1056964), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 49 [2022-02-20 20:41:19,519 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 20:41:19,519 INFO L470 AbstractCegarLoop]: Abstraction has has 139 places, 129 transitions, 283 flow [2022-02-20 20:41:19,519 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 138.0) internal successors, (414), 3 states have internal predecessors, (414), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:41:19,519 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:41:19,519 INFO L254 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 20:41:19,519 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7 [2022-02-20 20:41:19,519 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 20:41:19,520 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:41:19,520 INFO L85 PathProgramCache]: Analyzing trace with hash 1411654522, now seen corresponding path program 1 times [2022-02-20 20:41:19,520 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:41:19,520 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [757039549] [2022-02-20 20:41:19,520 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:41:19,520 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:41:19,535 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:41:19,558 INFO L290 TraceCheckUtils]: 0: Hoare triple {558797#true} [588] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {558797#true} is VALID [2022-02-20 20:41:19,558 INFO L290 TraceCheckUtils]: 1: Hoare triple {558797#true} [514] L-1-->L-1-1: Formula: true InVars {} OutVars{ULTIMATE.start_ULTIMATE.init_#t~nondet15#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_ULTIMATE.init_#t~nondet15#1] {558797#true} is VALID [2022-02-20 20:41:19,558 INFO L290 TraceCheckUtils]: 2: Hoare triple {558797#true} [591] L-1-1-->L-1-2: 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] {558797#true} is VALID [2022-02-20 20:41:19,558 INFO L290 TraceCheckUtils]: 3: Hoare triple {558797#true} [592] L-1-2-->L-1-3: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] {558797#true} is VALID [2022-02-20 20:41:19,559 INFO L290 TraceCheckUtils]: 4: Hoare triple {558797#true} [594] L-1-3-->L690: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {558797#true} is VALID [2022-02-20 20:41:19,559 INFO L290 TraceCheckUtils]: 5: Hoare triple {558797#true} [531] L690-->L690-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[] {558797#true} is VALID [2022-02-20 20:41:19,559 INFO L290 TraceCheckUtils]: 6: Hoare triple {558797#true} [487] L690-1-->L690-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[] {558797#true} is VALID [2022-02-20 20:41:19,559 INFO L290 TraceCheckUtils]: 7: Hoare triple {558797#true} [501] L690-2-->L690-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[] {558797#true} is VALID [2022-02-20 20:41:19,559 INFO L290 TraceCheckUtils]: 8: Hoare triple {558797#true} [574] L690-3-->L690-4: Formula: (and (= (select |v_#length_2| 2) 13) (= (select |v_#valid_3| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {558797#true} is VALID [2022-02-20 20:41:19,559 INFO L290 TraceCheckUtils]: 9: Hoare triple {558797#true} [537] L690-4-->L696: Formula: (and (= 3 |v_~#__global_lock~0.base_1|) (= |v_~#__global_lock~0.offset_1| 0)) InVars {} OutVars{~#__global_lock~0.base=|v_~#__global_lock~0.base_1|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_1|} AuxVars[] AssignedVars[~#__global_lock~0.offset, ~#__global_lock~0.base] {558797#true} is VALID [2022-02-20 20:41:19,559 INFO L290 TraceCheckUtils]: 10: Hoare triple {558797#true} [522] L696-->L696-1: Formula: (and (= (select |v_#length_3| 3) 24) (= (select |v_#valid_4| 3) 1)) InVars {#length=|v_#length_3|, #valid=|v_#valid_4|} OutVars{#length=|v_#length_3|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[] {558797#true} is VALID [2022-02-20 20:41:19,560 INFO L290 TraceCheckUtils]: 11: Hoare triple {558797#true} [576] L696-1-->L696-2: Formula: (= (select (select |v_#memory_int_3| |v_~#__global_lock~0.base_2|) |v_~#__global_lock~0.offset_2|) 0) InVars {#memory_int=|v_#memory_int_3|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_2|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_2|} OutVars{#memory_int=|v_#memory_int_3|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_2|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_2|} AuxVars[] AssignedVars[] {558797#true} is VALID [2022-02-20 20:41:19,560 INFO L290 TraceCheckUtils]: 12: Hoare triple {558797#true} [497] L696-2-->L696-3: Formula: (= (select (select |v_#memory_int_4| |v_~#__global_lock~0.base_3|) (+ |v_~#__global_lock~0.offset_3| 4)) 0) InVars {#memory_int=|v_#memory_int_4|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_3|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_3|} OutVars{#memory_int=|v_#memory_int_4|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_3|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_3|} AuxVars[] AssignedVars[] {558797#true} is VALID [2022-02-20 20:41:19,560 INFO L290 TraceCheckUtils]: 13: Hoare triple {558797#true} [595] L696-3-->L696-4: Formula: (= (select (select |v_#memory_int_5| |v_~#__global_lock~0.base_4|) (+ |v_~#__global_lock~0.offset_4| 8)) 0) InVars {#memory_int=|v_#memory_int_5|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_4|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_4|} OutVars{#memory_int=|v_#memory_int_5|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_4|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_4|} AuxVars[] AssignedVars[] {558797#true} is VALID [2022-02-20 20:41:19,560 INFO L290 TraceCheckUtils]: 14: Hoare triple {558797#true} [584] L696-4-->L696-5: Formula: (= (select (select |v_#memory_int_6| |v_~#__global_lock~0.base_5|) (+ |v_~#__global_lock~0.offset_5| 12)) 0) InVars {#memory_int=|v_#memory_int_6|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_5|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_5|} OutVars{#memory_int=|v_#memory_int_6|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_5|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_5|} AuxVars[] AssignedVars[] {558797#true} is VALID [2022-02-20 20:41:19,560 INFO L290 TraceCheckUtils]: 15: Hoare triple {558797#true} [526] L696-5-->L696-6: Formula: (= (select (select |v_#memory_int_7| |v_~#__global_lock~0.base_6|) (+ 16 |v_~#__global_lock~0.offset_6|)) 0) InVars {#memory_int=|v_#memory_int_7|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_6|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_6|} OutVars{#memory_int=|v_#memory_int_7|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_6|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_6|} AuxVars[] AssignedVars[] {558797#true} is VALID [2022-02-20 20:41:19,560 INFO L290 TraceCheckUtils]: 16: Hoare triple {558797#true} [535] L696-6-->L698: Formula: (= v_~global~0_1 0) InVars {} OutVars{~global~0=v_~global~0_1} AuxVars[] AssignedVars[~global~0] {558797#true} is VALID [2022-02-20 20:41:19,560 INFO L290 TraceCheckUtils]: 17: Hoare triple {558797#true} [566] L698-->L698-1: Formula: (and (= |v_~#mutex1~0.offset_1| 0) (= |v_~#mutex1~0.base_1| 4)) InVars {} OutVars{~#mutex1~0.offset=|v_~#mutex1~0.offset_1|, ~#mutex1~0.base=|v_~#mutex1~0.base_1|} AuxVars[] AssignedVars[~#mutex1~0.offset, ~#mutex1~0.base] {558797#true} is VALID [2022-02-20 20:41:19,561 INFO L290 TraceCheckUtils]: 18: Hoare triple {558797#true} [564] L698-1-->L698-2: Formula: (and (= (select |v_#length_4| 4) 24) (= (select |v_#valid_5| 4) 1)) InVars {#length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#length=|v_#length_4|, #valid=|v_#valid_5|} AuxVars[] AssignedVars[] {558797#true} is VALID [2022-02-20 20:41:19,561 INFO L290 TraceCheckUtils]: 19: Hoare triple {558797#true} [585] L698-2-->L698-3: Formula: (= (select (select |v_#memory_int_8| |v_~#mutex1~0.base_2|) |v_~#mutex1~0.offset_2|) 0) InVars {#memory_int=|v_#memory_int_8|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_2|, ~#mutex1~0.base=|v_~#mutex1~0.base_2|} OutVars{#memory_int=|v_#memory_int_8|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_2|, ~#mutex1~0.base=|v_~#mutex1~0.base_2|} AuxVars[] AssignedVars[] {558797#true} is VALID [2022-02-20 20:41:19,561 INFO L290 TraceCheckUtils]: 20: Hoare triple {558797#true} [502] L698-3-->L698-4: Formula: (= (select (select |v_#memory_int_9| |v_~#mutex1~0.base_3|) (+ |v_~#mutex1~0.offset_3| 4)) 0) InVars {#memory_int=|v_#memory_int_9|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_3|, ~#mutex1~0.base=|v_~#mutex1~0.base_3|} OutVars{#memory_int=|v_#memory_int_9|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_3|, ~#mutex1~0.base=|v_~#mutex1~0.base_3|} AuxVars[] AssignedVars[] {558797#true} is VALID [2022-02-20 20:41:19,561 INFO L290 TraceCheckUtils]: 21: Hoare triple {558797#true} [565] L698-4-->L698-5: Formula: (= (select (select |v_#memory_int_10| |v_~#mutex1~0.base_4|) (+ |v_~#mutex1~0.offset_4| 8)) 0) InVars {#memory_int=|v_#memory_int_10|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_4|, ~#mutex1~0.base=|v_~#mutex1~0.base_4|} OutVars{#memory_int=|v_#memory_int_10|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_4|, ~#mutex1~0.base=|v_~#mutex1~0.base_4|} AuxVars[] AssignedVars[] {558797#true} is VALID [2022-02-20 20:41:19,561 INFO L290 TraceCheckUtils]: 22: Hoare triple {558797#true} [589] L698-5-->L698-6: Formula: (= (select (select |v_#memory_int_11| |v_~#mutex1~0.base_5|) (+ |v_~#mutex1~0.offset_5| 12)) 0) InVars {#memory_int=|v_#memory_int_11|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_5|, ~#mutex1~0.base=|v_~#mutex1~0.base_5|} OutVars{#memory_int=|v_#memory_int_11|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_5|, ~#mutex1~0.base=|v_~#mutex1~0.base_5|} AuxVars[] AssignedVars[] {558797#true} is VALID [2022-02-20 20:41:19,561 INFO L290 TraceCheckUtils]: 23: Hoare triple {558797#true} [586] L698-6-->L698-7: Formula: (= (select (select |v_#memory_int_12| |v_~#mutex1~0.base_6|) (+ 16 |v_~#mutex1~0.offset_6|)) 0) InVars {#memory_int=|v_#memory_int_12|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_6|, ~#mutex1~0.base=|v_~#mutex1~0.base_6|} OutVars{#memory_int=|v_#memory_int_12|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_6|, ~#mutex1~0.base=|v_~#mutex1~0.base_6|} AuxVars[] AssignedVars[] {558797#true} is VALID [2022-02-20 20:41:19,561 INFO L290 TraceCheckUtils]: 24: Hoare triple {558797#true} [496] L698-7-->L699: Formula: (= v_~mutex2~0.__data.__lock_1 0) InVars {} OutVars{~mutex2~0.__data.__lock=v_~mutex2~0.__data.__lock_1} AuxVars[] AssignedVars[~mutex2~0.__data.__lock] {558797#true} is VALID [2022-02-20 20:41:19,562 INFO L290 TraceCheckUtils]: 25: Hoare triple {558797#true} [517] L699-->L699-1: Formula: (= v_~mutex2~0.__data.__count_1 0) InVars {} OutVars{~mutex2~0.__data.__count=v_~mutex2~0.__data.__count_1} AuxVars[] AssignedVars[~mutex2~0.__data.__count] {558797#true} is VALID [2022-02-20 20:41:19,562 INFO L290 TraceCheckUtils]: 26: Hoare triple {558797#true} [560] L699-1-->L699-2: Formula: (= v_~mutex2~0.__data.__owner_1 0) InVars {} OutVars{~mutex2~0.__data.__owner=v_~mutex2~0.__data.__owner_1} AuxVars[] AssignedVars[~mutex2~0.__data.__owner] {558797#true} is VALID [2022-02-20 20:41:19,562 INFO L290 TraceCheckUtils]: 27: Hoare triple {558797#true} [490] L699-2-->L699-3: Formula: (= v_~mutex2~0.__data.__kind_1 0) InVars {} OutVars{~mutex2~0.__data.__kind=v_~mutex2~0.__data.__kind_1} AuxVars[] AssignedVars[~mutex2~0.__data.__kind] {558797#true} is VALID [2022-02-20 20:41:19,562 INFO L290 TraceCheckUtils]: 28: Hoare triple {558797#true} [495] L699-3-->L699-4: Formula: (= v_~mutex2~0.__data.__nusers_1 0) InVars {} OutVars{~mutex2~0.__data.__nusers=v_~mutex2~0.__data.__nusers_1} AuxVars[] AssignedVars[~mutex2~0.__data.__nusers] {558797#true} is VALID [2022-02-20 20:41:19,562 INFO L290 TraceCheckUtils]: 29: Hoare triple {558797#true} [505] L699-4-->L699-5: Formula: (= ((as const (Array Int Int)) 0) v_~mutex2~0.__size_1) InVars {} OutVars{~mutex2~0.__size=v_~mutex2~0.__size_1} AuxVars[] AssignedVars[~mutex2~0.__size] {558797#true} is VALID [2022-02-20 20:41:19,562 INFO L290 TraceCheckUtils]: 30: Hoare triple {558797#true} [508] L699-5-->L699-6: Formula: (= v_~mutex2~0.__align_1 |v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_2|) InVars {ULTIMATE.start_ULTIMATE.init_#t~nondet15#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_2|} OutVars{~mutex2~0.__align=v_~mutex2~0.__align_1, ULTIMATE.start_ULTIMATE.init_#t~nondet15#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_2|} AuxVars[] AssignedVars[~mutex2~0.__align] {558797#true} is VALID [2022-02-20 20:41:19,562 INFO L290 TraceCheckUtils]: 31: Hoare triple {558797#true} [536] L699-6-->L-1-4: Formula: true InVars {} OutVars{ULTIMATE.start_ULTIMATE.init_#t~nondet15#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_ULTIMATE.init_#t~nondet15#1] {558797#true} is VALID [2022-02-20 20:41:19,563 INFO L290 TraceCheckUtils]: 32: Hoare triple {558797#true} [519] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {558797#true} is VALID [2022-02-20 20:41:19,563 INFO L290 TraceCheckUtils]: 33: Hoare triple {558797#true} [494] L-1-5-->L-1-6: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {558797#true} is VALID [2022-02-20 20:41:19,563 INFO L290 TraceCheckUtils]: 34: Hoare triple {558797#true} [583] 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] {558797#true} is VALID [2022-02-20 20:41:19,563 INFO L290 TraceCheckUtils]: 35: Hoare triple {558797#true} [493] L-1-7-->L707: Formula: true InVars {} OutVars{ULTIMATE.start_main_~i~1#1=|v_ULTIMATE.start_main_~i~1#1_1|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_1|, ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_1|, ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_1|, ULTIMATE.start_main_#t~mem14#1=|v_ULTIMATE.start_main_#t~mem14#1_1|, ULTIMATE.start_main_~#t_ids~0#1.base=|v_ULTIMATE.start_main_~#t_ids~0#1.base_1|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_1|, ULTIMATE.start_main_#t~post8#1=|v_ULTIMATE.start_main_#t~post8#1_1|, ULTIMATE.start_main_#t~post13#1=|v_ULTIMATE.start_main_#t~post13#1_1|, ULTIMATE.start_main_~#t_ids~0#1.offset=|v_ULTIMATE.start_main_~#t_ids~0#1.offset_1|, ULTIMATE.start_main_#t~nondet12#1=|v_ULTIMATE.start_main_#t~nondet12#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet11#1, ULTIMATE.start_main_#t~nondet10#1, ULTIMATE.start_main_#t~mem14#1, ULTIMATE.start_main_~#t_ids~0#1.base, ULTIMATE.start_main_#t~pre9#1, ULTIMATE.start_main_#t~post8#1, ULTIMATE.start_main_#t~post13#1, ULTIMATE.start_main_~#t_ids~0#1.offset, ULTIMATE.start_main_#t~nondet12#1] {558797#true} is VALID [2022-02-20 20:41:19,563 INFO L290 TraceCheckUtils]: 36: Hoare triple {558797#true} [549] L707-->L707-1: Formula: (and (= (store |v_#length_6| |v_ULTIMATE.start_main_~#t_ids~0#1.base_2| 40000) |v_#length_5|) (= |v_#valid_6| (store |v_#valid_7| |v_ULTIMATE.start_main_~#t_ids~0#1.base_2| 1)) (= |v_ULTIMATE.start_main_~#t_ids~0#1.offset_2| 0) (not (= |v_ULTIMATE.start_main_~#t_ids~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t_ids~0#1.base_2|) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#t_ids~0#1.base_2|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_6|, #valid=|v_#valid_7|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, ULTIMATE.start_main_~#t_ids~0#1.offset=|v_ULTIMATE.start_main_~#t_ids~0#1.offset_2|, #length=|v_#length_5|, ULTIMATE.start_main_~#t_ids~0#1.base=|v_ULTIMATE.start_main_~#t_ids~0#1.base_2|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t_ids~0#1.base, #valid, ULTIMATE.start_main_~#t_ids~0#1.offset, #length] {558797#true} is VALID [2022-02-20 20:41:19,564 INFO L290 TraceCheckUtils]: 37: Hoare triple {558797#true} [541] L707-1-->L707-13: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 0) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {558799#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 20:41:19,564 INFO L290 TraceCheckUtils]: 38: Hoare triple {558799#(= |ULTIMATE.start_main_~i~0#1| 0)} [557] L707-13-->L707-4: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 10000) 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[] {558799#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 20:41:19,564 INFO L290 TraceCheckUtils]: 39: Hoare triple {558799#(= |ULTIMATE.start_main_~i~0#1| 0)} [573] L707-4-->L707-5: Formula: (= |v_ULTIMATE.start_main_#t~pre9#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre9#1] {558799#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 20:41:19,564 INFO L290 TraceCheckUtils]: 40: Hoare triple {558799#(= |ULTIMATE.start_main_~i~0#1| 0)} [571] L707-5-->L707-6: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {558799#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 20:41:19,565 INFO L290 TraceCheckUtils]: 41: Hoare triple {558799#(= |ULTIMATE.start_main_~i~0#1| 0)} [562] L707-6-->L707-7: Formula: (= |v_#memory_int_13| (store |v_#memory_int_14| |v_ULTIMATE.start_main_~#t_ids~0#1.base_3| (store (select |v_#memory_int_14| |v_ULTIMATE.start_main_~#t_ids~0#1.base_3|) (+ |v_ULTIMATE.start_main_~#t_ids~0#1.offset_3| (* |v_ULTIMATE.start_main_~i~0#1_5| 4)) |v_ULTIMATE.start_main_#t~pre9#1_3|))) InVars {#memory_int=|v_#memory_int_14|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t_ids~0#1.offset=|v_ULTIMATE.start_main_~#t_ids~0#1.offset_3|, ULTIMATE.start_main_~#t_ids~0#1.base=|v_ULTIMATE.start_main_~#t_ids~0#1.base_3|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_3|} OutVars{#memory_int=|v_#memory_int_13|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t_ids~0#1.offset=|v_ULTIMATE.start_main_~#t_ids~0#1.offset_3|, ULTIMATE.start_main_~#t_ids~0#1.base=|v_ULTIMATE.start_main_~#t_ids~0#1.base_3|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_3|} AuxVars[] AssignedVars[#memory_int] {558799#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 20:41:19,565 INFO L290 TraceCheckUtils]: 42: Hoare triple {558799#(= |ULTIMATE.start_main_~i~0#1| 0)} [683] L707-7-->t_funENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre9#1_14| v_t_funThread1of3ForFork0_thidvar0_2) (= |v_t_funThread1of3ForFork0_#in~arg.offset_4| 0) (= |v_t_funThread1of3ForFork0_#in~arg.base_4| 0)) InVars {ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_14|} OutVars{t_funThread1of3ForFork0_#res.offset=|v_t_funThread1of3ForFork0_#res.offset_4|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_14|, t_funThread1of3ForFork0_thidvar0=v_t_funThread1of3ForFork0_thidvar0_2, t_funThread1of3ForFork0_#t~nondet4=|v_t_funThread1of3ForFork0_#t~nondet4_6|, t_funThread1of3ForFork0_#t~nondet3=|v_t_funThread1of3ForFork0_#t~nondet3_6|, t_funThread1of3ForFork0_#t~nondet6=|v_t_funThread1of3ForFork0_#t~nondet6_6|, t_funThread1of3ForFork0_#t~post7=|v_t_funThread1of3ForFork0_#t~post7_8|, t_funThread1of3ForFork0_~arg.offset=v_t_funThread1of3ForFork0_~arg.offset_4, t_funThread1of3ForFork0_#t~post5=|v_t_funThread1of3ForFork0_#t~post5_8|, t_funThread1of3ForFork0_#in~arg.base=|v_t_funThread1of3ForFork0_#in~arg.base_4|, t_funThread1of3ForFork0_#res.base=|v_t_funThread1of3ForFork0_#res.base_4|, t_funThread1of3ForFork0_#in~arg.offset=|v_t_funThread1of3ForFork0_#in~arg.offset_4|, t_funThread1of3ForFork0_~arg.base=v_t_funThread1of3ForFork0_~arg.base_4} AuxVars[] AssignedVars[t_funThread1of3ForFork0_#t~post7, t_funThread1of3ForFork0_~arg.offset, t_funThread1of3ForFork0_#res.offset, t_funThread1of3ForFork0_#t~post5, t_funThread1of3ForFork0_#in~arg.base, t_funThread1of3ForFork0_#res.base, t_funThread1of3ForFork0_#in~arg.offset, t_funThread1of3ForFork0_thidvar0, t_funThread1of3ForFork0_#t~nondet4, t_funThread1of3ForFork0_#t~nondet3, t_funThread1of3ForFork0_#t~nondet6, t_funThread1of3ForFork0_~arg.base] {558799#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 20:41:19,565 INFO L290 TraceCheckUtils]: 43: Hoare triple {558799#(= |ULTIMATE.start_main_~i~0#1| 0)} [554] L707-8-->L707-9: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre9#1] {558799#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 20:41:19,566 INFO L290 TraceCheckUtils]: 44: Hoare triple {558799#(= |ULTIMATE.start_main_~i~0#1| 0)} [587] L707-9-->L707-10: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet10#1] {558799#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 20:41:19,566 INFO L290 TraceCheckUtils]: 45: Hoare triple {558799#(= |ULTIMATE.start_main_~i~0#1| 0)} [528] L707-10-->L707-11: Formula: (= |v_ULTIMATE.start_main_#t~post8#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_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|, ULTIMATE.start_main_#t~post8#1=|v_ULTIMATE.start_main_#t~post8#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post8#1] {558800#(= |ULTIMATE.start_main_#t~post8#1| 0)} is VALID [2022-02-20 20:41:19,567 INFO L290 TraceCheckUtils]: 46: Hoare triple {558800#(= |ULTIMATE.start_main_#t~post8#1| 0)} [499] L707-11-->L707-12: Formula: (= (+ |v_ULTIMATE.start_main_#t~post8#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post8#1=|v_ULTIMATE.start_main_#t~post8#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|, ULTIMATE.start_main_#t~post8#1=|v_ULTIMATE.start_main_#t~post8#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {558801#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 20:41:19,567 INFO L290 TraceCheckUtils]: 47: Hoare triple {558801#(<= |ULTIMATE.start_main_~i~0#1| 1)} [548] L707-12-->L707-13: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post8#1=|v_ULTIMATE.start_main_#t~post8#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post8#1] {558801#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 20:41:19,567 INFO L290 TraceCheckUtils]: 48: Hoare triple {558801#(<= |ULTIMATE.start_main_~i~0#1| 1)} [556] L707-13-->L707-14: Formula: (not (< |v_ULTIMATE.start_main_~i~0#1_3| 10000)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} AuxVars[] AssignedVars[] {558798#false} is VALID [2022-02-20 20:41:19,567 INFO L290 TraceCheckUtils]: 49: Hoare triple {558798#false} [488] L707-14-->L708: Formula: (let ((.cse0 (select |v_#pthreadsMutex_2| |v_~#mutex1~0.base_7|))) (and (= |v_#pthreadsMutex_1| (store |v_#pthreadsMutex_2| |v_~#mutex1~0.base_7| (store .cse0 |v_~#mutex1~0.offset_7| 1))) (= |v_ULTIMATE.start_main_#t~nondet11#1_2| 0) (= (select .cse0 |v_~#mutex1~0.offset_7|) 0))) InVars {#pthreadsMutex=|v_#pthreadsMutex_2|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_7|, ~#mutex1~0.base=|v_~#mutex1~0.base_7|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_1|, ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_2|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_7|, ~#mutex1~0.base=|v_~#mutex1~0.base_7|} AuxVars[] AssignedVars[#pthreadsMutex, ULTIMATE.start_main_#t~nondet11#1] {558798#false} is VALID [2022-02-20 20:41:19,568 INFO L290 TraceCheckUtils]: 50: Hoare triple {558798#false} [489] L708-->L709-7: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet11#1] {558798#false} is VALID [2022-02-20 20:41:19,568 INFO L290 TraceCheckUtils]: 51: Hoare triple {558798#false} [567] L709-7-->L709-1: Formula: (let ((.cse0 (select |v_#pthreadsMutex_4| |v_~#__global_lock~0.base_7|))) (and (= (select .cse0 |v_~#__global_lock~0.offset_7|) 0) (= |v_#pthreadsMutex_3| (store |v_#pthreadsMutex_4| |v_~#__global_lock~0.base_7| (store .cse0 |v_~#__global_lock~0.offset_7| 1))) (= |v_ULTIMATE.start_main_#t~nondet12#1_2| 0))) InVars {#pthreadsMutex=|v_#pthreadsMutex_4|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_7|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_7|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_3|, ULTIMATE.start_main_#t~nondet12#1=|v_ULTIMATE.start_main_#t~nondet12#1_2|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_7|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_7|} AuxVars[] AssignedVars[#pthreadsMutex, ULTIMATE.start_main_#t~nondet12#1] {558798#false} is VALID [2022-02-20 20:41:19,568 INFO L290 TraceCheckUtils]: 52: Hoare triple {558798#false} [532] L709-1-->L709-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet12#1=|v_ULTIMATE.start_main_#t~nondet12#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet12#1] {558798#false} is VALID [2022-02-20 20:41:19,568 INFO L290 TraceCheckUtils]: 53: Hoare triple {558798#false} [485] L709-2-->L709-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {558798#false} is VALID [2022-02-20 20:41:19,568 INFO L290 TraceCheckUtils]: 54: Hoare triple {558798#false} [575] L709-3-->L709-4: Formula: (= (ite (= v_~global~0_2 0) 1 0) |v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_1|) InVars {~global~0=v_~global~0_2} OutVars{ULTIMATE.start___VERIFIER_assert_#in~cond#1=|v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_1|, ~global~0=v_~global~0_2} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_#in~cond#1] {558798#false} is VALID [2022-02-20 20:41:19,568 INFO L290 TraceCheckUtils]: 55: Hoare triple {558798#false} [527] L709-4-->L691: Formula: true InVars {} OutVars{ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_~cond#1] {558798#false} is VALID [2022-02-20 20:41:19,568 INFO L290 TraceCheckUtils]: 56: Hoare triple {558798#false} [513] L691-->L691-1: Formula: (= |v_ULTIMATE.start___VERIFIER_assert_~cond#1_2| |v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_2|) InVars {ULTIMATE.start___VERIFIER_assert_#in~cond#1=|v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_2|} OutVars{ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_2|, ULTIMATE.start___VERIFIER_assert_#in~cond#1=|v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_2|} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_~cond#1] {558798#false} is VALID [2022-02-20 20:41:19,569 INFO L290 TraceCheckUtils]: 57: Hoare triple {558798#false} [596] L691-1-->L691-2: Formula: (= |v_ULTIMATE.start___VERIFIER_assert_~cond#1_3| 0) InVars {ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_3|} OutVars{ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_3|} AuxVars[] AssignedVars[] {558798#false} is VALID [2022-02-20 20:41:19,569 INFO L290 TraceCheckUtils]: 58: Hoare triple {558798#false} [510] L691-2-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {558798#false} is VALID [2022-02-20 20:41:19,569 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 20:41:19,569 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 20:41:19,569 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [757039549] [2022-02-20 20:41:19,569 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [757039549] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 20:41:19,569 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1523666833] [2022-02-20 20:41:19,570 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:41:19,570 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 20:41:19,570 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 20:41:19,571 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 20:41:19,572 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-02-20 20:41:19,633 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:41:19,634 INFO L263 TraceCheckSpWp]: Trace formula consists of 143 conjuncts, 4 conjunts are in the unsatisfiable core [2022-02-20 20:41:19,650 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:41:19,651 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 20:41:19,773 INFO L290 TraceCheckUtils]: 0: Hoare triple {558797#true} [588] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {558797#true} is VALID [2022-02-20 20:41:19,774 INFO L290 TraceCheckUtils]: 1: Hoare triple {558797#true} [514] L-1-->L-1-1: Formula: true InVars {} OutVars{ULTIMATE.start_ULTIMATE.init_#t~nondet15#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_ULTIMATE.init_#t~nondet15#1] {558797#true} is VALID [2022-02-20 20:41:19,774 INFO L290 TraceCheckUtils]: 2: Hoare triple {558797#true} [591] L-1-1-->L-1-2: 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] {558797#true} is VALID [2022-02-20 20:41:19,774 INFO L290 TraceCheckUtils]: 3: Hoare triple {558797#true} [592] L-1-2-->L-1-3: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] {558797#true} is VALID [2022-02-20 20:41:19,774 INFO L290 TraceCheckUtils]: 4: Hoare triple {558797#true} [594] L-1-3-->L690: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {558797#true} is VALID [2022-02-20 20:41:19,774 INFO L290 TraceCheckUtils]: 5: Hoare triple {558797#true} [531] L690-->L690-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[] {558797#true} is VALID [2022-02-20 20:41:19,774 INFO L290 TraceCheckUtils]: 6: Hoare triple {558797#true} [487] L690-1-->L690-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[] {558797#true} is VALID [2022-02-20 20:41:19,775 INFO L290 TraceCheckUtils]: 7: Hoare triple {558797#true} [501] L690-2-->L690-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[] {558797#true} is VALID [2022-02-20 20:41:19,775 INFO L290 TraceCheckUtils]: 8: Hoare triple {558797#true} [574] L690-3-->L690-4: Formula: (and (= (select |v_#length_2| 2) 13) (= (select |v_#valid_3| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {558797#true} is VALID [2022-02-20 20:41:19,775 INFO L290 TraceCheckUtils]: 9: Hoare triple {558797#true} [537] L690-4-->L696: Formula: (and (= 3 |v_~#__global_lock~0.base_1|) (= |v_~#__global_lock~0.offset_1| 0)) InVars {} OutVars{~#__global_lock~0.base=|v_~#__global_lock~0.base_1|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_1|} AuxVars[] AssignedVars[~#__global_lock~0.offset, ~#__global_lock~0.base] {558797#true} is VALID [2022-02-20 20:41:19,775 INFO L290 TraceCheckUtils]: 10: Hoare triple {558797#true} [522] L696-->L696-1: Formula: (and (= (select |v_#length_3| 3) 24) (= (select |v_#valid_4| 3) 1)) InVars {#length=|v_#length_3|, #valid=|v_#valid_4|} OutVars{#length=|v_#length_3|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[] {558797#true} is VALID [2022-02-20 20:41:19,775 INFO L290 TraceCheckUtils]: 11: Hoare triple {558797#true} [576] L696-1-->L696-2: Formula: (= (select (select |v_#memory_int_3| |v_~#__global_lock~0.base_2|) |v_~#__global_lock~0.offset_2|) 0) InVars {#memory_int=|v_#memory_int_3|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_2|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_2|} OutVars{#memory_int=|v_#memory_int_3|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_2|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_2|} AuxVars[] AssignedVars[] {558797#true} is VALID [2022-02-20 20:41:19,775 INFO L290 TraceCheckUtils]: 12: Hoare triple {558797#true} [497] L696-2-->L696-3: Formula: (= (select (select |v_#memory_int_4| |v_~#__global_lock~0.base_3|) (+ |v_~#__global_lock~0.offset_3| 4)) 0) InVars {#memory_int=|v_#memory_int_4|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_3|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_3|} OutVars{#memory_int=|v_#memory_int_4|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_3|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_3|} AuxVars[] AssignedVars[] {558797#true} is VALID [2022-02-20 20:41:19,775 INFO L290 TraceCheckUtils]: 13: Hoare triple {558797#true} [595] L696-3-->L696-4: Formula: (= (select (select |v_#memory_int_5| |v_~#__global_lock~0.base_4|) (+ |v_~#__global_lock~0.offset_4| 8)) 0) InVars {#memory_int=|v_#memory_int_5|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_4|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_4|} OutVars{#memory_int=|v_#memory_int_5|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_4|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_4|} AuxVars[] AssignedVars[] {558797#true} is VALID [2022-02-20 20:41:19,776 INFO L290 TraceCheckUtils]: 14: Hoare triple {558797#true} [584] L696-4-->L696-5: Formula: (= (select (select |v_#memory_int_6| |v_~#__global_lock~0.base_5|) (+ |v_~#__global_lock~0.offset_5| 12)) 0) InVars {#memory_int=|v_#memory_int_6|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_5|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_5|} OutVars{#memory_int=|v_#memory_int_6|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_5|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_5|} AuxVars[] AssignedVars[] {558797#true} is VALID [2022-02-20 20:41:19,776 INFO L290 TraceCheckUtils]: 15: Hoare triple {558797#true} [526] L696-5-->L696-6: Formula: (= (select (select |v_#memory_int_7| |v_~#__global_lock~0.base_6|) (+ 16 |v_~#__global_lock~0.offset_6|)) 0) InVars {#memory_int=|v_#memory_int_7|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_6|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_6|} OutVars{#memory_int=|v_#memory_int_7|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_6|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_6|} AuxVars[] AssignedVars[] {558797#true} is VALID [2022-02-20 20:41:19,776 INFO L290 TraceCheckUtils]: 16: Hoare triple {558797#true} [535] L696-6-->L698: Formula: (= v_~global~0_1 0) InVars {} OutVars{~global~0=v_~global~0_1} AuxVars[] AssignedVars[~global~0] {558797#true} is VALID [2022-02-20 20:41:19,776 INFO L290 TraceCheckUtils]: 17: Hoare triple {558797#true} [566] L698-->L698-1: Formula: (and (= |v_~#mutex1~0.offset_1| 0) (= |v_~#mutex1~0.base_1| 4)) InVars {} OutVars{~#mutex1~0.offset=|v_~#mutex1~0.offset_1|, ~#mutex1~0.base=|v_~#mutex1~0.base_1|} AuxVars[] AssignedVars[~#mutex1~0.offset, ~#mutex1~0.base] {558797#true} is VALID [2022-02-20 20:41:19,776 INFO L290 TraceCheckUtils]: 18: Hoare triple {558797#true} [564] L698-1-->L698-2: Formula: (and (= (select |v_#length_4| 4) 24) (= (select |v_#valid_5| 4) 1)) InVars {#length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#length=|v_#length_4|, #valid=|v_#valid_5|} AuxVars[] AssignedVars[] {558797#true} is VALID [2022-02-20 20:41:19,776 INFO L290 TraceCheckUtils]: 19: Hoare triple {558797#true} [585] L698-2-->L698-3: Formula: (= (select (select |v_#memory_int_8| |v_~#mutex1~0.base_2|) |v_~#mutex1~0.offset_2|) 0) InVars {#memory_int=|v_#memory_int_8|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_2|, ~#mutex1~0.base=|v_~#mutex1~0.base_2|} OutVars{#memory_int=|v_#memory_int_8|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_2|, ~#mutex1~0.base=|v_~#mutex1~0.base_2|} AuxVars[] AssignedVars[] {558797#true} is VALID [2022-02-20 20:41:19,776 INFO L290 TraceCheckUtils]: 20: Hoare triple {558797#true} [502] L698-3-->L698-4: Formula: (= (select (select |v_#memory_int_9| |v_~#mutex1~0.base_3|) (+ |v_~#mutex1~0.offset_3| 4)) 0) InVars {#memory_int=|v_#memory_int_9|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_3|, ~#mutex1~0.base=|v_~#mutex1~0.base_3|} OutVars{#memory_int=|v_#memory_int_9|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_3|, ~#mutex1~0.base=|v_~#mutex1~0.base_3|} AuxVars[] AssignedVars[] {558797#true} is VALID [2022-02-20 20:41:19,777 INFO L290 TraceCheckUtils]: 21: Hoare triple {558797#true} [565] L698-4-->L698-5: Formula: (= (select (select |v_#memory_int_10| |v_~#mutex1~0.base_4|) (+ |v_~#mutex1~0.offset_4| 8)) 0) InVars {#memory_int=|v_#memory_int_10|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_4|, ~#mutex1~0.base=|v_~#mutex1~0.base_4|} OutVars{#memory_int=|v_#memory_int_10|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_4|, ~#mutex1~0.base=|v_~#mutex1~0.base_4|} AuxVars[] AssignedVars[] {558797#true} is VALID [2022-02-20 20:41:19,777 INFO L290 TraceCheckUtils]: 22: Hoare triple {558797#true} [589] L698-5-->L698-6: Formula: (= (select (select |v_#memory_int_11| |v_~#mutex1~0.base_5|) (+ |v_~#mutex1~0.offset_5| 12)) 0) InVars {#memory_int=|v_#memory_int_11|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_5|, ~#mutex1~0.base=|v_~#mutex1~0.base_5|} OutVars{#memory_int=|v_#memory_int_11|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_5|, ~#mutex1~0.base=|v_~#mutex1~0.base_5|} AuxVars[] AssignedVars[] {558797#true} is VALID [2022-02-20 20:41:19,777 INFO L290 TraceCheckUtils]: 23: Hoare triple {558797#true} [586] L698-6-->L698-7: Formula: (= (select (select |v_#memory_int_12| |v_~#mutex1~0.base_6|) (+ 16 |v_~#mutex1~0.offset_6|)) 0) InVars {#memory_int=|v_#memory_int_12|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_6|, ~#mutex1~0.base=|v_~#mutex1~0.base_6|} OutVars{#memory_int=|v_#memory_int_12|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_6|, ~#mutex1~0.base=|v_~#mutex1~0.base_6|} AuxVars[] AssignedVars[] {558797#true} is VALID [2022-02-20 20:41:19,777 INFO L290 TraceCheckUtils]: 24: Hoare triple {558797#true} [496] L698-7-->L699: Formula: (= v_~mutex2~0.__data.__lock_1 0) InVars {} OutVars{~mutex2~0.__data.__lock=v_~mutex2~0.__data.__lock_1} AuxVars[] AssignedVars[~mutex2~0.__data.__lock] {558797#true} is VALID [2022-02-20 20:41:19,777 INFO L290 TraceCheckUtils]: 25: Hoare triple {558797#true} [517] L699-->L699-1: Formula: (= v_~mutex2~0.__data.__count_1 0) InVars {} OutVars{~mutex2~0.__data.__count=v_~mutex2~0.__data.__count_1} AuxVars[] AssignedVars[~mutex2~0.__data.__count] {558797#true} is VALID [2022-02-20 20:41:19,777 INFO L290 TraceCheckUtils]: 26: Hoare triple {558797#true} [560] L699-1-->L699-2: Formula: (= v_~mutex2~0.__data.__owner_1 0) InVars {} OutVars{~mutex2~0.__data.__owner=v_~mutex2~0.__data.__owner_1} AuxVars[] AssignedVars[~mutex2~0.__data.__owner] {558797#true} is VALID [2022-02-20 20:41:19,777 INFO L290 TraceCheckUtils]: 27: Hoare triple {558797#true} [490] L699-2-->L699-3: Formula: (= v_~mutex2~0.__data.__kind_1 0) InVars {} OutVars{~mutex2~0.__data.__kind=v_~mutex2~0.__data.__kind_1} AuxVars[] AssignedVars[~mutex2~0.__data.__kind] {558797#true} is VALID [2022-02-20 20:41:19,778 INFO L290 TraceCheckUtils]: 28: Hoare triple {558797#true} [495] L699-3-->L699-4: Formula: (= v_~mutex2~0.__data.__nusers_1 0) InVars {} OutVars{~mutex2~0.__data.__nusers=v_~mutex2~0.__data.__nusers_1} AuxVars[] AssignedVars[~mutex2~0.__data.__nusers] {558797#true} is VALID [2022-02-20 20:41:19,778 INFO L290 TraceCheckUtils]: 29: Hoare triple {558797#true} [505] L699-4-->L699-5: Formula: (= ((as const (Array Int Int)) 0) v_~mutex2~0.__size_1) InVars {} OutVars{~mutex2~0.__size=v_~mutex2~0.__size_1} AuxVars[] AssignedVars[~mutex2~0.__size] {558797#true} is VALID [2022-02-20 20:41:19,778 INFO L290 TraceCheckUtils]: 30: Hoare triple {558797#true} [508] L699-5-->L699-6: Formula: (= v_~mutex2~0.__align_1 |v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_2|) InVars {ULTIMATE.start_ULTIMATE.init_#t~nondet15#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_2|} OutVars{~mutex2~0.__align=v_~mutex2~0.__align_1, ULTIMATE.start_ULTIMATE.init_#t~nondet15#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_2|} AuxVars[] AssignedVars[~mutex2~0.__align] {558797#true} is VALID [2022-02-20 20:41:19,778 INFO L290 TraceCheckUtils]: 31: Hoare triple {558797#true} [536] L699-6-->L-1-4: Formula: true InVars {} OutVars{ULTIMATE.start_ULTIMATE.init_#t~nondet15#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_ULTIMATE.init_#t~nondet15#1] {558797#true} is VALID [2022-02-20 20:41:19,778 INFO L290 TraceCheckUtils]: 32: Hoare triple {558797#true} [519] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {558797#true} is VALID [2022-02-20 20:41:19,778 INFO L290 TraceCheckUtils]: 33: Hoare triple {558797#true} [494] L-1-5-->L-1-6: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {558797#true} is VALID [2022-02-20 20:41:19,778 INFO L290 TraceCheckUtils]: 34: Hoare triple {558797#true} [583] 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] {558797#true} is VALID [2022-02-20 20:41:19,779 INFO L290 TraceCheckUtils]: 35: Hoare triple {558797#true} [493] L-1-7-->L707: Formula: true InVars {} OutVars{ULTIMATE.start_main_~i~1#1=|v_ULTIMATE.start_main_~i~1#1_1|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_1|, ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_1|, ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_1|, ULTIMATE.start_main_#t~mem14#1=|v_ULTIMATE.start_main_#t~mem14#1_1|, ULTIMATE.start_main_~#t_ids~0#1.base=|v_ULTIMATE.start_main_~#t_ids~0#1.base_1|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_1|, ULTIMATE.start_main_#t~post8#1=|v_ULTIMATE.start_main_#t~post8#1_1|, ULTIMATE.start_main_#t~post13#1=|v_ULTIMATE.start_main_#t~post13#1_1|, ULTIMATE.start_main_~#t_ids~0#1.offset=|v_ULTIMATE.start_main_~#t_ids~0#1.offset_1|, ULTIMATE.start_main_#t~nondet12#1=|v_ULTIMATE.start_main_#t~nondet12#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet11#1, ULTIMATE.start_main_#t~nondet10#1, ULTIMATE.start_main_#t~mem14#1, ULTIMATE.start_main_~#t_ids~0#1.base, ULTIMATE.start_main_#t~pre9#1, ULTIMATE.start_main_#t~post8#1, ULTIMATE.start_main_#t~post13#1, ULTIMATE.start_main_~#t_ids~0#1.offset, ULTIMATE.start_main_#t~nondet12#1] {558797#true} is VALID [2022-02-20 20:41:19,779 INFO L290 TraceCheckUtils]: 36: Hoare triple {558797#true} [549] L707-->L707-1: Formula: (and (= (store |v_#length_6| |v_ULTIMATE.start_main_~#t_ids~0#1.base_2| 40000) |v_#length_5|) (= |v_#valid_6| (store |v_#valid_7| |v_ULTIMATE.start_main_~#t_ids~0#1.base_2| 1)) (= |v_ULTIMATE.start_main_~#t_ids~0#1.offset_2| 0) (not (= |v_ULTIMATE.start_main_~#t_ids~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t_ids~0#1.base_2|) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#t_ids~0#1.base_2|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_6|, #valid=|v_#valid_7|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, ULTIMATE.start_main_~#t_ids~0#1.offset=|v_ULTIMATE.start_main_~#t_ids~0#1.offset_2|, #length=|v_#length_5|, ULTIMATE.start_main_~#t_ids~0#1.base=|v_ULTIMATE.start_main_~#t_ids~0#1.base_2|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t_ids~0#1.base, #valid, ULTIMATE.start_main_~#t_ids~0#1.offset, #length] {558797#true} is VALID [2022-02-20 20:41:19,779 INFO L290 TraceCheckUtils]: 37: Hoare triple {558797#true} [541] L707-1-->L707-13: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 0) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {558916#(<= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 20:41:19,779 INFO L290 TraceCheckUtils]: 38: Hoare triple {558916#(<= |ULTIMATE.start_main_~i~0#1| 0)} [557] L707-13-->L707-4: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 10000) 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[] {558916#(<= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 20:41:19,780 INFO L290 TraceCheckUtils]: 39: Hoare triple {558916#(<= |ULTIMATE.start_main_~i~0#1| 0)} [573] L707-4-->L707-5: Formula: (= |v_ULTIMATE.start_main_#t~pre9#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre9#1] {558916#(<= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 20:41:19,780 INFO L290 TraceCheckUtils]: 40: Hoare triple {558916#(<= |ULTIMATE.start_main_~i~0#1| 0)} [571] L707-5-->L707-6: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {558916#(<= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 20:41:19,780 INFO L290 TraceCheckUtils]: 41: Hoare triple {558916#(<= |ULTIMATE.start_main_~i~0#1| 0)} [562] L707-6-->L707-7: Formula: (= |v_#memory_int_13| (store |v_#memory_int_14| |v_ULTIMATE.start_main_~#t_ids~0#1.base_3| (store (select |v_#memory_int_14| |v_ULTIMATE.start_main_~#t_ids~0#1.base_3|) (+ |v_ULTIMATE.start_main_~#t_ids~0#1.offset_3| (* |v_ULTIMATE.start_main_~i~0#1_5| 4)) |v_ULTIMATE.start_main_#t~pre9#1_3|))) InVars {#memory_int=|v_#memory_int_14|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t_ids~0#1.offset=|v_ULTIMATE.start_main_~#t_ids~0#1.offset_3|, ULTIMATE.start_main_~#t_ids~0#1.base=|v_ULTIMATE.start_main_~#t_ids~0#1.base_3|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_3|} OutVars{#memory_int=|v_#memory_int_13|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t_ids~0#1.offset=|v_ULTIMATE.start_main_~#t_ids~0#1.offset_3|, ULTIMATE.start_main_~#t_ids~0#1.base=|v_ULTIMATE.start_main_~#t_ids~0#1.base_3|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_3|} AuxVars[] AssignedVars[#memory_int] {558916#(<= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 20:41:19,781 INFO L290 TraceCheckUtils]: 42: Hoare triple {558916#(<= |ULTIMATE.start_main_~i~0#1| 0)} [683] L707-7-->t_funENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre9#1_14| v_t_funThread1of3ForFork0_thidvar0_2) (= |v_t_funThread1of3ForFork0_#in~arg.offset_4| 0) (= |v_t_funThread1of3ForFork0_#in~arg.base_4| 0)) InVars {ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_14|} OutVars{t_funThread1of3ForFork0_#res.offset=|v_t_funThread1of3ForFork0_#res.offset_4|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_14|, t_funThread1of3ForFork0_thidvar0=v_t_funThread1of3ForFork0_thidvar0_2, t_funThread1of3ForFork0_#t~nondet4=|v_t_funThread1of3ForFork0_#t~nondet4_6|, t_funThread1of3ForFork0_#t~nondet3=|v_t_funThread1of3ForFork0_#t~nondet3_6|, t_funThread1of3ForFork0_#t~nondet6=|v_t_funThread1of3ForFork0_#t~nondet6_6|, t_funThread1of3ForFork0_#t~post7=|v_t_funThread1of3ForFork0_#t~post7_8|, t_funThread1of3ForFork0_~arg.offset=v_t_funThread1of3ForFork0_~arg.offset_4, t_funThread1of3ForFork0_#t~post5=|v_t_funThread1of3ForFork0_#t~post5_8|, t_funThread1of3ForFork0_#in~arg.base=|v_t_funThread1of3ForFork0_#in~arg.base_4|, t_funThread1of3ForFork0_#res.base=|v_t_funThread1of3ForFork0_#res.base_4|, t_funThread1of3ForFork0_#in~arg.offset=|v_t_funThread1of3ForFork0_#in~arg.offset_4|, t_funThread1of3ForFork0_~arg.base=v_t_funThread1of3ForFork0_~arg.base_4} AuxVars[] AssignedVars[t_funThread1of3ForFork0_#t~post7, t_funThread1of3ForFork0_~arg.offset, t_funThread1of3ForFork0_#res.offset, t_funThread1of3ForFork0_#t~post5, t_funThread1of3ForFork0_#in~arg.base, t_funThread1of3ForFork0_#res.base, t_funThread1of3ForFork0_#in~arg.offset, t_funThread1of3ForFork0_thidvar0, t_funThread1of3ForFork0_#t~nondet4, t_funThread1of3ForFork0_#t~nondet3, t_funThread1of3ForFork0_#t~nondet6, t_funThread1of3ForFork0_~arg.base] {558916#(<= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 20:41:19,781 INFO L290 TraceCheckUtils]: 43: Hoare triple {558916#(<= |ULTIMATE.start_main_~i~0#1| 0)} [554] L707-8-->L707-9: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre9#1] {558916#(<= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 20:41:19,781 INFO L290 TraceCheckUtils]: 44: Hoare triple {558916#(<= |ULTIMATE.start_main_~i~0#1| 0)} [587] L707-9-->L707-10: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet10#1] {558916#(<= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 20:41:19,782 INFO L290 TraceCheckUtils]: 45: Hoare triple {558916#(<= |ULTIMATE.start_main_~i~0#1| 0)} [528] L707-10-->L707-11: Formula: (= |v_ULTIMATE.start_main_#t~post8#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_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|, ULTIMATE.start_main_#t~post8#1=|v_ULTIMATE.start_main_#t~post8#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post8#1] {558941#(<= |ULTIMATE.start_main_#t~post8#1| 0)} is VALID [2022-02-20 20:41:19,782 INFO L290 TraceCheckUtils]: 46: Hoare triple {558941#(<= |ULTIMATE.start_main_#t~post8#1| 0)} [499] L707-11-->L707-12: Formula: (= (+ |v_ULTIMATE.start_main_#t~post8#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post8#1=|v_ULTIMATE.start_main_#t~post8#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|, ULTIMATE.start_main_#t~post8#1=|v_ULTIMATE.start_main_#t~post8#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {558801#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 20:41:19,782 INFO L290 TraceCheckUtils]: 47: Hoare triple {558801#(<= |ULTIMATE.start_main_~i~0#1| 1)} [548] L707-12-->L707-13: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post8#1=|v_ULTIMATE.start_main_#t~post8#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post8#1] {558801#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 20:41:19,783 INFO L290 TraceCheckUtils]: 48: Hoare triple {558801#(<= |ULTIMATE.start_main_~i~0#1| 1)} [556] L707-13-->L707-14: Formula: (not (< |v_ULTIMATE.start_main_~i~0#1_3| 10000)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} AuxVars[] AssignedVars[] {558798#false} is VALID [2022-02-20 20:41:19,783 INFO L290 TraceCheckUtils]: 49: Hoare triple {558798#false} [488] L707-14-->L708: Formula: (let ((.cse0 (select |v_#pthreadsMutex_2| |v_~#mutex1~0.base_7|))) (and (= |v_#pthreadsMutex_1| (store |v_#pthreadsMutex_2| |v_~#mutex1~0.base_7| (store .cse0 |v_~#mutex1~0.offset_7| 1))) (= |v_ULTIMATE.start_main_#t~nondet11#1_2| 0) (= (select .cse0 |v_~#mutex1~0.offset_7|) 0))) InVars {#pthreadsMutex=|v_#pthreadsMutex_2|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_7|, ~#mutex1~0.base=|v_~#mutex1~0.base_7|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_1|, ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_2|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_7|, ~#mutex1~0.base=|v_~#mutex1~0.base_7|} AuxVars[] AssignedVars[#pthreadsMutex, ULTIMATE.start_main_#t~nondet11#1] {558798#false} is VALID [2022-02-20 20:41:19,783 INFO L290 TraceCheckUtils]: 50: Hoare triple {558798#false} [489] L708-->L709-7: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet11#1] {558798#false} is VALID [2022-02-20 20:41:19,783 INFO L290 TraceCheckUtils]: 51: Hoare triple {558798#false} [567] L709-7-->L709-1: Formula: (let ((.cse0 (select |v_#pthreadsMutex_4| |v_~#__global_lock~0.base_7|))) (and (= (select .cse0 |v_~#__global_lock~0.offset_7|) 0) (= |v_#pthreadsMutex_3| (store |v_#pthreadsMutex_4| |v_~#__global_lock~0.base_7| (store .cse0 |v_~#__global_lock~0.offset_7| 1))) (= |v_ULTIMATE.start_main_#t~nondet12#1_2| 0))) InVars {#pthreadsMutex=|v_#pthreadsMutex_4|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_7|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_7|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_3|, ULTIMATE.start_main_#t~nondet12#1=|v_ULTIMATE.start_main_#t~nondet12#1_2|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_7|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_7|} AuxVars[] AssignedVars[#pthreadsMutex, ULTIMATE.start_main_#t~nondet12#1] {558798#false} is VALID [2022-02-20 20:41:19,783 INFO L290 TraceCheckUtils]: 52: Hoare triple {558798#false} [532] L709-1-->L709-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet12#1=|v_ULTIMATE.start_main_#t~nondet12#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet12#1] {558798#false} is VALID [2022-02-20 20:41:19,784 INFO L290 TraceCheckUtils]: 53: Hoare triple {558798#false} [485] L709-2-->L709-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {558798#false} is VALID [2022-02-20 20:41:19,784 INFO L290 TraceCheckUtils]: 54: Hoare triple {558798#false} [575] L709-3-->L709-4: Formula: (= (ite (= v_~global~0_2 0) 1 0) |v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_1|) InVars {~global~0=v_~global~0_2} OutVars{ULTIMATE.start___VERIFIER_assert_#in~cond#1=|v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_1|, ~global~0=v_~global~0_2} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_#in~cond#1] {558798#false} is VALID [2022-02-20 20:41:19,784 INFO L290 TraceCheckUtils]: 55: Hoare triple {558798#false} [527] L709-4-->L691: Formula: true InVars {} OutVars{ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_~cond#1] {558798#false} is VALID [2022-02-20 20:41:19,784 INFO L290 TraceCheckUtils]: 56: Hoare triple {558798#false} [513] L691-->L691-1: Formula: (= |v_ULTIMATE.start___VERIFIER_assert_~cond#1_2| |v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_2|) InVars {ULTIMATE.start___VERIFIER_assert_#in~cond#1=|v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_2|} OutVars{ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_2|, ULTIMATE.start___VERIFIER_assert_#in~cond#1=|v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_2|} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_~cond#1] {558798#false} is VALID [2022-02-20 20:41:19,784 INFO L290 TraceCheckUtils]: 57: Hoare triple {558798#false} [596] L691-1-->L691-2: Formula: (= |v_ULTIMATE.start___VERIFIER_assert_~cond#1_3| 0) InVars {ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_3|} OutVars{ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_3|} AuxVars[] AssignedVars[] {558798#false} is VALID [2022-02-20 20:41:19,784 INFO L290 TraceCheckUtils]: 58: Hoare triple {558798#false} [510] L691-2-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {558798#false} is VALID [2022-02-20 20:41:19,785 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 20:41:19,785 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 20:41:19,903 INFO L290 TraceCheckUtils]: 58: Hoare triple {558798#false} [510] L691-2-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {558798#false} is VALID [2022-02-20 20:41:19,904 INFO L290 TraceCheckUtils]: 57: Hoare triple {558798#false} [596] L691-1-->L691-2: Formula: (= |v_ULTIMATE.start___VERIFIER_assert_~cond#1_3| 0) InVars {ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_3|} OutVars{ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_3|} AuxVars[] AssignedVars[] {558798#false} is VALID [2022-02-20 20:41:19,904 INFO L290 TraceCheckUtils]: 56: Hoare triple {558798#false} [513] L691-->L691-1: Formula: (= |v_ULTIMATE.start___VERIFIER_assert_~cond#1_2| |v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_2|) InVars {ULTIMATE.start___VERIFIER_assert_#in~cond#1=|v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_2|} OutVars{ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_2|, ULTIMATE.start___VERIFIER_assert_#in~cond#1=|v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_2|} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_~cond#1] {558798#false} is VALID [2022-02-20 20:41:19,904 INFO L290 TraceCheckUtils]: 55: Hoare triple {558798#false} [527] L709-4-->L691: Formula: true InVars {} OutVars{ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_~cond#1] {558798#false} is VALID [2022-02-20 20:41:19,904 INFO L290 TraceCheckUtils]: 54: Hoare triple {558798#false} [575] L709-3-->L709-4: Formula: (= (ite (= v_~global~0_2 0) 1 0) |v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_1|) InVars {~global~0=v_~global~0_2} OutVars{ULTIMATE.start___VERIFIER_assert_#in~cond#1=|v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_1|, ~global~0=v_~global~0_2} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_#in~cond#1] {558798#false} is VALID [2022-02-20 20:41:19,904 INFO L290 TraceCheckUtils]: 53: Hoare triple {558798#false} [485] L709-2-->L709-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {558798#false} is VALID [2022-02-20 20:41:19,904 INFO L290 TraceCheckUtils]: 52: Hoare triple {558798#false} [532] L709-1-->L709-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet12#1=|v_ULTIMATE.start_main_#t~nondet12#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet12#1] {558798#false} is VALID [2022-02-20 20:41:19,905 INFO L290 TraceCheckUtils]: 51: Hoare triple {558798#false} [567] L709-7-->L709-1: Formula: (let ((.cse0 (select |v_#pthreadsMutex_4| |v_~#__global_lock~0.base_7|))) (and (= (select .cse0 |v_~#__global_lock~0.offset_7|) 0) (= |v_#pthreadsMutex_3| (store |v_#pthreadsMutex_4| |v_~#__global_lock~0.base_7| (store .cse0 |v_~#__global_lock~0.offset_7| 1))) (= |v_ULTIMATE.start_main_#t~nondet12#1_2| 0))) InVars {#pthreadsMutex=|v_#pthreadsMutex_4|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_7|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_7|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_3|, ULTIMATE.start_main_#t~nondet12#1=|v_ULTIMATE.start_main_#t~nondet12#1_2|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_7|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_7|} AuxVars[] AssignedVars[#pthreadsMutex, ULTIMATE.start_main_#t~nondet12#1] {558798#false} is VALID [2022-02-20 20:41:19,905 INFO L290 TraceCheckUtils]: 50: Hoare triple {558798#false} [489] L708-->L709-7: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet11#1] {558798#false} is VALID [2022-02-20 20:41:19,905 INFO L290 TraceCheckUtils]: 49: Hoare triple {558798#false} [488] L707-14-->L708: Formula: (let ((.cse0 (select |v_#pthreadsMutex_2| |v_~#mutex1~0.base_7|))) (and (= |v_#pthreadsMutex_1| (store |v_#pthreadsMutex_2| |v_~#mutex1~0.base_7| (store .cse0 |v_~#mutex1~0.offset_7| 1))) (= |v_ULTIMATE.start_main_#t~nondet11#1_2| 0) (= (select .cse0 |v_~#mutex1~0.offset_7|) 0))) InVars {#pthreadsMutex=|v_#pthreadsMutex_2|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_7|, ~#mutex1~0.base=|v_~#mutex1~0.base_7|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_1|, ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_2|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_7|, ~#mutex1~0.base=|v_~#mutex1~0.base_7|} AuxVars[] AssignedVars[#pthreadsMutex, ULTIMATE.start_main_#t~nondet11#1] {558798#false} is VALID [2022-02-20 20:41:19,905 INFO L290 TraceCheckUtils]: 48: Hoare triple {559011#(< |ULTIMATE.start_main_~i~0#1| 10000)} [556] L707-13-->L707-14: Formula: (not (< |v_ULTIMATE.start_main_~i~0#1_3| 10000)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} AuxVars[] AssignedVars[] {558798#false} is VALID [2022-02-20 20:41:19,905 INFO L290 TraceCheckUtils]: 47: Hoare triple {559011#(< |ULTIMATE.start_main_~i~0#1| 10000)} [548] L707-12-->L707-13: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post8#1=|v_ULTIMATE.start_main_#t~post8#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post8#1] {559011#(< |ULTIMATE.start_main_~i~0#1| 10000)} is VALID [2022-02-20 20:41:19,906 INFO L290 TraceCheckUtils]: 46: Hoare triple {559018#(< |ULTIMATE.start_main_#t~post8#1| 9999)} [499] L707-11-->L707-12: Formula: (= (+ |v_ULTIMATE.start_main_#t~post8#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post8#1=|v_ULTIMATE.start_main_#t~post8#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|, ULTIMATE.start_main_#t~post8#1=|v_ULTIMATE.start_main_#t~post8#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {559011#(< |ULTIMATE.start_main_~i~0#1| 10000)} is VALID [2022-02-20 20:41:19,906 INFO L290 TraceCheckUtils]: 45: Hoare triple {559022#(< |ULTIMATE.start_main_~i~0#1| 9999)} [528] L707-10-->L707-11: Formula: (= |v_ULTIMATE.start_main_#t~post8#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_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|, ULTIMATE.start_main_#t~post8#1=|v_ULTIMATE.start_main_#t~post8#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post8#1] {559018#(< |ULTIMATE.start_main_#t~post8#1| 9999)} is VALID [2022-02-20 20:41:19,907 INFO L290 TraceCheckUtils]: 44: Hoare triple {559022#(< |ULTIMATE.start_main_~i~0#1| 9999)} [587] L707-9-->L707-10: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet10#1] {559022#(< |ULTIMATE.start_main_~i~0#1| 9999)} is VALID [2022-02-20 20:41:19,907 INFO L290 TraceCheckUtils]: 43: Hoare triple {559022#(< |ULTIMATE.start_main_~i~0#1| 9999)} [554] L707-8-->L707-9: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre9#1] {559022#(< |ULTIMATE.start_main_~i~0#1| 9999)} is VALID [2022-02-20 20:41:19,907 INFO L290 TraceCheckUtils]: 42: Hoare triple {559022#(< |ULTIMATE.start_main_~i~0#1| 9999)} [683] L707-7-->t_funENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre9#1_14| v_t_funThread1of3ForFork0_thidvar0_2) (= |v_t_funThread1of3ForFork0_#in~arg.offset_4| 0) (= |v_t_funThread1of3ForFork0_#in~arg.base_4| 0)) InVars {ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_14|} OutVars{t_funThread1of3ForFork0_#res.offset=|v_t_funThread1of3ForFork0_#res.offset_4|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_14|, t_funThread1of3ForFork0_thidvar0=v_t_funThread1of3ForFork0_thidvar0_2, t_funThread1of3ForFork0_#t~nondet4=|v_t_funThread1of3ForFork0_#t~nondet4_6|, t_funThread1of3ForFork0_#t~nondet3=|v_t_funThread1of3ForFork0_#t~nondet3_6|, t_funThread1of3ForFork0_#t~nondet6=|v_t_funThread1of3ForFork0_#t~nondet6_6|, t_funThread1of3ForFork0_#t~post7=|v_t_funThread1of3ForFork0_#t~post7_8|, t_funThread1of3ForFork0_~arg.offset=v_t_funThread1of3ForFork0_~arg.offset_4, t_funThread1of3ForFork0_#t~post5=|v_t_funThread1of3ForFork0_#t~post5_8|, t_funThread1of3ForFork0_#in~arg.base=|v_t_funThread1of3ForFork0_#in~arg.base_4|, t_funThread1of3ForFork0_#res.base=|v_t_funThread1of3ForFork0_#res.base_4|, t_funThread1of3ForFork0_#in~arg.offset=|v_t_funThread1of3ForFork0_#in~arg.offset_4|, t_funThread1of3ForFork0_~arg.base=v_t_funThread1of3ForFork0_~arg.base_4} AuxVars[] AssignedVars[t_funThread1of3ForFork0_#t~post7, t_funThread1of3ForFork0_~arg.offset, t_funThread1of3ForFork0_#res.offset, t_funThread1of3ForFork0_#t~post5, t_funThread1of3ForFork0_#in~arg.base, t_funThread1of3ForFork0_#res.base, t_funThread1of3ForFork0_#in~arg.offset, t_funThread1of3ForFork0_thidvar0, t_funThread1of3ForFork0_#t~nondet4, t_funThread1of3ForFork0_#t~nondet3, t_funThread1of3ForFork0_#t~nondet6, t_funThread1of3ForFork0_~arg.base] {559022#(< |ULTIMATE.start_main_~i~0#1| 9999)} is VALID [2022-02-20 20:41:19,908 INFO L290 TraceCheckUtils]: 41: Hoare triple {559022#(< |ULTIMATE.start_main_~i~0#1| 9999)} [562] L707-6-->L707-7: Formula: (= |v_#memory_int_13| (store |v_#memory_int_14| |v_ULTIMATE.start_main_~#t_ids~0#1.base_3| (store (select |v_#memory_int_14| |v_ULTIMATE.start_main_~#t_ids~0#1.base_3|) (+ |v_ULTIMATE.start_main_~#t_ids~0#1.offset_3| (* |v_ULTIMATE.start_main_~i~0#1_5| 4)) |v_ULTIMATE.start_main_#t~pre9#1_3|))) InVars {#memory_int=|v_#memory_int_14|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t_ids~0#1.offset=|v_ULTIMATE.start_main_~#t_ids~0#1.offset_3|, ULTIMATE.start_main_~#t_ids~0#1.base=|v_ULTIMATE.start_main_~#t_ids~0#1.base_3|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_3|} OutVars{#memory_int=|v_#memory_int_13|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t_ids~0#1.offset=|v_ULTIMATE.start_main_~#t_ids~0#1.offset_3|, ULTIMATE.start_main_~#t_ids~0#1.base=|v_ULTIMATE.start_main_~#t_ids~0#1.base_3|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_3|} AuxVars[] AssignedVars[#memory_int] {559022#(< |ULTIMATE.start_main_~i~0#1| 9999)} is VALID [2022-02-20 20:41:19,908 INFO L290 TraceCheckUtils]: 40: Hoare triple {559022#(< |ULTIMATE.start_main_~i~0#1| 9999)} [571] L707-5-->L707-6: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {559022#(< |ULTIMATE.start_main_~i~0#1| 9999)} is VALID [2022-02-20 20:41:19,908 INFO L290 TraceCheckUtils]: 39: Hoare triple {559022#(< |ULTIMATE.start_main_~i~0#1| 9999)} [573] L707-4-->L707-5: Formula: (= |v_ULTIMATE.start_main_#t~pre9#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre9#1] {559022#(< |ULTIMATE.start_main_~i~0#1| 9999)} is VALID [2022-02-20 20:41:19,909 INFO L290 TraceCheckUtils]: 38: Hoare triple {559022#(< |ULTIMATE.start_main_~i~0#1| 9999)} [557] L707-13-->L707-4: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 10000) 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[] {559022#(< |ULTIMATE.start_main_~i~0#1| 9999)} is VALID [2022-02-20 20:41:19,909 INFO L290 TraceCheckUtils]: 37: Hoare triple {558797#true} [541] L707-1-->L707-13: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 0) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {559022#(< |ULTIMATE.start_main_~i~0#1| 9999)} is VALID [2022-02-20 20:41:19,909 INFO L290 TraceCheckUtils]: 36: Hoare triple {558797#true} [549] L707-->L707-1: Formula: (and (= (store |v_#length_6| |v_ULTIMATE.start_main_~#t_ids~0#1.base_2| 40000) |v_#length_5|) (= |v_#valid_6| (store |v_#valid_7| |v_ULTIMATE.start_main_~#t_ids~0#1.base_2| 1)) (= |v_ULTIMATE.start_main_~#t_ids~0#1.offset_2| 0) (not (= |v_ULTIMATE.start_main_~#t_ids~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t_ids~0#1.base_2|) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#t_ids~0#1.base_2|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_6|, #valid=|v_#valid_7|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, ULTIMATE.start_main_~#t_ids~0#1.offset=|v_ULTIMATE.start_main_~#t_ids~0#1.offset_2|, #length=|v_#length_5|, ULTIMATE.start_main_~#t_ids~0#1.base=|v_ULTIMATE.start_main_~#t_ids~0#1.base_2|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t_ids~0#1.base, #valid, ULTIMATE.start_main_~#t_ids~0#1.offset, #length] {558797#true} is VALID [2022-02-20 20:41:19,909 INFO L290 TraceCheckUtils]: 35: Hoare triple {558797#true} [493] L-1-7-->L707: Formula: true InVars {} OutVars{ULTIMATE.start_main_~i~1#1=|v_ULTIMATE.start_main_~i~1#1_1|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_1|, ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_1|, ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_1|, ULTIMATE.start_main_#t~mem14#1=|v_ULTIMATE.start_main_#t~mem14#1_1|, ULTIMATE.start_main_~#t_ids~0#1.base=|v_ULTIMATE.start_main_~#t_ids~0#1.base_1|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_1|, ULTIMATE.start_main_#t~post8#1=|v_ULTIMATE.start_main_#t~post8#1_1|, ULTIMATE.start_main_#t~post13#1=|v_ULTIMATE.start_main_#t~post13#1_1|, ULTIMATE.start_main_~#t_ids~0#1.offset=|v_ULTIMATE.start_main_~#t_ids~0#1.offset_1|, ULTIMATE.start_main_#t~nondet12#1=|v_ULTIMATE.start_main_#t~nondet12#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet11#1, ULTIMATE.start_main_#t~nondet10#1, ULTIMATE.start_main_#t~mem14#1, ULTIMATE.start_main_~#t_ids~0#1.base, ULTIMATE.start_main_#t~pre9#1, ULTIMATE.start_main_#t~post8#1, ULTIMATE.start_main_#t~post13#1, ULTIMATE.start_main_~#t_ids~0#1.offset, ULTIMATE.start_main_#t~nondet12#1] {558797#true} is VALID [2022-02-20 20:41:19,910 INFO L290 TraceCheckUtils]: 34: Hoare triple {558797#true} [583] 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] {558797#true} is VALID [2022-02-20 20:41:19,910 INFO L290 TraceCheckUtils]: 33: Hoare triple {558797#true} [494] L-1-5-->L-1-6: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {558797#true} is VALID [2022-02-20 20:41:19,910 INFO L290 TraceCheckUtils]: 32: Hoare triple {558797#true} [519] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {558797#true} is VALID [2022-02-20 20:41:19,910 INFO L290 TraceCheckUtils]: 31: Hoare triple {558797#true} [536] L699-6-->L-1-4: Formula: true InVars {} OutVars{ULTIMATE.start_ULTIMATE.init_#t~nondet15#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_ULTIMATE.init_#t~nondet15#1] {558797#true} is VALID [2022-02-20 20:41:19,910 INFO L290 TraceCheckUtils]: 30: Hoare triple {558797#true} [508] L699-5-->L699-6: Formula: (= v_~mutex2~0.__align_1 |v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_2|) InVars {ULTIMATE.start_ULTIMATE.init_#t~nondet15#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_2|} OutVars{~mutex2~0.__align=v_~mutex2~0.__align_1, ULTIMATE.start_ULTIMATE.init_#t~nondet15#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_2|} AuxVars[] AssignedVars[~mutex2~0.__align] {558797#true} is VALID [2022-02-20 20:41:19,910 INFO L290 TraceCheckUtils]: 29: Hoare triple {558797#true} [505] L699-4-->L699-5: Formula: (= ((as const (Array Int Int)) 0) v_~mutex2~0.__size_1) InVars {} OutVars{~mutex2~0.__size=v_~mutex2~0.__size_1} AuxVars[] AssignedVars[~mutex2~0.__size] {558797#true} is VALID [2022-02-20 20:41:19,911 INFO L290 TraceCheckUtils]: 28: Hoare triple {558797#true} [495] L699-3-->L699-4: Formula: (= v_~mutex2~0.__data.__nusers_1 0) InVars {} OutVars{~mutex2~0.__data.__nusers=v_~mutex2~0.__data.__nusers_1} AuxVars[] AssignedVars[~mutex2~0.__data.__nusers] {558797#true} is VALID [2022-02-20 20:41:19,911 INFO L290 TraceCheckUtils]: 27: Hoare triple {558797#true} [490] L699-2-->L699-3: Formula: (= v_~mutex2~0.__data.__kind_1 0) InVars {} OutVars{~mutex2~0.__data.__kind=v_~mutex2~0.__data.__kind_1} AuxVars[] AssignedVars[~mutex2~0.__data.__kind] {558797#true} is VALID [2022-02-20 20:41:19,911 INFO L290 TraceCheckUtils]: 26: Hoare triple {558797#true} [560] L699-1-->L699-2: Formula: (= v_~mutex2~0.__data.__owner_1 0) InVars {} OutVars{~mutex2~0.__data.__owner=v_~mutex2~0.__data.__owner_1} AuxVars[] AssignedVars[~mutex2~0.__data.__owner] {558797#true} is VALID [2022-02-20 20:41:19,911 INFO L290 TraceCheckUtils]: 25: Hoare triple {558797#true} [517] L699-->L699-1: Formula: (= v_~mutex2~0.__data.__count_1 0) InVars {} OutVars{~mutex2~0.__data.__count=v_~mutex2~0.__data.__count_1} AuxVars[] AssignedVars[~mutex2~0.__data.__count] {558797#true} is VALID [2022-02-20 20:41:19,911 INFO L290 TraceCheckUtils]: 24: Hoare triple {558797#true} [496] L698-7-->L699: Formula: (= v_~mutex2~0.__data.__lock_1 0) InVars {} OutVars{~mutex2~0.__data.__lock=v_~mutex2~0.__data.__lock_1} AuxVars[] AssignedVars[~mutex2~0.__data.__lock] {558797#true} is VALID [2022-02-20 20:41:19,911 INFO L290 TraceCheckUtils]: 23: Hoare triple {558797#true} [586] L698-6-->L698-7: Formula: (= (select (select |v_#memory_int_12| |v_~#mutex1~0.base_6|) (+ 16 |v_~#mutex1~0.offset_6|)) 0) InVars {#memory_int=|v_#memory_int_12|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_6|, ~#mutex1~0.base=|v_~#mutex1~0.base_6|} OutVars{#memory_int=|v_#memory_int_12|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_6|, ~#mutex1~0.base=|v_~#mutex1~0.base_6|} AuxVars[] AssignedVars[] {558797#true} is VALID [2022-02-20 20:41:19,911 INFO L290 TraceCheckUtils]: 22: Hoare triple {558797#true} [589] L698-5-->L698-6: Formula: (= (select (select |v_#memory_int_11| |v_~#mutex1~0.base_5|) (+ |v_~#mutex1~0.offset_5| 12)) 0) InVars {#memory_int=|v_#memory_int_11|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_5|, ~#mutex1~0.base=|v_~#mutex1~0.base_5|} OutVars{#memory_int=|v_#memory_int_11|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_5|, ~#mutex1~0.base=|v_~#mutex1~0.base_5|} AuxVars[] AssignedVars[] {558797#true} is VALID [2022-02-20 20:41:19,912 INFO L290 TraceCheckUtils]: 21: Hoare triple {558797#true} [565] L698-4-->L698-5: Formula: (= (select (select |v_#memory_int_10| |v_~#mutex1~0.base_4|) (+ |v_~#mutex1~0.offset_4| 8)) 0) InVars {#memory_int=|v_#memory_int_10|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_4|, ~#mutex1~0.base=|v_~#mutex1~0.base_4|} OutVars{#memory_int=|v_#memory_int_10|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_4|, ~#mutex1~0.base=|v_~#mutex1~0.base_4|} AuxVars[] AssignedVars[] {558797#true} is VALID [2022-02-20 20:41:19,912 INFO L290 TraceCheckUtils]: 20: Hoare triple {558797#true} [502] L698-3-->L698-4: Formula: (= (select (select |v_#memory_int_9| |v_~#mutex1~0.base_3|) (+ |v_~#mutex1~0.offset_3| 4)) 0) InVars {#memory_int=|v_#memory_int_9|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_3|, ~#mutex1~0.base=|v_~#mutex1~0.base_3|} OutVars{#memory_int=|v_#memory_int_9|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_3|, ~#mutex1~0.base=|v_~#mutex1~0.base_3|} AuxVars[] AssignedVars[] {558797#true} is VALID [2022-02-20 20:41:19,912 INFO L290 TraceCheckUtils]: 19: Hoare triple {558797#true} [585] L698-2-->L698-3: Formula: (= (select (select |v_#memory_int_8| |v_~#mutex1~0.base_2|) |v_~#mutex1~0.offset_2|) 0) InVars {#memory_int=|v_#memory_int_8|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_2|, ~#mutex1~0.base=|v_~#mutex1~0.base_2|} OutVars{#memory_int=|v_#memory_int_8|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_2|, ~#mutex1~0.base=|v_~#mutex1~0.base_2|} AuxVars[] AssignedVars[] {558797#true} is VALID [2022-02-20 20:41:19,912 INFO L290 TraceCheckUtils]: 18: Hoare triple {558797#true} [564] L698-1-->L698-2: Formula: (and (= (select |v_#length_4| 4) 24) (= (select |v_#valid_5| 4) 1)) InVars {#length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#length=|v_#length_4|, #valid=|v_#valid_5|} AuxVars[] AssignedVars[] {558797#true} is VALID [2022-02-20 20:41:19,912 INFO L290 TraceCheckUtils]: 17: Hoare triple {558797#true} [566] L698-->L698-1: Formula: (and (= |v_~#mutex1~0.offset_1| 0) (= |v_~#mutex1~0.base_1| 4)) InVars {} OutVars{~#mutex1~0.offset=|v_~#mutex1~0.offset_1|, ~#mutex1~0.base=|v_~#mutex1~0.base_1|} AuxVars[] AssignedVars[~#mutex1~0.offset, ~#mutex1~0.base] {558797#true} is VALID [2022-02-20 20:41:19,912 INFO L290 TraceCheckUtils]: 16: Hoare triple {558797#true} [535] L696-6-->L698: Formula: (= v_~global~0_1 0) InVars {} OutVars{~global~0=v_~global~0_1} AuxVars[] AssignedVars[~global~0] {558797#true} is VALID [2022-02-20 20:41:19,912 INFO L290 TraceCheckUtils]: 15: Hoare triple {558797#true} [526] L696-5-->L696-6: Formula: (= (select (select |v_#memory_int_7| |v_~#__global_lock~0.base_6|) (+ 16 |v_~#__global_lock~0.offset_6|)) 0) InVars {#memory_int=|v_#memory_int_7|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_6|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_6|} OutVars{#memory_int=|v_#memory_int_7|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_6|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_6|} AuxVars[] AssignedVars[] {558797#true} is VALID [2022-02-20 20:41:19,913 INFO L290 TraceCheckUtils]: 14: Hoare triple {558797#true} [584] L696-4-->L696-5: Formula: (= (select (select |v_#memory_int_6| |v_~#__global_lock~0.base_5|) (+ |v_~#__global_lock~0.offset_5| 12)) 0) InVars {#memory_int=|v_#memory_int_6|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_5|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_5|} OutVars{#memory_int=|v_#memory_int_6|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_5|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_5|} AuxVars[] AssignedVars[] {558797#true} is VALID [2022-02-20 20:41:19,913 INFO L290 TraceCheckUtils]: 13: Hoare triple {558797#true} [595] L696-3-->L696-4: Formula: (= (select (select |v_#memory_int_5| |v_~#__global_lock~0.base_4|) (+ |v_~#__global_lock~0.offset_4| 8)) 0) InVars {#memory_int=|v_#memory_int_5|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_4|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_4|} OutVars{#memory_int=|v_#memory_int_5|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_4|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_4|} AuxVars[] AssignedVars[] {558797#true} is VALID [2022-02-20 20:41:19,913 INFO L290 TraceCheckUtils]: 12: Hoare triple {558797#true} [497] L696-2-->L696-3: Formula: (= (select (select |v_#memory_int_4| |v_~#__global_lock~0.base_3|) (+ |v_~#__global_lock~0.offset_3| 4)) 0) InVars {#memory_int=|v_#memory_int_4|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_3|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_3|} OutVars{#memory_int=|v_#memory_int_4|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_3|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_3|} AuxVars[] AssignedVars[] {558797#true} is VALID [2022-02-20 20:41:19,913 INFO L290 TraceCheckUtils]: 11: Hoare triple {558797#true} [576] L696-1-->L696-2: Formula: (= (select (select |v_#memory_int_3| |v_~#__global_lock~0.base_2|) |v_~#__global_lock~0.offset_2|) 0) InVars {#memory_int=|v_#memory_int_3|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_2|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_2|} OutVars{#memory_int=|v_#memory_int_3|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_2|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_2|} AuxVars[] AssignedVars[] {558797#true} is VALID [2022-02-20 20:41:19,913 INFO L290 TraceCheckUtils]: 10: Hoare triple {558797#true} [522] L696-->L696-1: Formula: (and (= (select |v_#length_3| 3) 24) (= (select |v_#valid_4| 3) 1)) InVars {#length=|v_#length_3|, #valid=|v_#valid_4|} OutVars{#length=|v_#length_3|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[] {558797#true} is VALID [2022-02-20 20:41:19,913 INFO L290 TraceCheckUtils]: 9: Hoare triple {558797#true} [537] L690-4-->L696: Formula: (and (= 3 |v_~#__global_lock~0.base_1|) (= |v_~#__global_lock~0.offset_1| 0)) InVars {} OutVars{~#__global_lock~0.base=|v_~#__global_lock~0.base_1|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_1|} AuxVars[] AssignedVars[~#__global_lock~0.offset, ~#__global_lock~0.base] {558797#true} is VALID [2022-02-20 20:41:19,913 INFO L290 TraceCheckUtils]: 8: Hoare triple {558797#true} [574] L690-3-->L690-4: Formula: (and (= (select |v_#length_2| 2) 13) (= (select |v_#valid_3| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {558797#true} is VALID [2022-02-20 20:41:19,913 INFO L290 TraceCheckUtils]: 7: Hoare triple {558797#true} [501] L690-2-->L690-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[] {558797#true} is VALID [2022-02-20 20:41:19,914 INFO L290 TraceCheckUtils]: 6: Hoare triple {558797#true} [487] L690-1-->L690-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[] {558797#true} is VALID [2022-02-20 20:41:19,914 INFO L290 TraceCheckUtils]: 5: Hoare triple {558797#true} [531] L690-->L690-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[] {558797#true} is VALID [2022-02-20 20:41:19,914 INFO L290 TraceCheckUtils]: 4: Hoare triple {558797#true} [594] L-1-3-->L690: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {558797#true} is VALID [2022-02-20 20:41:19,914 INFO L290 TraceCheckUtils]: 3: Hoare triple {558797#true} [592] L-1-2-->L-1-3: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] {558797#true} is VALID [2022-02-20 20:41:19,914 INFO L290 TraceCheckUtils]: 2: Hoare triple {558797#true} [591] L-1-1-->L-1-2: 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] {558797#true} is VALID [2022-02-20 20:41:19,914 INFO L290 TraceCheckUtils]: 1: Hoare triple {558797#true} [514] L-1-->L-1-1: Formula: true InVars {} OutVars{ULTIMATE.start_ULTIMATE.init_#t~nondet15#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_ULTIMATE.init_#t~nondet15#1] {558797#true} is VALID [2022-02-20 20:41:19,914 INFO L290 TraceCheckUtils]: 0: Hoare triple {558797#true} [588] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {558797#true} is VALID [2022-02-20 20:41:19,915 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 20:41:19,915 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1523666833] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 20:41:19,915 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 20:41:19,915 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 10 [2022-02-20 20:41:19,915 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [148569430] [2022-02-20 20:41:19,916 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 20:41:19,917 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 8.1) internal successors, (81), 10 states have internal predecessors, (81), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 59 [2022-02-20 20:41:19,917 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 20:41:19,917 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 8.1) internal successors, (81), 10 states have internal predecessors, (81), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:41:19,960 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 20:41:19,960 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-02-20 20:41:19,960 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 20:41:19,960 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-02-20 20:41:19,961 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=60, Unknown=0, NotChecked=0, Total=90 [2022-02-20 20:41:19,962 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 136 out of 174 [2022-02-20 20:41:19,963 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 139 places, 129 transitions, 283 flow. Second operand has 10 states, 10 states have (on average 138.3) internal successors, (1383), 10 states have internal predecessors, (1383), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:41:19,963 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 20:41:19,963 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 136 of 174 [2022-02-20 20:41:19,963 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 20:41:20,073 INFO L129 PetriNetUnfolder]: 0/150 cut-off events. [2022-02-20 20:41:20,073 INFO L130 PetriNetUnfolder]: For 5/5 co-relation queries the response was YES. [2022-02-20 20:41:20,073 INFO L84 FinitePrefix]: Finished finitePrefix Result has 196 conditions, 150 events. 0/150 cut-off events. For 5/5 co-relation queries the response was YES. Maximal size of possible extension queue 4. Compared 203 event pairs, 0 based on Foata normal form. 2/152 useless extension candidates. Maximal degree in co-relation 0. Up to 7 conditions per place. [2022-02-20 20:41:20,074 INFO L132 encePairwiseOnDemand]: 168/174 looper letters, 13 selfloop transitions, 9 changer transitions 0/139 dead transitions. [2022-02-20 20:41:20,074 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 147 places, 139 transitions, 349 flow [2022-02-20 20:41:20,074 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 20:41:20,074 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2022-02-20 20:41:20,083 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 1248 transitions. [2022-02-20 20:41:20,084 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.7969348659003831 [2022-02-20 20:41:20,084 INFO L72 ComplementDD]: Start complementDD. Operand 9 states and 1248 transitions. [2022-02-20 20:41:20,084 INFO L73 IsDeterministic]: Start isDeterministic. Operand 9 states and 1248 transitions. [2022-02-20 20:41:20,084 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 20:41:20,084 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 9 states and 1248 transitions. [2022-02-20 20:41:20,086 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 10 states, 9 states have (on average 138.66666666666666) internal successors, (1248), 9 states have internal predecessors, (1248), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:41:20,088 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 10 states, 10 states have (on average 174.0) internal successors, (1740), 10 states have internal predecessors, (1740), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:41:20,088 INFO L81 ComplementDD]: Finished complementDD. Result has 10 states, 10 states have (on average 174.0) internal successors, (1740), 10 states have internal predecessors, (1740), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:41:20,088 INFO L186 Difference]: Start difference. First operand has 139 places, 129 transitions, 283 flow. Second operand 9 states and 1248 transitions. [2022-02-20 20:41:20,088 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 147 places, 139 transitions, 349 flow [2022-02-20 20:41:20,092 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 146 places, 139 transitions, 347 flow, removed 0 selfloop flow, removed 1 redundant places. [2022-02-20 20:41:20,094 INFO L242 Difference]: Finished difference. Result has 149 places, 135 transitions, 331 flow [2022-02-20 20:41:20,094 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=174, PETRI_DIFFERENCE_MINUEND_FLOW=281, PETRI_DIFFERENCE_MINUEND_PLACES=138, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=129, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=5, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=123, PETRI_DIFFERENCE_SUBTRAHEND_STATES=9, PETRI_FLOW=331, PETRI_PLACES=149, PETRI_TRANSITIONS=135} [2022-02-20 20:41:20,095 INFO L334 CegarLoopForPetriNet]: 155 programPoint places, -6 predicate places. [2022-02-20 20:41:20,095 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 149 places, 135 transitions, 331 flow [2022-02-20 20:41:27,165 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 273237 states, 273235 states have (on average 3.8044833202188593) internal successors, (1039518), 273236 states have internal predecessors, (1039518), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:41:27,584 INFO L78 Accepts]: Start accepts. Automaton has has 273237 states, 273235 states have (on average 3.8044833202188593) internal successors, (1039518), 273236 states have internal predecessors, (1039518), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 59 [2022-02-20 20:41:27,585 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 20:41:27,585 INFO L470 AbstractCegarLoop]: Abstraction has has 149 places, 135 transitions, 331 flow [2022-02-20 20:41:27,585 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 138.3) internal successors, (1383), 10 states have internal predecessors, (1383), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:41:27,585 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:41:27,585 INFO L254 CegarLoopForPetriNet]: trace 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 20:41:27,604 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-02-20 20:41:27,785 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-02-20 20:41:27,786 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0INUSE_VIOLATION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 20:41:27,786 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:41:27,787 INFO L85 PathProgramCache]: Analyzing trace with hash 592901800, now seen corresponding path program 1 times [2022-02-20 20:41:27,787 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:41:27,787 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1254797] [2022-02-20 20:41:27,787 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:41:27,787 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:41:27,825 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 20:41:27,825 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-02-20 20:41:27,835 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 20:41:27,850 INFO L138 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-02-20 20:41:27,851 INFO L628 BasicCegarLoop]: Counterexample is feasible [2022-02-20 20:41:27,851 INFO L764 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0INUSE_VIOLATION (1 of 2 remaining) [2022-02-20 20:41:27,851 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 2 remaining) [2022-02-20 20:41:27,851 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9 [2022-02-20 20:41:27,851 INFO L732 BasicCegarLoop]: Path program histogram: [1, 1, 1, 1] [2022-02-20 20:41:27,852 WARN L235 ceAbstractionStarter]: 3 thread instances were not sufficient, I will increase this number and restart the analysis [2022-02-20 20:41:27,852 INFO L534 ceAbstractionStarter]: Constructing petrified ICFG for 4 thread instances. [2022-02-20 20:41:27,865 WARN L322 ript$VariableManager]: TermVariabe |t_funThread4of4ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,865 WARN L322 ript$VariableManager]: TermVariabe |t_funThread4of4ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,866 WARN L322 ript$VariableManager]: TermVariabe t_funThread4of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,866 WARN L322 ript$VariableManager]: TermVariabe t_funThread4of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,866 WARN L322 ript$VariableManager]: TermVariabe |t_funThread4of4ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,866 WARN L322 ript$VariableManager]: TermVariabe |t_funThread4of4ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,866 WARN L322 ript$VariableManager]: TermVariabe t_funThread4of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,866 WARN L322 ript$VariableManager]: TermVariabe t_funThread4of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,866 WARN L322 ript$VariableManager]: TermVariabe |t_funThread4of4ForFork0_#t~nondet3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,866 WARN L322 ript$VariableManager]: TermVariabe |t_funThread4of4ForFork0_#t~nondet3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,867 WARN L322 ript$VariableManager]: TermVariabe |t_funThread4of4ForFork0_#t~nondet3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,867 WARN L322 ript$VariableManager]: TermVariabe |t_funThread4of4ForFork0_#t~nondet3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,867 WARN L322 ript$VariableManager]: TermVariabe |t_funThread4of4ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,867 WARN L322 ript$VariableManager]: TermVariabe |t_funThread4of4ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,867 WARN L322 ript$VariableManager]: TermVariabe |t_funThread4of4ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,867 WARN L322 ript$VariableManager]: TermVariabe |t_funThread4of4ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,867 WARN L322 ript$VariableManager]: TermVariabe |t_funThread4of4ForFork0_#t~nondet6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,868 WARN L322 ript$VariableManager]: TermVariabe |t_funThread4of4ForFork0_#t~nondet6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,868 WARN L322 ript$VariableManager]: TermVariabe |t_funThread4of4ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,868 WARN L322 ript$VariableManager]: TermVariabe |t_funThread4of4ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,868 WARN L322 ript$VariableManager]: TermVariabe |t_funThread4of4ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,868 WARN L322 ript$VariableManager]: TermVariabe |t_funThread4of4ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,868 WARN L322 ript$VariableManager]: TermVariabe |t_funThread4of4ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,868 WARN L322 ript$VariableManager]: TermVariabe |t_funThread4of4ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,868 WARN L322 ript$VariableManager]: TermVariabe |t_funThread4of4ForFork0_#t~nondet6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,869 WARN L322 ript$VariableManager]: TermVariabe |t_funThread4of4ForFork0_#t~nondet6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,869 WARN L322 ript$VariableManager]: TermVariabe |t_funThread4of4ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,869 WARN L322 ript$VariableManager]: TermVariabe |t_funThread4of4ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,869 WARN L322 ript$VariableManager]: TermVariabe |t_funThread4of4ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,869 WARN L322 ript$VariableManager]: TermVariabe |t_funThread4of4ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,869 WARN L322 ript$VariableManager]: TermVariabe |t_funThread4of4ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,869 WARN L322 ript$VariableManager]: TermVariabe |t_funThread4of4ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,869 WARN L322 ript$VariableManager]: TermVariabe |t_funThread4of4ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,870 WARN L322 ript$VariableManager]: TermVariabe |t_funThread4of4ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,870 WARN L322 ript$VariableManager]: TermVariabe |t_funThread4of4ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,871 WARN L322 ript$VariableManager]: TermVariabe |t_funThread4of4ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,871 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of4ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,871 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of4ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,871 WARN L322 ript$VariableManager]: TermVariabe t_funThread2of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,871 WARN L322 ript$VariableManager]: TermVariabe t_funThread2of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,871 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of4ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,871 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of4ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,871 WARN L322 ript$VariableManager]: TermVariabe t_funThread2of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,872 WARN L322 ript$VariableManager]: TermVariabe t_funThread2of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,872 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of4ForFork0_#t~nondet3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,872 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of4ForFork0_#t~nondet3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,872 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of4ForFork0_#t~nondet3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,872 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of4ForFork0_#t~nondet3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,872 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of4ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,872 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of4ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,873 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of4ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,873 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of4ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,873 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of4ForFork0_#t~nondet6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,873 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of4ForFork0_#t~nondet6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,873 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of4ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,873 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of4ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,873 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of4ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,873 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of4ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,874 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of4ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,874 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of4ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,874 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of4ForFork0_#t~nondet6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,874 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of4ForFork0_#t~nondet6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,874 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of4ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,874 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of4ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,874 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of4ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,874 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of4ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,875 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of4ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,875 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of4ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,875 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of4ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,875 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of4ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,875 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of4ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,875 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of4ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,876 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of4ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,876 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of4ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,876 WARN L322 ript$VariableManager]: TermVariabe t_funThread3of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,876 WARN L322 ript$VariableManager]: TermVariabe t_funThread3of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,876 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of4ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,876 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of4ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,876 WARN L322 ript$VariableManager]: TermVariabe t_funThread3of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,876 WARN L322 ript$VariableManager]: TermVariabe t_funThread3of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,876 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of4ForFork0_#t~nondet3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,877 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of4ForFork0_#t~nondet3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,877 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of4ForFork0_#t~nondet3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,877 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of4ForFork0_#t~nondet3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,877 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of4ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,877 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of4ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,877 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of4ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,877 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of4ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,878 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of4ForFork0_#t~nondet6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,878 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of4ForFork0_#t~nondet6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,878 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of4ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,878 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of4ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,878 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of4ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,878 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of4ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,878 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of4ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,878 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of4ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,879 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of4ForFork0_#t~nondet6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,879 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of4ForFork0_#t~nondet6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,879 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of4ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,879 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of4ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,879 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of4ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,879 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of4ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,879 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of4ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,879 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of4ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,880 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of4ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,880 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of4ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,880 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of4ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,880 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of4ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,880 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of4ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,880 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of4ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,880 WARN L322 ript$VariableManager]: TermVariabe t_funThread1of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,881 WARN L322 ript$VariableManager]: TermVariabe t_funThread1of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,881 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of4ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,881 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of4ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,881 WARN L322 ript$VariableManager]: TermVariabe t_funThread1of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,881 WARN L322 ript$VariableManager]: TermVariabe t_funThread1of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,881 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of4ForFork0_#t~nondet3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,881 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of4ForFork0_#t~nondet3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,881 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of4ForFork0_#t~nondet3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,881 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of4ForFork0_#t~nondet3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,882 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of4ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,882 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of4ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,882 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of4ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,882 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of4ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,882 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of4ForFork0_#t~nondet6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,882 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of4ForFork0_#t~nondet6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,883 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of4ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,883 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of4ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,883 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of4ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,883 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of4ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,883 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of4ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,883 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of4ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,883 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of4ForFork0_#t~nondet6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,883 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of4ForFork0_#t~nondet6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,883 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of4ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,884 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of4ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,884 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of4ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,884 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of4ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,884 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of4ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,884 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of4ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,884 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of4ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,884 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of4ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,885 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of4ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,885 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of4ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,885 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of4ForFork0_#t~nondet3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,885 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of4ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,886 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of4ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,886 WARN L322 ript$VariableManager]: TermVariabe t_funThread1of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,886 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of4ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,886 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of4ForFork0_#t~nondet6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,886 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of4ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,886 WARN L322 ript$VariableManager]: TermVariabe t_funThread1of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,886 WARN L322 ript$VariableManager]: TermVariabe |t_funThread1of4ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,887 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of4ForFork0_#t~nondet6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,887 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of4ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,887 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of4ForFork0_#t~nondet3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,887 WARN L322 ript$VariableManager]: TermVariabe t_funThread2of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,888 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of4ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,888 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of4ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,888 WARN L322 ript$VariableManager]: TermVariabe t_funThread2of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,888 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of4ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,888 WARN L322 ript$VariableManager]: TermVariabe |t_funThread2of4ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,888 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of4ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,888 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of4ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,889 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of4ForFork0_#t~nondet6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,889 WARN L322 ript$VariableManager]: TermVariabe t_funThread3of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,889 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of4ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,889 WARN L322 ript$VariableManager]: TermVariabe t_funThread3of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,889 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of4ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,889 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of4ForFork0_#t~nondet3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,889 WARN L322 ript$VariableManager]: TermVariabe |t_funThread3of4ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,890 WARN L322 ript$VariableManager]: TermVariabe |t_funThread4of4ForFork0_#t~post5| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,890 WARN L322 ript$VariableManager]: TermVariabe t_funThread4of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,890 WARN L322 ript$VariableManager]: TermVariabe t_funThread4of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,890 WARN L322 ript$VariableManager]: TermVariabe |t_funThread4of4ForFork0_#t~nondet6| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,890 WARN L322 ript$VariableManager]: TermVariabe |t_funThread4of4ForFork0_#t~nondet3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,890 WARN L322 ript$VariableManager]: TermVariabe |t_funThread4of4ForFork0_#t~nondet4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,890 WARN L322 ript$VariableManager]: TermVariabe |t_funThread4of4ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,890 WARN L322 ript$VariableManager]: TermVariabe |t_funThread4of4ForFork0_#t~post7| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,890 WARN L322 ript$VariableManager]: TermVariabe |t_funThread4of4ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:41:27,897 INFO L148 ThreadInstanceAdder]: Constructed 4 joinOtherThreadTransitions. [2022-02-20 20:41:27,898 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 20:41:27,899 INFO L339 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopsAndPotentialCycles, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mLoopAccelerationTechnique=FAST_UPR [2022-02-20 20:41:27,899 INFO L340 AbstractCegarLoop]: Starting to check reachability of 2 error locations. [2022-02-20 20:41:27,900 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 180 places, 204 transitions, 452 flow [2022-02-20 20:41:27,946 INFO L129 PetriNetUnfolder]: 81/557 cut-off events. [2022-02-20 20:41:27,946 INFO L130 PetriNetUnfolder]: For 48/48 co-relation queries the response was YES. [2022-02-20 20:41:27,951 INFO L84 FinitePrefix]: Finished finitePrefix Result has 612 conditions, 557 events. 81/557 cut-off events. For 48/48 co-relation queries the response was YES. Maximal size of possible extension queue 15. Compared 2052 event pairs, 6 based on Foata normal form. 0/471 useless extension candidates. Maximal degree in co-relation 385. Up to 32 conditions per place. [2022-02-20 20:41:27,952 INFO L82 GeneralOperation]: Start removeDead. Operand has 180 places, 204 transitions, 452 flow [2022-02-20 20:41:27,956 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 180 places, 204 transitions, 452 flow [2022-02-20 20:41:27,961 INFO L129 PetriNetUnfolder]: 5/88 cut-off events. [2022-02-20 20:41:27,961 INFO L130 PetriNetUnfolder]: For 0/0 co-relation queries the response was YES. [2022-02-20 20:41:27,961 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:41:27,961 INFO L254 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 20:41:27,961 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 20:41:27,962 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:41:27,962 INFO L85 PathProgramCache]: Analyzing trace with hash -1337240350, now seen corresponding path program 1 times [2022-02-20 20:41:27,962 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:41:27,962 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [962058322] [2022-02-20 20:41:27,962 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:41:27,962 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:41:27,971 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:41:27,994 INFO L290 TraceCheckUtils]: 0: Hoare triple {183#true} [792] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {183#true} is VALID [2022-02-20 20:41:27,995 INFO L290 TraceCheckUtils]: 1: Hoare triple {183#true} [718] L-1-->L-1-1: Formula: true InVars {} OutVars{ULTIMATE.start_ULTIMATE.init_#t~nondet15#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_ULTIMATE.init_#t~nondet15#1] {183#true} is VALID [2022-02-20 20:41:27,995 INFO L290 TraceCheckUtils]: 2: Hoare triple {183#true} [795] L-1-1-->L-1-2: 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] {183#true} is VALID [2022-02-20 20:41:27,995 INFO L290 TraceCheckUtils]: 3: Hoare triple {183#true} [796] L-1-2-->L-1-3: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] {183#true} is VALID [2022-02-20 20:41:27,995 INFO L290 TraceCheckUtils]: 4: Hoare triple {183#true} [798] L-1-3-->L690: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {183#true} is VALID [2022-02-20 20:41:27,995 INFO L290 TraceCheckUtils]: 5: Hoare triple {183#true} [735] L690-->L690-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[] {183#true} is VALID [2022-02-20 20:41:27,995 INFO L290 TraceCheckUtils]: 6: Hoare triple {183#true} [691] L690-1-->L690-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[] {183#true} is VALID [2022-02-20 20:41:27,995 INFO L290 TraceCheckUtils]: 7: Hoare triple {183#true} [705] L690-2-->L690-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[] {183#true} is VALID [2022-02-20 20:41:27,996 INFO L290 TraceCheckUtils]: 8: Hoare triple {183#true} [778] L690-3-->L690-4: Formula: (and (= (select |v_#length_2| 2) 13) (= (select |v_#valid_3| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {183#true} is VALID [2022-02-20 20:41:27,996 INFO L290 TraceCheckUtils]: 9: Hoare triple {183#true} [741] L690-4-->L696: Formula: (and (= 3 |v_~#__global_lock~0.base_1|) (= |v_~#__global_lock~0.offset_1| 0)) InVars {} OutVars{~#__global_lock~0.base=|v_~#__global_lock~0.base_1|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_1|} AuxVars[] AssignedVars[~#__global_lock~0.offset, ~#__global_lock~0.base] {183#true} is VALID [2022-02-20 20:41:27,996 INFO L290 TraceCheckUtils]: 10: Hoare triple {183#true} [726] L696-->L696-1: Formula: (and (= (select |v_#length_3| 3) 24) (= (select |v_#valid_4| 3) 1)) InVars {#length=|v_#length_3|, #valid=|v_#valid_4|} OutVars{#length=|v_#length_3|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[] {183#true} is VALID [2022-02-20 20:41:27,996 INFO L290 TraceCheckUtils]: 11: Hoare triple {183#true} [780] L696-1-->L696-2: Formula: (= (select (select |v_#memory_int_3| |v_~#__global_lock~0.base_2|) |v_~#__global_lock~0.offset_2|) 0) InVars {#memory_int=|v_#memory_int_3|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_2|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_2|} OutVars{#memory_int=|v_#memory_int_3|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_2|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_2|} AuxVars[] AssignedVars[] {183#true} is VALID [2022-02-20 20:41:27,996 INFO L290 TraceCheckUtils]: 12: Hoare triple {183#true} [701] L696-2-->L696-3: Formula: (= (select (select |v_#memory_int_4| |v_~#__global_lock~0.base_3|) (+ |v_~#__global_lock~0.offset_3| 4)) 0) InVars {#memory_int=|v_#memory_int_4|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_3|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_3|} OutVars{#memory_int=|v_#memory_int_4|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_3|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_3|} AuxVars[] AssignedVars[] {183#true} is VALID [2022-02-20 20:41:27,996 INFO L290 TraceCheckUtils]: 13: Hoare triple {183#true} [799] L696-3-->L696-4: Formula: (= (select (select |v_#memory_int_5| |v_~#__global_lock~0.base_4|) (+ |v_~#__global_lock~0.offset_4| 8)) 0) InVars {#memory_int=|v_#memory_int_5|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_4|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_4|} OutVars{#memory_int=|v_#memory_int_5|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_4|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_4|} AuxVars[] AssignedVars[] {183#true} is VALID [2022-02-20 20:41:27,996 INFO L290 TraceCheckUtils]: 14: Hoare triple {183#true} [788] L696-4-->L696-5: Formula: (= (select (select |v_#memory_int_6| |v_~#__global_lock~0.base_5|) (+ |v_~#__global_lock~0.offset_5| 12)) 0) InVars {#memory_int=|v_#memory_int_6|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_5|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_5|} OutVars{#memory_int=|v_#memory_int_6|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_5|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_5|} AuxVars[] AssignedVars[] {183#true} is VALID [2022-02-20 20:41:27,997 INFO L290 TraceCheckUtils]: 15: Hoare triple {183#true} [730] L696-5-->L696-6: Formula: (= (select (select |v_#memory_int_7| |v_~#__global_lock~0.base_6|) (+ 16 |v_~#__global_lock~0.offset_6|)) 0) InVars {#memory_int=|v_#memory_int_7|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_6|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_6|} OutVars{#memory_int=|v_#memory_int_7|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_6|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_6|} AuxVars[] AssignedVars[] {183#true} is VALID [2022-02-20 20:41:27,997 INFO L290 TraceCheckUtils]: 16: Hoare triple {183#true} [739] L696-6-->L698: Formula: (= v_~global~0_1 0) InVars {} OutVars{~global~0=v_~global~0_1} AuxVars[] AssignedVars[~global~0] {183#true} is VALID [2022-02-20 20:41:27,997 INFO L290 TraceCheckUtils]: 17: Hoare triple {183#true} [770] L698-->L698-1: Formula: (and (= |v_~#mutex1~0.offset_1| 0) (= |v_~#mutex1~0.base_1| 4)) InVars {} OutVars{~#mutex1~0.offset=|v_~#mutex1~0.offset_1|, ~#mutex1~0.base=|v_~#mutex1~0.base_1|} AuxVars[] AssignedVars[~#mutex1~0.offset, ~#mutex1~0.base] {183#true} is VALID [2022-02-20 20:41:27,997 INFO L290 TraceCheckUtils]: 18: Hoare triple {183#true} [768] L698-1-->L698-2: Formula: (and (= (select |v_#length_4| 4) 24) (= (select |v_#valid_5| 4) 1)) InVars {#length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#length=|v_#length_4|, #valid=|v_#valid_5|} AuxVars[] AssignedVars[] {183#true} is VALID [2022-02-20 20:41:27,997 INFO L290 TraceCheckUtils]: 19: Hoare triple {183#true} [789] L698-2-->L698-3: Formula: (= (select (select |v_#memory_int_8| |v_~#mutex1~0.base_2|) |v_~#mutex1~0.offset_2|) 0) InVars {#memory_int=|v_#memory_int_8|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_2|, ~#mutex1~0.base=|v_~#mutex1~0.base_2|} OutVars{#memory_int=|v_#memory_int_8|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_2|, ~#mutex1~0.base=|v_~#mutex1~0.base_2|} AuxVars[] AssignedVars[] {183#true} is VALID [2022-02-20 20:41:27,997 INFO L290 TraceCheckUtils]: 20: Hoare triple {183#true} [706] L698-3-->L698-4: Formula: (= (select (select |v_#memory_int_9| |v_~#mutex1~0.base_3|) (+ |v_~#mutex1~0.offset_3| 4)) 0) InVars {#memory_int=|v_#memory_int_9|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_3|, ~#mutex1~0.base=|v_~#mutex1~0.base_3|} OutVars{#memory_int=|v_#memory_int_9|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_3|, ~#mutex1~0.base=|v_~#mutex1~0.base_3|} AuxVars[] AssignedVars[] {183#true} is VALID [2022-02-20 20:41:27,997 INFO L290 TraceCheckUtils]: 21: Hoare triple {183#true} [769] L698-4-->L698-5: Formula: (= (select (select |v_#memory_int_10| |v_~#mutex1~0.base_4|) (+ |v_~#mutex1~0.offset_4| 8)) 0) InVars {#memory_int=|v_#memory_int_10|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_4|, ~#mutex1~0.base=|v_~#mutex1~0.base_4|} OutVars{#memory_int=|v_#memory_int_10|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_4|, ~#mutex1~0.base=|v_~#mutex1~0.base_4|} AuxVars[] AssignedVars[] {183#true} is VALID [2022-02-20 20:41:27,998 INFO L290 TraceCheckUtils]: 22: Hoare triple {183#true} [793] L698-5-->L698-6: Formula: (= (select (select |v_#memory_int_11| |v_~#mutex1~0.base_5|) (+ |v_~#mutex1~0.offset_5| 12)) 0) InVars {#memory_int=|v_#memory_int_11|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_5|, ~#mutex1~0.base=|v_~#mutex1~0.base_5|} OutVars{#memory_int=|v_#memory_int_11|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_5|, ~#mutex1~0.base=|v_~#mutex1~0.base_5|} AuxVars[] AssignedVars[] {183#true} is VALID [2022-02-20 20:41:27,998 INFO L290 TraceCheckUtils]: 23: Hoare triple {183#true} [790] L698-6-->L698-7: Formula: (= (select (select |v_#memory_int_12| |v_~#mutex1~0.base_6|) (+ 16 |v_~#mutex1~0.offset_6|)) 0) InVars {#memory_int=|v_#memory_int_12|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_6|, ~#mutex1~0.base=|v_~#mutex1~0.base_6|} OutVars{#memory_int=|v_#memory_int_12|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_6|, ~#mutex1~0.base=|v_~#mutex1~0.base_6|} AuxVars[] AssignedVars[] {183#true} is VALID [2022-02-20 20:41:27,998 INFO L290 TraceCheckUtils]: 24: Hoare triple {183#true} [700] L698-7-->L699: Formula: (= v_~mutex2~0.__data.__lock_1 0) InVars {} OutVars{~mutex2~0.__data.__lock=v_~mutex2~0.__data.__lock_1} AuxVars[] AssignedVars[~mutex2~0.__data.__lock] {183#true} is VALID [2022-02-20 20:41:27,998 INFO L290 TraceCheckUtils]: 25: Hoare triple {183#true} [721] L699-->L699-1: Formula: (= v_~mutex2~0.__data.__count_1 0) InVars {} OutVars{~mutex2~0.__data.__count=v_~mutex2~0.__data.__count_1} AuxVars[] AssignedVars[~mutex2~0.__data.__count] {183#true} is VALID [2022-02-20 20:41:27,998 INFO L290 TraceCheckUtils]: 26: Hoare triple {183#true} [764] L699-1-->L699-2: Formula: (= v_~mutex2~0.__data.__owner_1 0) InVars {} OutVars{~mutex2~0.__data.__owner=v_~mutex2~0.__data.__owner_1} AuxVars[] AssignedVars[~mutex2~0.__data.__owner] {183#true} is VALID [2022-02-20 20:41:27,998 INFO L290 TraceCheckUtils]: 27: Hoare triple {183#true} [694] L699-2-->L699-3: Formula: (= v_~mutex2~0.__data.__kind_1 0) InVars {} OutVars{~mutex2~0.__data.__kind=v_~mutex2~0.__data.__kind_1} AuxVars[] AssignedVars[~mutex2~0.__data.__kind] {183#true} is VALID [2022-02-20 20:41:27,998 INFO L290 TraceCheckUtils]: 28: Hoare triple {183#true} [699] L699-3-->L699-4: Formula: (= v_~mutex2~0.__data.__nusers_1 0) InVars {} OutVars{~mutex2~0.__data.__nusers=v_~mutex2~0.__data.__nusers_1} AuxVars[] AssignedVars[~mutex2~0.__data.__nusers] {183#true} is VALID [2022-02-20 20:41:27,999 INFO L290 TraceCheckUtils]: 29: Hoare triple {183#true} [709] L699-4-->L699-5: Formula: (= ((as const (Array Int Int)) 0) v_~mutex2~0.__size_1) InVars {} OutVars{~mutex2~0.__size=v_~mutex2~0.__size_1} AuxVars[] AssignedVars[~mutex2~0.__size] {183#true} is VALID [2022-02-20 20:41:27,999 INFO L290 TraceCheckUtils]: 30: Hoare triple {183#true} [712] L699-5-->L699-6: Formula: (= v_~mutex2~0.__align_1 |v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_2|) InVars {ULTIMATE.start_ULTIMATE.init_#t~nondet15#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_2|} OutVars{~mutex2~0.__align=v_~mutex2~0.__align_1, ULTIMATE.start_ULTIMATE.init_#t~nondet15#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_2|} AuxVars[] AssignedVars[~mutex2~0.__align] {183#true} is VALID [2022-02-20 20:41:27,999 INFO L290 TraceCheckUtils]: 31: Hoare triple {183#true} [740] L699-6-->L-1-4: Formula: true InVars {} OutVars{ULTIMATE.start_ULTIMATE.init_#t~nondet15#1=|v_ULTIMATE.start_ULTIMATE.init_#t~nondet15#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_ULTIMATE.init_#t~nondet15#1] {183#true} is VALID [2022-02-20 20:41:27,999 INFO L290 TraceCheckUtils]: 32: Hoare triple {183#true} [723] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {183#true} is VALID [2022-02-20 20:41:27,999 INFO L290 TraceCheckUtils]: 33: Hoare triple {183#true} [698] L-1-5-->L-1-6: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {183#true} is VALID [2022-02-20 20:41:27,999 INFO L290 TraceCheckUtils]: 34: Hoare triple {183#true} [787] 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] {183#true} is VALID [2022-02-20 20:41:27,999 INFO L290 TraceCheckUtils]: 35: Hoare triple {183#true} [697] L-1-7-->L707: Formula: true InVars {} OutVars{ULTIMATE.start_main_~i~1#1=|v_ULTIMATE.start_main_~i~1#1_1|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_1|, ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_1|, ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_1|, ULTIMATE.start_main_#t~mem14#1=|v_ULTIMATE.start_main_#t~mem14#1_1|, ULTIMATE.start_main_~#t_ids~0#1.base=|v_ULTIMATE.start_main_~#t_ids~0#1.base_1|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_1|, ULTIMATE.start_main_#t~post8#1=|v_ULTIMATE.start_main_#t~post8#1_1|, ULTIMATE.start_main_#t~post13#1=|v_ULTIMATE.start_main_#t~post13#1_1|, ULTIMATE.start_main_~#t_ids~0#1.offset=|v_ULTIMATE.start_main_~#t_ids~0#1.offset_1|, ULTIMATE.start_main_#t~nondet12#1=|v_ULTIMATE.start_main_#t~nondet12#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~1#1, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet11#1, ULTIMATE.start_main_#t~nondet10#1, ULTIMATE.start_main_#t~mem14#1, ULTIMATE.start_main_~#t_ids~0#1.base, ULTIMATE.start_main_#t~pre9#1, ULTIMATE.start_main_#t~post8#1, ULTIMATE.start_main_#t~post13#1, ULTIMATE.start_main_~#t_ids~0#1.offset, ULTIMATE.start_main_#t~nondet12#1] {183#true} is VALID [2022-02-20 20:41:28,000 INFO L290 TraceCheckUtils]: 36: Hoare triple {183#true} [753] L707-->L707-1: Formula: (and (= (store |v_#length_6| |v_ULTIMATE.start_main_~#t_ids~0#1.base_2| 40000) |v_#length_5|) (= |v_#valid_6| (store |v_#valid_7| |v_ULTIMATE.start_main_~#t_ids~0#1.base_2| 1)) (= |v_ULTIMATE.start_main_~#t_ids~0#1.offset_2| 0) (not (= |v_ULTIMATE.start_main_~#t_ids~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t_ids~0#1.base_2|) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#t_ids~0#1.base_2|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_6|, #valid=|v_#valid_7|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, ULTIMATE.start_main_~#t_ids~0#1.offset=|v_ULTIMATE.start_main_~#t_ids~0#1.offset_2|, #length=|v_#length_5|, ULTIMATE.start_main_~#t_ids~0#1.base=|v_ULTIMATE.start_main_~#t_ids~0#1.base_2|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t_ids~0#1.base, #valid, ULTIMATE.start_main_~#t_ids~0#1.offset, #length] {183#true} is VALID [2022-02-20 20:41:28,003 INFO L290 TraceCheckUtils]: 37: Hoare triple {183#true} [745] L707-1-->L707-13: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 0) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {185#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 20:41:28,003 INFO L290 TraceCheckUtils]: 38: Hoare triple {185#(= |ULTIMATE.start_main_~i~0#1| 0)} [760] L707-13-->L707-14: Formula: (not (< |v_ULTIMATE.start_main_~i~0#1_3| 10000)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} AuxVars[] AssignedVars[] {184#false} is VALID [2022-02-20 20:41:28,004 INFO L290 TraceCheckUtils]: 39: Hoare triple {184#false} [692] L707-14-->L708: Formula: (let ((.cse0 (select |v_#pthreadsMutex_2| |v_~#mutex1~0.base_7|))) (and (= |v_#pthreadsMutex_1| (store |v_#pthreadsMutex_2| |v_~#mutex1~0.base_7| (store .cse0 |v_~#mutex1~0.offset_7| 1))) (= |v_ULTIMATE.start_main_#t~nondet11#1_2| 0) (= (select .cse0 |v_~#mutex1~0.offset_7|) 0))) InVars {#pthreadsMutex=|v_#pthreadsMutex_2|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_7|, ~#mutex1~0.base=|v_~#mutex1~0.base_7|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_1|, ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_2|, ~#mutex1~0.offset=|v_~#mutex1~0.offset_7|, ~#mutex1~0.base=|v_~#mutex1~0.base_7|} AuxVars[] AssignedVars[#pthreadsMutex, ULTIMATE.start_main_#t~nondet11#1] {184#false} is VALID [2022-02-20 20:41:28,004 INFO L290 TraceCheckUtils]: 40: Hoare triple {184#false} [693] L708-->L709-7: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet11#1] {184#false} is VALID [2022-02-20 20:41:28,004 INFO L290 TraceCheckUtils]: 41: Hoare triple {184#false} [771] L709-7-->L709-1: Formula: (let ((.cse0 (select |v_#pthreadsMutex_4| |v_~#__global_lock~0.base_7|))) (and (= (select .cse0 |v_~#__global_lock~0.offset_7|) 0) (= |v_#pthreadsMutex_3| (store |v_#pthreadsMutex_4| |v_~#__global_lock~0.base_7| (store .cse0 |v_~#__global_lock~0.offset_7| 1))) (= |v_ULTIMATE.start_main_#t~nondet12#1_2| 0))) InVars {#pthreadsMutex=|v_#pthreadsMutex_4|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_7|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_7|} OutVars{#pthreadsMutex=|v_#pthreadsMutex_3|, ULTIMATE.start_main_#t~nondet12#1=|v_ULTIMATE.start_main_#t~nondet12#1_2|, ~#__global_lock~0.base=|v_~#__global_lock~0.base_7|, ~#__global_lock~0.offset=|v_~#__global_lock~0.offset_7|} AuxVars[] AssignedVars[#pthreadsMutex, ULTIMATE.start_main_#t~nondet12#1] {184#false} is VALID [2022-02-20 20:41:28,004 INFO L290 TraceCheckUtils]: 42: Hoare triple {184#false} [736] L709-1-->L709-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet12#1=|v_ULTIMATE.start_main_#t~nondet12#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet12#1] {184#false} is VALID [2022-02-20 20:41:28,004 INFO L290 TraceCheckUtils]: 43: Hoare triple {184#false} [689] L709-2-->L709-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {184#false} is VALID [2022-02-20 20:41:28,004 INFO L290 TraceCheckUtils]: 44: Hoare triple {184#false} [779] L709-3-->L709-4: Formula: (= (ite (= v_~global~0_2 0) 1 0) |v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_1|) InVars {~global~0=v_~global~0_2} OutVars{ULTIMATE.start___VERIFIER_assert_#in~cond#1=|v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_1|, ~global~0=v_~global~0_2} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_#in~cond#1] {184#false} is VALID [2022-02-20 20:41:28,004 INFO L290 TraceCheckUtils]: 45: Hoare triple {184#false} [731] L709-4-->L691: Formula: true InVars {} OutVars{ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_~cond#1] {184#false} is VALID [2022-02-20 20:41:28,005 INFO L290 TraceCheckUtils]: 46: Hoare triple {184#false} [717] L691-->L691-1: Formula: (= |v_ULTIMATE.start___VERIFIER_assert_~cond#1_2| |v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_2|) InVars {ULTIMATE.start___VERIFIER_assert_#in~cond#1=|v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_2|} OutVars{ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_2|, ULTIMATE.start___VERIFIER_assert_#in~cond#1=|v_ULTIMATE.start___VERIFIER_assert_#in~cond#1_2|} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_~cond#1] {184#false} is VALID [2022-02-20 20:41:28,005 INFO L290 TraceCheckUtils]: 47: Hoare triple {184#false} [800] L691-1-->L691-2: Formula: (= |v_ULTIMATE.start___VERIFIER_assert_~cond#1_3| 0) InVars {ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_3|} OutVars{ULTIMATE.start___VERIFIER_assert_~cond#1=|v_ULTIMATE.start___VERIFIER_assert_~cond#1_3|} AuxVars[] AssignedVars[] {184#false} is VALID [2022-02-20 20:41:28,005 INFO L290 TraceCheckUtils]: 48: Hoare triple {184#false} [714] L691-2-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {184#false} is VALID [2022-02-20 20:41:28,005 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 20:41:28,005 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 20:41:28,005 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [962058322] [2022-02-20 20:41:28,006 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [962058322] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 20:41:28,006 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 20:41:28,006 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 20:41:28,006 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [969600253] [2022-02-20 20:41:28,006 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 20:41:28,006 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 16.333333333333332) internal successors, (49), 3 states have internal predecessors, (49), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 49 [2022-02-20 20:41:28,007 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 20:41:28,007 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 16.333333333333332) internal successors, (49), 3 states have internal predecessors, (49), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:41:28,031 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 20:41:28,031 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 20:41:28,031 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 20:41:28,032 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 20:41:28,032 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 20:41:28,033 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 159 out of 204 [2022-02-20 20:41:28,033 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 180 places, 204 transitions, 452 flow. Second operand has 3 states, 3 states have (on average 160.0) internal successors, (480), 3 states have internal predecessors, (480), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:41:28,033 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 20:41:28,034 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 159 of 204 [2022-02-20 20:41:28,034 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 20:41:28,290 INFO L129 PetriNetUnfolder]: 20/475 cut-off events. [2022-02-20 20:41:28,291 INFO L130 PetriNetUnfolder]: For 142/240 co-relation queries the response was YES. [2022-02-20 20:41:28,293 INFO L84 FinitePrefix]: Finished finitePrefix Result has 591 conditions, 475 events. 20/475 cut-off events. For 142/240 co-relation queries the response was YES. Maximal size of possible extension queue 11. Compared 1829 event pairs, 6 based on Foata normal form. 434/885 useless extension candidates. Maximal degree in co-relation 356. Up to 56 conditions per place. [2022-02-20 20:41:28,294 INFO L132 encePairwiseOnDemand]: 172/204 looper letters, 13 selfloop transitions, 2 changer transitions 23/178 dead transitions. [2022-02-20 20:41:28,294 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 181 places, 178 transitions, 438 flow [2022-02-20 20:41:28,294 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 20:41:28,294 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2022-02-20 20:41:28,298 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 533 transitions. [2022-02-20 20:41:28,299 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.8709150326797386 [2022-02-20 20:41:28,299 INFO L72 ComplementDD]: Start complementDD. Operand 3 states and 533 transitions. [2022-02-20 20:41:28,299 INFO L73 IsDeterministic]: Start isDeterministic. Operand 3 states and 533 transitions. [2022-02-20 20:41:28,299 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 20:41:28,299 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 3 states and 533 transitions. [2022-02-20 20:41:28,300 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 4 states, 3 states have (on average 177.66666666666666) internal successors, (533), 3 states have internal predecessors, (533), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:41:28,301 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 4 states, 4 states have (on average 204.0) internal successors, (816), 4 states have internal predecessors, (816), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:41:28,301 INFO L81 ComplementDD]: Finished complementDD. Result has 4 states, 4 states have (on average 204.0) internal successors, (816), 4 states have internal predecessors, (816), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:41:28,301 INFO L186 Difference]: Start difference. First operand has 180 places, 204 transitions, 452 flow. Second operand 3 states and 533 transitions. [2022-02-20 20:41:28,301 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 181 places, 178 transitions, 438 flow [2022-02-20 20:41:28,975 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 181 places, 178 transitions, 438 flow, removed 0 selfloop flow, removed 0 redundant places. [2022-02-20 20:41:28,976 INFO L242 Difference]: Finished difference. Result has 182 places, 152 transitions, 346 flow [2022-02-20 20:41:28,977 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=204, PETRI_DIFFERENCE_MINUEND_FLOW=392, PETRI_DIFFERENCE_MINUEND_PLACES=179, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=174, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=172, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=346, PETRI_PLACES=182, PETRI_TRANSITIONS=152} [2022-02-20 20:41:28,977 INFO L334 CegarLoopForPetriNet]: 180 programPoint places, 2 predicate places. [2022-02-20 20:41:28,977 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 182 places, 152 transitions, 346 flow