./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/pthread-deagle/reorder_c11_bad-40.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/pthread-deagle/reorder_c11_bad-40.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 b6d5da741db538e8728209fa456d0dc9c63ceba5521dacbaf062bafc94e3da01 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 21:00:28,455 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 21:00:28,456 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 21:00:28,488 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 21:00:28,489 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 21:00:28,490 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 21:00:28,491 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 21:00:28,495 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 21:00:28,496 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 21:00:28,497 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 21:00:28,497 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 21:00:28,498 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 21:00:28,498 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 21:00:28,499 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 21:00:28,500 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 21:00:28,500 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 21:00:28,502 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 21:00:28,504 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 21:00:28,505 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 21:00:28,506 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 21:00:28,510 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 21:00:28,513 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 21:00:28,514 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 21:00:28,515 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 21:00:28,517 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 21:00:28,522 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 21:00:28,522 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 21:00:28,523 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 21:00:28,523 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 21:00:28,524 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 21:00:28,525 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 21:00:28,525 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 21:00:28,526 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 21:00:28,527 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 21:00:28,528 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 21:00:28,529 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 21:00:28,529 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 21:00:28,529 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 21:00:28,530 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 21:00:28,530 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 21:00:28,530 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 21:00:28,531 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2022-02-20 21:00:28,557 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 21:00:28,557 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 21:00:28,557 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 21:00:28,557 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 21:00:28,558 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 21:00:28,558 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 21:00:28,559 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 21:00:28,559 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 21:00:28,559 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 21:00:28,559 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 21:00:28,560 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 21:00:28,560 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 21:00:28,560 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 21:00:28,560 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 21:00:28,561 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 21:00:28,561 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 21:00:28,561 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 21:00:28,561 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 21:00:28,561 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 21:00:28,561 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 21:00:28,561 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 21:00:28,562 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 21:00:28,562 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 21:00:28,562 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 21:00:28,562 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 21:00:28,562 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 21:00:28,562 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 21:00:28,562 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 21:00:28,563 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 21:00:28,563 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 21:00:28,563 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 21:00:28,563 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 21:00:28,563 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 21:00:28,563 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 -> b6d5da741db538e8728209fa456d0dc9c63ceba5521dacbaf062bafc94e3da01 [2022-02-20 21:00:28,748 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 21:00:28,774 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 21:00:28,776 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 21:00:28,777 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 21:00:28,778 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 21:00:28,779 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/pthread-deagle/reorder_c11_bad-40.i [2022-02-20 21:00:28,839 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a14ffac57/dbdf390f225d4eaeb69be788b31ff510/FLAG7369da195 [2022-02-20 21:00:29,265 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 21:00:29,265 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/pthread-deagle/reorder_c11_bad-40.i [2022-02-20 21:00:29,274 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a14ffac57/dbdf390f225d4eaeb69be788b31ff510/FLAG7369da195 [2022-02-20 21:00:29,617 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a14ffac57/dbdf390f225d4eaeb69be788b31ff510 [2022-02-20 21:00:29,619 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 21:00:29,620 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 21:00:29,621 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 21:00:29,621 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 21:00:29,624 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 21:00:29,624 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 09:00:29" (1/1) ... [2022-02-20 21:00:29,625 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@1f98e27 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:00:29, skipping insertion in model container [2022-02-20 21:00:29,625 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 09:00:29" (1/1) ... [2022-02-20 21:00:29,629 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 21:00:29,650 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 21:00:29,979 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/pthread-deagle/reorder_c11_bad-40.i[30190,30203] [2022-02-20 21:00:29,994 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 21:00:30,000 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 21:00:30,031 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/pthread-deagle/reorder_c11_bad-40.i[30190,30203] [2022-02-20 21:00:30,050 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 21:00:30,103 INFO L208 MainTranslator]: Completed translation [2022-02-20 21:00:30,104 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:00:30 WrapperNode [2022-02-20 21:00:30,104 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 21:00:30,105 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 21:00:30,105 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 21:00:30,105 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 21:00:30,110 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:00:30" (1/1) ... [2022-02-20 21:00:30,128 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:00:30" (1/1) ... [2022-02-20 21:00:30,144 INFO L137 Inliner]: procedures = 163, calls = 21, calls flagged for inlining = 2, calls inlined = 2, statements flattened = 71 [2022-02-20 21:00:30,144 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 21:00:30,145 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 21:00:30,145 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 21:00:30,145 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 21:00:30,150 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:00:30" (1/1) ... [2022-02-20 21:00:30,150 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:00:30" (1/1) ... [2022-02-20 21:00:30,152 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:00:30" (1/1) ... [2022-02-20 21:00:30,152 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:00:30" (1/1) ... [2022-02-20 21:00:30,156 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:00:30" (1/1) ... [2022-02-20 21:00:30,159 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:00:30" (1/1) ... [2022-02-20 21:00:30,160 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:00:30" (1/1) ... [2022-02-20 21:00:30,161 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 21:00:30,179 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 21:00:30,179 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 21:00:30,180 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 21:00:30,181 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:00:30" (1/1) ... [2022-02-20 21:00:30,185 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 21:00:30,197 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 21:00:30,208 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 21:00:30,212 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 21:00:30,233 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-02-20 21:00:30,233 INFO L130 BoogieDeclarations]: Found specification of procedure setThread [2022-02-20 21:00:30,234 INFO L138 BoogieDeclarations]: Found implementation of procedure setThread [2022-02-20 21:00:30,234 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-02-20 21:00:30,234 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2022-02-20 21:00:30,234 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 21:00:30,234 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-02-20 21:00:30,234 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 21:00:30,234 INFO L130 BoogieDeclarations]: Found specification of procedure checkThread [2022-02-20 21:00:30,234 INFO L138 BoogieDeclarations]: Found implementation of procedure checkThread [2022-02-20 21:00:30,235 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 21:00:30,235 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2022-02-20 21:00:30,235 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 21:00:30,235 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 21:00:30,236 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 21:00:30,306 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 21:00:30,308 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 21:00:30,431 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 21:00:30,436 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 21:00:30,436 INFO L299 CfgBuilder]: Removed 4 assume(true) statements. [2022-02-20 21:00:30,437 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 09:00:30 BoogieIcfgContainer [2022-02-20 21:00:30,437 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 21:00:30,438 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 21:00:30,439 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 21:00:30,441 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 21:00:30,441 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 09:00:29" (1/3) ... [2022-02-20 21:00:30,441 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@46fed3f4 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 09:00:30, skipping insertion in model container [2022-02-20 21:00:30,441 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:00:30" (2/3) ... [2022-02-20 21:00:30,442 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@46fed3f4 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 09:00:30, skipping insertion in model container [2022-02-20 21:00:30,442 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 09:00:30" (3/3) ... [2022-02-20 21:00:30,443 INFO L111 eAbstractionObserver]: Analyzing ICFG reorder_c11_bad-40.i [2022-02-20 21:00:30,446 WARN L150 ceAbstractionStarter]: Switching off computation of Hoare annotation because input is a concurrent program [2022-02-20 21:00:30,446 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 21:00:30,446 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 21:00:30,446 INFO L534 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2022-02-20 21:00:30,507 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread1of1ForFork0_#in~param.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:30,508 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread1of1ForFork0_#in~param.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:30,508 WARN L322 ript$VariableManager]: TermVariabe setThreadThread1of1ForFork0_~param.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:30,508 WARN L322 ript$VariableManager]: TermVariabe setThreadThread1of1ForFork0_~param.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:30,508 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread1of1ForFork0_#in~param.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:30,508 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread1of1ForFork0_#in~param.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:30,508 WARN L322 ript$VariableManager]: TermVariabe setThreadThread1of1ForFork0_~param.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:30,509 WARN L322 ript$VariableManager]: TermVariabe setThreadThread1of1ForFork0_~param.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:30,509 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread1of1ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:30,509 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread1of1ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:30,510 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread1of1ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:30,510 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread1of1ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:30,510 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread1of1ForFork1_#in~param.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:30,510 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread1of1ForFork1_#in~param.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:30,510 WARN L322 ript$VariableManager]: TermVariabe checkThreadThread1of1ForFork1_~param.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:30,511 WARN L322 ript$VariableManager]: TermVariabe checkThreadThread1of1ForFork1_~param.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:30,511 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread1of1ForFork1_#in~param.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:30,511 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread1of1ForFork1_#in~param.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:30,511 WARN L322 ript$VariableManager]: TermVariabe checkThreadThread1of1ForFork1_~param.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:30,511 WARN L322 ript$VariableManager]: TermVariabe checkThreadThread1of1ForFork1_~param.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:30,512 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread1of1ForFork1_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:30,513 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread1of1ForFork1_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:30,513 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread1of1ForFork1_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:30,513 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread1of1ForFork1_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:30,516 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread1of1ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:30,516 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread1of1ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:30,517 WARN L322 ript$VariableManager]: TermVariabe setThreadThread1of1ForFork0_~param.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:30,517 WARN L322 ript$VariableManager]: TermVariabe setThreadThread1of1ForFork0_~param.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:30,524 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread1of1ForFork1_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:30,524 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread1of1ForFork1_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:30,524 WARN L322 ript$VariableManager]: TermVariabe checkThreadThread1of1ForFork1_~param.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:30,524 WARN L322 ript$VariableManager]: TermVariabe checkThreadThread1of1ForFork1_~param.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:30,551 INFO L148 ThreadInstanceAdder]: Constructed 4 joinOtherThreadTransitions. [2022-02-20 21:00:30,579 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 21:00:30,583 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 21:00:30,583 INFO L340 AbstractCegarLoop]: Starting to check reachability of 4 error locations. [2022-02-20 21:00:30,590 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 87 places, 91 transitions, 204 flow [2022-02-20 21:00:30,629 INFO L129 PetriNetUnfolder]: 24/202 cut-off events. [2022-02-20 21:00:30,629 INFO L130 PetriNetUnfolder]: For 8/8 co-relation queries the response was YES. [2022-02-20 21:00:30,632 INFO L84 FinitePrefix]: Finished finitePrefix Result has 222 conditions, 202 events. 24/202 cut-off events. For 8/8 co-relation queries the response was YES. Maximal size of possible extension queue 8. Compared 622 event pairs, 0 based on Foata normal form. 0/170 useless extension candidates. Maximal degree in co-relation 105. Up to 8 conditions per place. [2022-02-20 21:00:30,632 INFO L82 GeneralOperation]: Start removeDead. Operand has 87 places, 91 transitions, 204 flow [2022-02-20 21:00:30,636 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 87 places, 89 transitions, 194 flow [2022-02-20 21:00:30,644 INFO L129 PetriNetUnfolder]: 5/66 cut-off events. [2022-02-20 21:00:30,644 INFO L130 PetriNetUnfolder]: For 0/0 co-relation queries the response was YES. [2022-02-20 21:00:30,644 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:00:30,645 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] [2022-02-20 21:00:30,645 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting checkThreadErr0ASSERT_VIOLATIONERROR_FUNCTION === [checkThreadErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION, checkThreadErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 21:00:30,648 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:00:30,648 INFO L85 PathProgramCache]: Analyzing trace with hash -211201094, now seen corresponding path program 1 times [2022-02-20 21:00:30,654 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:00:30,654 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [483738397] [2022-02-20 21:00:30,654 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:30,655 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:00:30,720 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:30,775 INFO L290 TraceCheckUtils]: 0: Hoare triple {90#true} [199] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {90#true} is VALID [2022-02-20 21:00:30,776 INFO L290 TraceCheckUtils]: 1: Hoare triple {90#true} [181] L-1-->L-1-1: Formula: (and (= |v_#NULL.base_1| 0) (= |v_#NULL.offset_1| 0)) InVars {} OutVars{#NULL.offset=|v_#NULL.offset_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {90#true} is VALID [2022-02-20 21:00:30,776 INFO L290 TraceCheckUtils]: 2: Hoare triple {90#true} [208] L-1-1-->L-1-2: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] {90#true} is VALID [2022-02-20 21:00:30,776 INFO L290 TraceCheckUtils]: 3: Hoare triple {90#true} [209] L-1-2-->L680: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {90#true} is VALID [2022-02-20 21:00:30,777 INFO L290 TraceCheckUtils]: 4: Hoare triple {90#true} [204] L680-->L680-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[] {90#true} is VALID [2022-02-20 21:00:30,777 INFO L290 TraceCheckUtils]: 5: Hoare triple {90#true} [163] L680-1-->L680-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[] {90#true} is VALID [2022-02-20 21:00:30,777 INFO L290 TraceCheckUtils]: 6: Hoare triple {90#true} [207] L680-2-->L680-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[] {90#true} is VALID [2022-02-20 21:00:30,777 INFO L290 TraceCheckUtils]: 7: Hoare triple {90#true} [178] L680-3-->L680-4: Formula: (and (= (select |v_#valid_3| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {90#true} is VALID [2022-02-20 21:00:30,778 INFO L290 TraceCheckUtils]: 8: Hoare triple {90#true} [197] L680-4-->L680-5: Formula: (= (select (select |v_#memory_int_3| 2) 0) 0) InVars {#memory_int=|v_#memory_int_3|} OutVars{#memory_int=|v_#memory_int_3|} AuxVars[] AssignedVars[] {90#true} is VALID [2022-02-20 21:00:30,778 INFO L290 TraceCheckUtils]: 9: Hoare triple {90#true} [161] L680-5-->L683: Formula: (= v_~a~0_4 0) InVars {} OutVars{~a~0=v_~a~0_4} AuxVars[] AssignedVars[~a~0] {90#true} is VALID [2022-02-20 21:00:30,778 INFO L290 TraceCheckUtils]: 10: Hoare triple {90#true} [145] L683-->L684: Formula: (= v_~b~0_4 0) InVars {} OutVars{~b~0=v_~b~0_4} AuxVars[] AssignedVars[~b~0] {90#true} is VALID [2022-02-20 21:00:30,778 INFO L290 TraceCheckUtils]: 11: Hoare triple {90#true} [131] L684-->L-1-3: Formula: (= v_~i~0_1 0) InVars {} OutVars{~i~0=v_~i~0_1} AuxVars[] AssignedVars[~i~0] {90#true} is VALID [2022-02-20 21:00:30,778 INFO L290 TraceCheckUtils]: 12: Hoare triple {90#true} [211] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {90#true} is VALID [2022-02-20 21:00:30,779 INFO L290 TraceCheckUtils]: 13: Hoare triple {90#true} [187] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {90#true} is VALID [2022-02-20 21:00:30,779 INFO L290 TraceCheckUtils]: 14: Hoare triple {90#true} [150] L-1-5-->L-1-6: Formula: (and (= |v_ULTIMATE.start_#in~argv#1.offset_1| |v_ULTIMATE.start_main_#in~argv#1.offset_1|) (= |v_ULTIMATE.start_main_#in~argv#1.base_1| |v_ULTIMATE.start_#in~argv#1.base_1|) (= |v_ULTIMATE.start_main_#in~argc#1_1| |v_ULTIMATE.start_#in~argc#1_1|)) InVars {ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} OutVars{ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_1|, ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_1|, ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#in~argv#1.base, ULTIMATE.start_main_#in~argc#1, ULTIMATE.start_main_#in~argv#1.offset] {90#true} is VALID [2022-02-20 21:00:30,779 INFO L290 TraceCheckUtils]: 15: Hoare triple {90#true} [185] 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] {90#true} is VALID [2022-02-20 21:00:30,779 INFO L290 TraceCheckUtils]: 16: Hoare triple {90#true} [148] L-1-7-->L699: Formula: true InVars {} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_1|, ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_1|, ULTIMATE.start_main_#t~mem8#1=|v_ULTIMATE.start_main_#t~mem8#1_1|, ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_1|, ULTIMATE.start_main_~#setPool~0#1.base=|v_ULTIMATE.start_main_~#setPool~0#1.base_1|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_1|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_1|, ULTIMATE.start_main_~#checkPool~0#1.offset=|v_ULTIMATE.start_main_~#checkPool~0#1.offset_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_#t~post7#1=|v_ULTIMATE.start_main_#t~post7#1_1|, ULTIMATE.start_main_#t~post9#1=|v_ULTIMATE.start_main_#t~post9#1_1|, ULTIMATE.start_main_#t~post4#1=|v_ULTIMATE.start_main_#t~post4#1_1|, ULTIMATE.start_main_~#setPool~0#1.offset=|v_ULTIMATE.start_main_~#setPool~0#1.offset_1|, ULTIMATE.start_main_~#checkPool~0#1.base=|v_ULTIMATE.start_main_~#checkPool~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1, ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_#t~mem8#1, ULTIMATE.start_main_#t~nondet6#1, ULTIMATE.start_main_~#setPool~0#1.base, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~mem10#1, ULTIMATE.start_main_#t~pre2#1, ULTIMATE.start_main_#t~pre5#1, ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~#checkPool~0#1.offset, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_#t~post7#1, ULTIMATE.start_main_#t~post9#1, ULTIMATE.start_main_#t~post4#1, ULTIMATE.start_main_~#setPool~0#1.offset, ULTIMATE.start_main_~#checkPool~0#1.base] {90#true} is VALID [2022-02-20 21:00:30,780 INFO L290 TraceCheckUtils]: 17: Hoare triple {90#true} [184] L699-->L699-1: Formula: (= |v_ULTIMATE.start_main_#in~argc#1_2| |v_ULTIMATE.start_main_~argc#1_2|) InVars {ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_2|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1] {90#true} is VALID [2022-02-20 21:00:30,780 INFO L290 TraceCheckUtils]: 18: Hoare triple {90#true} [153] L699-1-->L700: Formula: (and (= |v_ULTIMATE.start_main_~argv#1.offset_2| |v_ULTIMATE.start_main_#in~argv#1.offset_2|) (= |v_ULTIMATE.start_main_#in~argv#1.base_2| |v_ULTIMATE.start_main_~argv#1.base_2|)) InVars {ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|} OutVars{ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~argv#1.offset] {90#true} is VALID [2022-02-20 21:00:30,780 INFO L290 TraceCheckUtils]: 19: Hoare triple {90#true} [210] L700-->L700-1: Formula: (and (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#setPool~0#1.base_2|) 0) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#setPool~0#1.base_2| 160) |v_#length_3|) (= |v_ULTIMATE.start_main_~#setPool~0#1.offset_2| 0) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#setPool~0#1.base_2|) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#setPool~0#1.base_2| 1)) (not (= |v_ULTIMATE.start_main_~#setPool~0#1.base_2| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#setPool~0#1.offset=|v_ULTIMATE.start_main_~#setPool~0#1.offset_2|, ULTIMATE.start_main_~#setPool~0#1.base=|v_ULTIMATE.start_main_~#setPool~0#1.base_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#setPool~0#1.base, #valid, #length, ULTIMATE.start_main_~#setPool~0#1.offset] {90#true} is VALID [2022-02-20 21:00:30,781 INFO L290 TraceCheckUtils]: 20: Hoare triple {90#true} [213] L700-1-->L701: Formula: (and (= |v_ULTIMATE.start_main_~#checkPool~0#1.offset_2| 0) (not (= |v_ULTIMATE.start_main_~#checkPool~0#1.base_2| 0)) (< |v_#StackHeapBarrier_3| |v_ULTIMATE.start_main_~#checkPool~0#1.base_2|) (= |v_#valid_6| (store |v_#valid_7| |v_ULTIMATE.start_main_~#checkPool~0#1.base_2| 1)) (= |v_#length_5| (store |v_#length_6| |v_ULTIMATE.start_main_~#checkPool~0#1.base_2| 4)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#checkPool~0#1.base_2|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#checkPool~0#1.offset=|v_ULTIMATE.start_main_~#checkPool~0#1.offset_2|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_5|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#checkPool~0#1.base=|v_ULTIMATE.start_main_~#checkPool~0#1.base_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#checkPool~0#1.offset, #valid, #length, ULTIMATE.start_main_~#checkPool~0#1.base] {90#true} is VALID [2022-02-20 21:00:30,781 INFO L290 TraceCheckUtils]: 21: Hoare triple {90#true} [202] L701-->L702-5: Formula: (= v_~i~0_2 0) InVars {} OutVars{~i~0=v_~i~0_2} AuxVars[] AssignedVars[~i~0] {90#true} is VALID [2022-02-20 21:00:30,781 INFO L290 TraceCheckUtils]: 22: Hoare triple {90#true} [139] L702-5-->L702-6: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {91#false} is VALID [2022-02-20 21:00:30,782 INFO L290 TraceCheckUtils]: 23: Hoare triple {91#false} [215] L702-6-->L704-5: Formula: (= v_~i~0_8 0) InVars {} OutVars{~i~0=v_~i~0_8} AuxVars[] AssignedVars[~i~0] {91#false} is VALID [2022-02-20 21:00:30,782 INFO L290 TraceCheckUtils]: 24: Hoare triple {91#false} [172] L704-5-->L705: Formula: (< v_~i~0_10 1) InVars {~i~0=v_~i~0_10} OutVars{~i~0=v_~i~0_10} AuxVars[] AssignedVars[] {91#false} is VALID [2022-02-20 21:00:30,783 INFO L290 TraceCheckUtils]: 25: Hoare triple {91#false} [179] L705-->L705-1: Formula: (= |v_ULTIMATE.start_main_#t~pre5#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_2|, #pthreadsForks=|v_#pthreadsForks_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1] {91#false} is VALID [2022-02-20 21:00:30,783 INFO L290 TraceCheckUtils]: 26: Hoare triple {91#false} [206] L705-1-->L705-2: Formula: (= (+ 1 |v_#pthreadsForks_6|) |v_#pthreadsForks_5|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_5|} AuxVars[] AssignedVars[#pthreadsForks] {91#false} is VALID [2022-02-20 21:00:30,784 INFO L290 TraceCheckUtils]: 27: Hoare triple {91#false} [201] L705-2-->L705-3: Formula: (= (store |v_#memory_int_7| |v_ULTIMATE.start_main_~#checkPool~0#1.base_3| (store (select |v_#memory_int_7| |v_ULTIMATE.start_main_~#checkPool~0#1.base_3|) (+ |v_ULTIMATE.start_main_~#checkPool~0#1.offset_3| (* v_~i~0_11 4)) |v_ULTIMATE.start_main_#t~pre5#1_3|)) |v_#memory_int_6|) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_3|, #memory_int=|v_#memory_int_7|, ULTIMATE.start_main_~#checkPool~0#1.offset=|v_ULTIMATE.start_main_~#checkPool~0#1.offset_3|, ~i~0=v_~i~0_11, ULTIMATE.start_main_~#checkPool~0#1.base=|v_ULTIMATE.start_main_~#checkPool~0#1.base_3|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_3|, #memory_int=|v_#memory_int_6|, ULTIMATE.start_main_~#checkPool~0#1.offset=|v_ULTIMATE.start_main_~#checkPool~0#1.offset_3|, ~i~0=v_~i~0_11, ULTIMATE.start_main_~#checkPool~0#1.base=|v_ULTIMATE.start_main_~#checkPool~0#1.base_3|} AuxVars[] AssignedVars[#memory_int] {91#false} is VALID [2022-02-20 21:00:30,786 INFO L290 TraceCheckUtils]: 28: Hoare triple {91#false} [233] L705-3-->checkThreadENTRY: Formula: (and (= |v_checkThreadThread1of1ForFork1_#in~param.offset_4| 0) (= |v_checkThreadThread1of1ForFork1_#in~param.base_4| 0) (= |v_ULTIMATE.start_main_#t~pre5#1_6| v_checkThreadThread1of1ForFork1_thidvar0_2)) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_6|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_6|, checkThreadThread1of1ForFork1_#in~param.base=|v_checkThreadThread1of1ForFork1_#in~param.base_4|, checkThreadThread1of1ForFork1_thidvar0=v_checkThreadThread1of1ForFork1_thidvar0_2, checkThreadThread1of1ForFork1_#res.base=|v_checkThreadThread1of1ForFork1_#res.base_4|, checkThreadThread1of1ForFork1_#res.offset=|v_checkThreadThread1of1ForFork1_#res.offset_4|, checkThreadThread1of1ForFork1_~param.base=v_checkThreadThread1of1ForFork1_~param.base_4, checkThreadThread1of1ForFork1_#in~param.offset=|v_checkThreadThread1of1ForFork1_#in~param.offset_4|, checkThreadThread1of1ForFork1_~param.offset=v_checkThreadThread1of1ForFork1_~param.offset_4} AuxVars[] AssignedVars[checkThreadThread1of1ForFork1_#in~param.base, checkThreadThread1of1ForFork1_thidvar0, checkThreadThread1of1ForFork1_#res.base, checkThreadThread1of1ForFork1_#res.offset, checkThreadThread1of1ForFork1_~param.base, checkThreadThread1of1ForFork1_#in~param.offset, checkThreadThread1of1ForFork1_~param.offset] {91#false} is VALID [2022-02-20 21:00:30,787 INFO L290 TraceCheckUtils]: 29: Hoare triple {91#false} [222] checkThreadENTRY-->L695: Formula: (and (= v_checkThreadThread1of1ForFork1_~param.offset_1 |v_checkThreadThread1of1ForFork1_#in~param.offset_1|) (= v_checkThreadThread1of1ForFork1_~param.base_1 |v_checkThreadThread1of1ForFork1_#in~param.base_1|)) InVars {checkThreadThread1of1ForFork1_#in~param.base=|v_checkThreadThread1of1ForFork1_#in~param.base_1|, checkThreadThread1of1ForFork1_#in~param.offset=|v_checkThreadThread1of1ForFork1_#in~param.offset_1|} OutVars{checkThreadThread1of1ForFork1_#in~param.base=|v_checkThreadThread1of1ForFork1_#in~param.base_1|, checkThreadThread1of1ForFork1_~param.base=v_checkThreadThread1of1ForFork1_~param.base_1, checkThreadThread1of1ForFork1_#in~param.offset=|v_checkThreadThread1of1ForFork1_#in~param.offset_1|, checkThreadThread1of1ForFork1_~param.offset=v_checkThreadThread1of1ForFork1_~param.offset_1} AuxVars[] AssignedVars[checkThreadThread1of1ForFork1_~param.base, checkThreadThread1of1ForFork1_~param.offset] {91#false} is VALID [2022-02-20 21:00:30,787 INFO L290 TraceCheckUtils]: 30: Hoare triple {91#false} [224] L695-->L696: Formula: (and (or (not (= v_~a~0_3 1)) (not (= (- 1) v_~b~0_3))) (or (not (= v_~b~0_3 0)) (not (= v_~a~0_3 0)))) InVars {~a~0=v_~a~0_3, ~b~0=v_~b~0_3} OutVars{~a~0=v_~a~0_3, ~b~0=v_~b~0_3} AuxVars[] AssignedVars[] {91#false} is VALID [2022-02-20 21:00:30,787 INFO L290 TraceCheckUtils]: 31: Hoare triple {91#false} [226] L696-->checkThreadErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {91#false} is VALID [2022-02-20 21:00:30,788 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 21:00:30,789 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:00:30,790 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [483738397] [2022-02-20 21:00:30,790 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [483738397] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:00:30,790 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 21:00:30,793 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 21:00:30,794 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1856028787] [2022-02-20 21:00:30,794 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:00:30,803 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 16.0) internal successors, (32), 2 states have internal predecessors, (32), 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 32 [2022-02-20 21:00:30,804 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:00:30,806 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 2 states, 2 states have (on average 16.0) internal successors, (32), 2 states have internal predecessors, (32), 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 21:00:30,847 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:00:30,847 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-02-20 21:00:30,847 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:00:30,874 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-02-20 21:00:30,875 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 21:00:30,877 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 79 out of 91 [2022-02-20 21:00:30,880 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 87 places, 89 transitions, 194 flow. Second operand has 2 states, 2 states have (on average 80.0) internal successors, (160), 2 states have internal predecessors, (160), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 21:00:30,880 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 21:00:30,880 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 79 of 91 [2022-02-20 21:00:30,881 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 21:00:30,935 INFO L129 PetriNetUnfolder]: 4/172 cut-off events. [2022-02-20 21:00:30,939 INFO L130 PetriNetUnfolder]: For 15/15 co-relation queries the response was YES. [2022-02-20 21:00:30,940 INFO L84 FinitePrefix]: Finished finitePrefix Result has 196 conditions, 172 events. 4/172 cut-off events. For 15/15 co-relation queries the response was YES. Maximal size of possible extension queue 8. Compared 542 event pairs, 0 based on Foata normal form. 18/174 useless extension candidates. Maximal degree in co-relation 104. Up to 8 conditions per place. [2022-02-20 21:00:30,942 INFO L132 encePairwiseOnDemand]: 86/91 looper letters, 4 selfloop transitions, 0 changer transitions 0/83 dead transitions. [2022-02-20 21:00:30,942 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 87 places, 83 transitions, 190 flow [2022-02-20 21:00:30,942 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-02-20 21:00:30,945 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2022-02-20 21:00:30,962 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 167 transitions. [2022-02-20 21:00:30,963 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.9175824175824175 [2022-02-20 21:00:30,964 INFO L72 ComplementDD]: Start complementDD. Operand 2 states and 167 transitions. [2022-02-20 21:00:30,964 INFO L73 IsDeterministic]: Start isDeterministic. Operand 2 states and 167 transitions. [2022-02-20 21:00:30,964 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 21:00:30,966 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 2 states and 167 transitions. [2022-02-20 21:00:30,972 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 3 states, 2 states have (on average 83.5) internal successors, (167), 2 states have internal predecessors, (167), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 21:00:30,976 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 3 states, 3 states have (on average 91.0) internal successors, (273), 3 states have internal predecessors, (273), 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 21:00:30,977 INFO L81 ComplementDD]: Finished complementDD. Result has 3 states, 3 states have (on average 91.0) internal successors, (273), 3 states have internal predecessors, (273), 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 21:00:30,978 INFO L186 Difference]: Start difference. First operand has 87 places, 89 transitions, 194 flow. Second operand 2 states and 167 transitions. [2022-02-20 21:00:30,979 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 87 places, 83 transitions, 190 flow [2022-02-20 21:00:30,985 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 87 places, 83 transitions, 190 flow, removed 0 selfloop flow, removed 0 redundant places. [2022-02-20 21:00:30,989 INFO L242 Difference]: Finished difference. Result has 87 places, 83 transitions, 182 flow [2022-02-20 21:00:30,991 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=91, PETRI_DIFFERENCE_MINUEND_FLOW=182, PETRI_DIFFERENCE_MINUEND_PLACES=86, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=83, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=0, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=83, PETRI_DIFFERENCE_SUBTRAHEND_STATES=2, PETRI_FLOW=182, PETRI_PLACES=87, PETRI_TRANSITIONS=83} [2022-02-20 21:00:30,994 INFO L334 CegarLoopForPetriNet]: 87 programPoint places, 0 predicate places. [2022-02-20 21:00:30,994 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 87 places, 83 transitions, 182 flow [2022-02-20 21:00:31,062 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 1634 states, 1617 states have (on average 2.4081632653061225) internal successors, (3894), 1633 states have internal predecessors, (3894), 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 21:00:31,065 INFO L78 Accepts]: Start accepts. Automaton has has 1634 states, 1617 states have (on average 2.4081632653061225) internal successors, (3894), 1633 states have internal predecessors, (3894), 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 32 [2022-02-20 21:00:31,066 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:00:31,066 INFO L470 AbstractCegarLoop]: Abstraction has has 87 places, 83 transitions, 182 flow [2022-02-20 21:00:31,066 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 80.0) internal successors, (160), 2 states have internal predecessors, (160), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 21:00:31,066 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:00:31,067 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] [2022-02-20 21:00:31,067 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 21:00:31,067 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting checkThreadErr0ASSERT_VIOLATIONERROR_FUNCTION === [checkThreadErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION, checkThreadErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 21:00:31,068 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:00:31,068 INFO L85 PathProgramCache]: Analyzing trace with hash -407714599, now seen corresponding path program 1 times [2022-02-20 21:00:31,068 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:00:31,069 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1483020561] [2022-02-20 21:00:31,069 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:31,069 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:00:31,118 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:31,193 INFO L290 TraceCheckUtils]: 0: Hoare triple {1728#true} [199] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1728#true} is VALID [2022-02-20 21:00:31,193 INFO L290 TraceCheckUtils]: 1: Hoare triple {1728#true} [181] L-1-->L-1-1: Formula: (and (= |v_#NULL.base_1| 0) (= |v_#NULL.offset_1| 0)) InVars {} OutVars{#NULL.offset=|v_#NULL.offset_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {1728#true} is VALID [2022-02-20 21:00:31,194 INFO L290 TraceCheckUtils]: 2: Hoare triple {1728#true} [208] L-1-1-->L-1-2: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] {1728#true} is VALID [2022-02-20 21:00:31,194 INFO L290 TraceCheckUtils]: 3: Hoare triple {1728#true} [209] L-1-2-->L680: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {1728#true} is VALID [2022-02-20 21:00:31,194 INFO L290 TraceCheckUtils]: 4: Hoare triple {1728#true} [204] L680-->L680-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[] {1728#true} is VALID [2022-02-20 21:00:31,194 INFO L290 TraceCheckUtils]: 5: Hoare triple {1728#true} [163] L680-1-->L680-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[] {1728#true} is VALID [2022-02-20 21:00:31,194 INFO L290 TraceCheckUtils]: 6: Hoare triple {1728#true} [207] L680-2-->L680-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[] {1728#true} is VALID [2022-02-20 21:00:31,195 INFO L290 TraceCheckUtils]: 7: Hoare triple {1728#true} [178] L680-3-->L680-4: Formula: (and (= (select |v_#valid_3| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {1728#true} is VALID [2022-02-20 21:00:31,195 INFO L290 TraceCheckUtils]: 8: Hoare triple {1728#true} [197] L680-4-->L680-5: Formula: (= (select (select |v_#memory_int_3| 2) 0) 0) InVars {#memory_int=|v_#memory_int_3|} OutVars{#memory_int=|v_#memory_int_3|} AuxVars[] AssignedVars[] {1728#true} is VALID [2022-02-20 21:00:31,195 INFO L290 TraceCheckUtils]: 9: Hoare triple {1728#true} [161] L680-5-->L683: Formula: (= v_~a~0_4 0) InVars {} OutVars{~a~0=v_~a~0_4} AuxVars[] AssignedVars[~a~0] {1728#true} is VALID [2022-02-20 21:00:31,195 INFO L290 TraceCheckUtils]: 10: Hoare triple {1728#true} [145] L683-->L684: Formula: (= v_~b~0_4 0) InVars {} OutVars{~b~0=v_~b~0_4} AuxVars[] AssignedVars[~b~0] {1728#true} is VALID [2022-02-20 21:00:31,195 INFO L290 TraceCheckUtils]: 11: Hoare triple {1728#true} [131] L684-->L-1-3: Formula: (= v_~i~0_1 0) InVars {} OutVars{~i~0=v_~i~0_1} AuxVars[] AssignedVars[~i~0] {1728#true} is VALID [2022-02-20 21:00:31,196 INFO L290 TraceCheckUtils]: 12: Hoare triple {1728#true} [211] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1728#true} is VALID [2022-02-20 21:00:31,196 INFO L290 TraceCheckUtils]: 13: Hoare triple {1728#true} [187] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1728#true} is VALID [2022-02-20 21:00:31,196 INFO L290 TraceCheckUtils]: 14: Hoare triple {1728#true} [150] L-1-5-->L-1-6: Formula: (and (= |v_ULTIMATE.start_#in~argv#1.offset_1| |v_ULTIMATE.start_main_#in~argv#1.offset_1|) (= |v_ULTIMATE.start_main_#in~argv#1.base_1| |v_ULTIMATE.start_#in~argv#1.base_1|) (= |v_ULTIMATE.start_main_#in~argc#1_1| |v_ULTIMATE.start_#in~argc#1_1|)) InVars {ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} OutVars{ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_1|, ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_1|, ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#in~argv#1.base, ULTIMATE.start_main_#in~argc#1, ULTIMATE.start_main_#in~argv#1.offset] {1728#true} is VALID [2022-02-20 21:00:31,196 INFO L290 TraceCheckUtils]: 15: Hoare triple {1728#true} [185] 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] {1728#true} is VALID [2022-02-20 21:00:31,196 INFO L290 TraceCheckUtils]: 16: Hoare triple {1728#true} [148] L-1-7-->L699: Formula: true InVars {} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_1|, ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_1|, ULTIMATE.start_main_#t~mem8#1=|v_ULTIMATE.start_main_#t~mem8#1_1|, ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_1|, ULTIMATE.start_main_~#setPool~0#1.base=|v_ULTIMATE.start_main_~#setPool~0#1.base_1|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_1|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_1|, ULTIMATE.start_main_~#checkPool~0#1.offset=|v_ULTIMATE.start_main_~#checkPool~0#1.offset_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_#t~post7#1=|v_ULTIMATE.start_main_#t~post7#1_1|, ULTIMATE.start_main_#t~post9#1=|v_ULTIMATE.start_main_#t~post9#1_1|, ULTIMATE.start_main_#t~post4#1=|v_ULTIMATE.start_main_#t~post4#1_1|, ULTIMATE.start_main_~#setPool~0#1.offset=|v_ULTIMATE.start_main_~#setPool~0#1.offset_1|, ULTIMATE.start_main_~#checkPool~0#1.base=|v_ULTIMATE.start_main_~#checkPool~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1, ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_#t~mem8#1, ULTIMATE.start_main_#t~nondet6#1, ULTIMATE.start_main_~#setPool~0#1.base, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~mem10#1, ULTIMATE.start_main_#t~pre2#1, ULTIMATE.start_main_#t~pre5#1, ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~#checkPool~0#1.offset, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_#t~post7#1, ULTIMATE.start_main_#t~post9#1, ULTIMATE.start_main_#t~post4#1, ULTIMATE.start_main_~#setPool~0#1.offset, ULTIMATE.start_main_~#checkPool~0#1.base] {1728#true} is VALID [2022-02-20 21:00:31,199 INFO L290 TraceCheckUtils]: 17: Hoare triple {1728#true} [184] L699-->L699-1: Formula: (= |v_ULTIMATE.start_main_#in~argc#1_2| |v_ULTIMATE.start_main_~argc#1_2|) InVars {ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_2|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1] {1728#true} is VALID [2022-02-20 21:00:31,200 INFO L290 TraceCheckUtils]: 18: Hoare triple {1728#true} [153] L699-1-->L700: Formula: (and (= |v_ULTIMATE.start_main_~argv#1.offset_2| |v_ULTIMATE.start_main_#in~argv#1.offset_2|) (= |v_ULTIMATE.start_main_#in~argv#1.base_2| |v_ULTIMATE.start_main_~argv#1.base_2|)) InVars {ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|} OutVars{ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~argv#1.offset] {1728#true} is VALID [2022-02-20 21:00:31,200 INFO L290 TraceCheckUtils]: 19: Hoare triple {1728#true} [210] L700-->L700-1: Formula: (and (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#setPool~0#1.base_2|) 0) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#setPool~0#1.base_2| 160) |v_#length_3|) (= |v_ULTIMATE.start_main_~#setPool~0#1.offset_2| 0) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#setPool~0#1.base_2|) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#setPool~0#1.base_2| 1)) (not (= |v_ULTIMATE.start_main_~#setPool~0#1.base_2| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#setPool~0#1.offset=|v_ULTIMATE.start_main_~#setPool~0#1.offset_2|, ULTIMATE.start_main_~#setPool~0#1.base=|v_ULTIMATE.start_main_~#setPool~0#1.base_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#setPool~0#1.base, #valid, #length, ULTIMATE.start_main_~#setPool~0#1.offset] {1728#true} is VALID [2022-02-20 21:00:31,200 INFO L290 TraceCheckUtils]: 20: Hoare triple {1728#true} [213] L700-1-->L701: Formula: (and (= |v_ULTIMATE.start_main_~#checkPool~0#1.offset_2| 0) (not (= |v_ULTIMATE.start_main_~#checkPool~0#1.base_2| 0)) (< |v_#StackHeapBarrier_3| |v_ULTIMATE.start_main_~#checkPool~0#1.base_2|) (= |v_#valid_6| (store |v_#valid_7| |v_ULTIMATE.start_main_~#checkPool~0#1.base_2| 1)) (= |v_#length_5| (store |v_#length_6| |v_ULTIMATE.start_main_~#checkPool~0#1.base_2| 4)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#checkPool~0#1.base_2|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#checkPool~0#1.offset=|v_ULTIMATE.start_main_~#checkPool~0#1.offset_2|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_5|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#checkPool~0#1.base=|v_ULTIMATE.start_main_~#checkPool~0#1.base_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#checkPool~0#1.offset, #valid, #length, ULTIMATE.start_main_~#checkPool~0#1.base] {1728#true} is VALID [2022-02-20 21:00:31,201 INFO L290 TraceCheckUtils]: 21: Hoare triple {1728#true} [202] L701-->L702-5: Formula: (= v_~i~0_2 0) InVars {} OutVars{~i~0=v_~i~0_2} AuxVars[] AssignedVars[~i~0] {1730#(= ~i~0 0)} is VALID [2022-02-20 21:00:31,201 INFO L290 TraceCheckUtils]: 22: Hoare triple {1730#(= ~i~0 0)} [140] L702-5-->L702-6: Formula: (not (< v_~i~0_3 40)) InVars {~i~0=v_~i~0_3} OutVars{~i~0=v_~i~0_3} AuxVars[] AssignedVars[] {1729#false} is VALID [2022-02-20 21:00:31,203 INFO L290 TraceCheckUtils]: 23: Hoare triple {1729#false} [215] L702-6-->L704-5: Formula: (= v_~i~0_8 0) InVars {} OutVars{~i~0=v_~i~0_8} AuxVars[] AssignedVars[~i~0] {1729#false} is VALID [2022-02-20 21:00:31,204 INFO L290 TraceCheckUtils]: 24: Hoare triple {1729#false} [172] L704-5-->L705: Formula: (< v_~i~0_10 1) InVars {~i~0=v_~i~0_10} OutVars{~i~0=v_~i~0_10} AuxVars[] AssignedVars[] {1729#false} is VALID [2022-02-20 21:00:31,204 INFO L290 TraceCheckUtils]: 25: Hoare triple {1729#false} [179] L705-->L705-1: Formula: (= |v_ULTIMATE.start_main_#t~pre5#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_2|, #pthreadsForks=|v_#pthreadsForks_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1] {1729#false} is VALID [2022-02-20 21:00:31,204 INFO L290 TraceCheckUtils]: 26: Hoare triple {1729#false} [206] L705-1-->L705-2: Formula: (= (+ 1 |v_#pthreadsForks_6|) |v_#pthreadsForks_5|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_5|} AuxVars[] AssignedVars[#pthreadsForks] {1729#false} is VALID [2022-02-20 21:00:31,204 INFO L290 TraceCheckUtils]: 27: Hoare triple {1729#false} [201] L705-2-->L705-3: Formula: (= (store |v_#memory_int_7| |v_ULTIMATE.start_main_~#checkPool~0#1.base_3| (store (select |v_#memory_int_7| |v_ULTIMATE.start_main_~#checkPool~0#1.base_3|) (+ |v_ULTIMATE.start_main_~#checkPool~0#1.offset_3| (* v_~i~0_11 4)) |v_ULTIMATE.start_main_#t~pre5#1_3|)) |v_#memory_int_6|) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_3|, #memory_int=|v_#memory_int_7|, ULTIMATE.start_main_~#checkPool~0#1.offset=|v_ULTIMATE.start_main_~#checkPool~0#1.offset_3|, ~i~0=v_~i~0_11, ULTIMATE.start_main_~#checkPool~0#1.base=|v_ULTIMATE.start_main_~#checkPool~0#1.base_3|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_3|, #memory_int=|v_#memory_int_6|, ULTIMATE.start_main_~#checkPool~0#1.offset=|v_ULTIMATE.start_main_~#checkPool~0#1.offset_3|, ~i~0=v_~i~0_11, ULTIMATE.start_main_~#checkPool~0#1.base=|v_ULTIMATE.start_main_~#checkPool~0#1.base_3|} AuxVars[] AssignedVars[#memory_int] {1729#false} is VALID [2022-02-20 21:00:31,205 INFO L290 TraceCheckUtils]: 28: Hoare triple {1729#false} [233] L705-3-->checkThreadENTRY: Formula: (and (= |v_checkThreadThread1of1ForFork1_#in~param.offset_4| 0) (= |v_checkThreadThread1of1ForFork1_#in~param.base_4| 0) (= |v_ULTIMATE.start_main_#t~pre5#1_6| v_checkThreadThread1of1ForFork1_thidvar0_2)) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_6|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_6|, checkThreadThread1of1ForFork1_#in~param.base=|v_checkThreadThread1of1ForFork1_#in~param.base_4|, checkThreadThread1of1ForFork1_thidvar0=v_checkThreadThread1of1ForFork1_thidvar0_2, checkThreadThread1of1ForFork1_#res.base=|v_checkThreadThread1of1ForFork1_#res.base_4|, checkThreadThread1of1ForFork1_#res.offset=|v_checkThreadThread1of1ForFork1_#res.offset_4|, checkThreadThread1of1ForFork1_~param.base=v_checkThreadThread1of1ForFork1_~param.base_4, checkThreadThread1of1ForFork1_#in~param.offset=|v_checkThreadThread1of1ForFork1_#in~param.offset_4|, checkThreadThread1of1ForFork1_~param.offset=v_checkThreadThread1of1ForFork1_~param.offset_4} AuxVars[] AssignedVars[checkThreadThread1of1ForFork1_#in~param.base, checkThreadThread1of1ForFork1_thidvar0, checkThreadThread1of1ForFork1_#res.base, checkThreadThread1of1ForFork1_#res.offset, checkThreadThread1of1ForFork1_~param.base, checkThreadThread1of1ForFork1_#in~param.offset, checkThreadThread1of1ForFork1_~param.offset] {1729#false} is VALID [2022-02-20 21:00:31,205 INFO L290 TraceCheckUtils]: 29: Hoare triple {1729#false} [222] checkThreadENTRY-->L695: Formula: (and (= v_checkThreadThread1of1ForFork1_~param.offset_1 |v_checkThreadThread1of1ForFork1_#in~param.offset_1|) (= v_checkThreadThread1of1ForFork1_~param.base_1 |v_checkThreadThread1of1ForFork1_#in~param.base_1|)) InVars {checkThreadThread1of1ForFork1_#in~param.base=|v_checkThreadThread1of1ForFork1_#in~param.base_1|, checkThreadThread1of1ForFork1_#in~param.offset=|v_checkThreadThread1of1ForFork1_#in~param.offset_1|} OutVars{checkThreadThread1of1ForFork1_#in~param.base=|v_checkThreadThread1of1ForFork1_#in~param.base_1|, checkThreadThread1of1ForFork1_~param.base=v_checkThreadThread1of1ForFork1_~param.base_1, checkThreadThread1of1ForFork1_#in~param.offset=|v_checkThreadThread1of1ForFork1_#in~param.offset_1|, checkThreadThread1of1ForFork1_~param.offset=v_checkThreadThread1of1ForFork1_~param.offset_1} AuxVars[] AssignedVars[checkThreadThread1of1ForFork1_~param.base, checkThreadThread1of1ForFork1_~param.offset] {1729#false} is VALID [2022-02-20 21:00:31,205 INFO L290 TraceCheckUtils]: 30: Hoare triple {1729#false} [224] L695-->L696: Formula: (and (or (not (= v_~a~0_3 1)) (not (= (- 1) v_~b~0_3))) (or (not (= v_~b~0_3 0)) (not (= v_~a~0_3 0)))) InVars {~a~0=v_~a~0_3, ~b~0=v_~b~0_3} OutVars{~a~0=v_~a~0_3, ~b~0=v_~b~0_3} AuxVars[] AssignedVars[] {1729#false} is VALID [2022-02-20 21:00:31,206 INFO L290 TraceCheckUtils]: 31: Hoare triple {1729#false} [226] L696-->checkThreadErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1729#false} is VALID [2022-02-20 21:00:31,206 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 21:00:31,206 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:00:31,207 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1483020561] [2022-02-20 21:00:31,207 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1483020561] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:00:31,207 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 21:00:31,207 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 21:00:31,207 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [848124901] [2022-02-20 21:00:31,208 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:00:31,209 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 10.666666666666666) internal successors, (32), 3 states have internal predecessors, (32), 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 32 [2022-02-20 21:00:31,210 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:00:31,210 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 10.666666666666666) internal successors, (32), 3 states have internal predecessors, (32), 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 21:00:31,236 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:00:31,236 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 21:00:31,237 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:00:31,237 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 21:00:31,238 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 21:00:31,239 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 54 out of 91 [2022-02-20 21:00:31,239 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 87 places, 83 transitions, 182 flow. Second operand has 3 states, 3 states have (on average 56.333333333333336) internal successors, (169), 3 states have internal predecessors, (169), 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 21:00:31,240 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 21:00:31,240 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 54 of 91 [2022-02-20 21:00:31,240 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 21:00:31,317 INFO L129 PetriNetUnfolder]: 0/80 cut-off events. [2022-02-20 21:00:31,317 INFO L130 PetriNetUnfolder]: For 1/1 co-relation queries the response was YES. [2022-02-20 21:00:31,317 INFO L84 FinitePrefix]: Finished finitePrefix Result has 123 conditions, 80 events. 0/80 cut-off events. For 1/1 co-relation queries the response was YES. Maximal size of possible extension queue 3. Compared 45 event pairs, 0 based on Foata normal form. 0/76 useless extension candidates. Maximal degree in co-relation 0. Up to 19 conditions per place. [2022-02-20 21:00:31,318 INFO L132 encePairwiseOnDemand]: 80/91 looper letters, 24 selfloop transitions, 7 changer transitions 0/76 dead transitions. [2022-02-20 21:00:31,318 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 77 places, 76 transitions, 227 flow [2022-02-20 21:00:31,318 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 21:00:31,318 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2022-02-20 21:00:31,323 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 197 transitions. [2022-02-20 21:00:31,323 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.7216117216117216 [2022-02-20 21:00:31,324 INFO L72 ComplementDD]: Start complementDD. Operand 3 states and 197 transitions. [2022-02-20 21:00:31,327 INFO L73 IsDeterministic]: Start isDeterministic. Operand 3 states and 197 transitions. [2022-02-20 21:00:31,327 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 21:00:31,328 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 3 states and 197 transitions. [2022-02-20 21:00:31,329 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 4 states, 3 states have (on average 65.66666666666667) internal successors, (197), 3 states have internal predecessors, (197), 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 21:00:31,330 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 4 states, 4 states have (on average 91.0) internal successors, (364), 4 states have internal predecessors, (364), 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 21:00:31,330 INFO L81 ComplementDD]: Finished complementDD. Result has 4 states, 4 states have (on average 91.0) internal successors, (364), 4 states have internal predecessors, (364), 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 21:00:31,330 INFO L186 Difference]: Start difference. First operand has 87 places, 83 transitions, 182 flow. Second operand 3 states and 197 transitions. [2022-02-20 21:00:31,331 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 77 places, 76 transitions, 227 flow [2022-02-20 21:00:31,333 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 77 places, 76 transitions, 227 flow, removed 0 selfloop flow, removed 0 redundant places. [2022-02-20 21:00:31,335 INFO L242 Difference]: Finished difference. Result has 78 places, 70 transitions, 180 flow [2022-02-20 21:00:31,337 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=91, PETRI_DIFFERENCE_MINUEND_FLOW=153, PETRI_DIFFERENCE_MINUEND_PLACES=75, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=70, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=7, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=63, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=180, PETRI_PLACES=78, PETRI_TRANSITIONS=70} [2022-02-20 21:00:31,338 INFO L334 CegarLoopForPetriNet]: 87 programPoint places, -9 predicate places. [2022-02-20 21:00:31,338 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 78 places, 70 transitions, 180 flow [2022-02-20 21:00:31,351 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 836 states, 829 states have (on average 2.424607961399276) internal successors, (2010), 835 states have internal predecessors, (2010), 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 21:00:31,353 INFO L78 Accepts]: Start accepts. Automaton has has 836 states, 829 states have (on average 2.424607961399276) internal successors, (2010), 835 states have internal predecessors, (2010), 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 32 [2022-02-20 21:00:31,354 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:00:31,354 INFO L470 AbstractCegarLoop]: Abstraction has has 78 places, 70 transitions, 180 flow [2022-02-20 21:00:31,354 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 56.333333333333336) internal successors, (169), 3 states have internal predecessors, (169), 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 21:00:31,354 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:00:31,355 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] [2022-02-20 21:00:31,355 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-20 21:00:31,355 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr1INUSE_VIOLATION === [checkThreadErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION, checkThreadErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 21:00:31,356 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:00:31,356 INFO L85 PathProgramCache]: Analyzing trace with hash -121871665, now seen corresponding path program 1 times [2022-02-20 21:00:31,356 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:00:31,356 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1032029860] [2022-02-20 21:00:31,357 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:31,357 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:00:31,404 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 21:00:31,408 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-02-20 21:00:31,425 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 21:00:31,449 INFO L138 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-02-20 21:00:31,449 INFO L628 BasicCegarLoop]: Counterexample is feasible [2022-02-20 21:00:31,450 INFO L764 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr1INUSE_VIOLATION (3 of 4 remaining) [2022-02-20 21:00:31,451 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location checkThreadErr0ASSERT_VIOLATIONERROR_FUNCTION (2 of 4 remaining) [2022-02-20 21:00:31,451 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr0INUSE_VIOLATION (1 of 4 remaining) [2022-02-20 21:00:31,451 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location checkThreadErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 4 remaining) [2022-02-20 21:00:31,452 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-02-20 21:00:31,454 INFO L732 BasicCegarLoop]: Path program histogram: [1, 1, 1] [2022-02-20 21:00:31,459 WARN L235 ceAbstractionStarter]: 1 thread instances were not sufficient, I will increase this number and restart the analysis [2022-02-20 21:00:31,459 INFO L534 ceAbstractionStarter]: Constructing petrified ICFG for 2 thread instances. [2022-02-20 21:00:31,474 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread1of2ForFork0_#in~param.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,474 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread1of2ForFork0_#in~param.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,474 WARN L322 ript$VariableManager]: TermVariabe setThreadThread1of2ForFork0_~param.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,474 WARN L322 ript$VariableManager]: TermVariabe setThreadThread1of2ForFork0_~param.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,474 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread1of2ForFork0_#in~param.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,475 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread1of2ForFork0_#in~param.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,475 WARN L322 ript$VariableManager]: TermVariabe setThreadThread1of2ForFork0_~param.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,475 WARN L322 ript$VariableManager]: TermVariabe setThreadThread1of2ForFork0_~param.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,475 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread1of2ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,475 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread1of2ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,475 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread1of2ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,475 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread1of2ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,476 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread2of2ForFork0_#in~param.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,476 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread2of2ForFork0_#in~param.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,476 WARN L322 ript$VariableManager]: TermVariabe setThreadThread2of2ForFork0_~param.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,476 WARN L322 ript$VariableManager]: TermVariabe setThreadThread2of2ForFork0_~param.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,476 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread2of2ForFork0_#in~param.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,476 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread2of2ForFork0_#in~param.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,476 WARN L322 ript$VariableManager]: TermVariabe setThreadThread2of2ForFork0_~param.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,476 WARN L322 ript$VariableManager]: TermVariabe setThreadThread2of2ForFork0_~param.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,477 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread2of2ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,477 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread2of2ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,477 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread2of2ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,477 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread2of2ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,477 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread1of2ForFork1_#in~param.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,477 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread1of2ForFork1_#in~param.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,477 WARN L322 ript$VariableManager]: TermVariabe checkThreadThread1of2ForFork1_~param.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,478 WARN L322 ript$VariableManager]: TermVariabe checkThreadThread1of2ForFork1_~param.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,478 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread1of2ForFork1_#in~param.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,478 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread1of2ForFork1_#in~param.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,478 WARN L322 ript$VariableManager]: TermVariabe checkThreadThread1of2ForFork1_~param.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,478 WARN L322 ript$VariableManager]: TermVariabe checkThreadThread1of2ForFork1_~param.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,478 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread1of2ForFork1_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,478 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread1of2ForFork1_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,479 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread1of2ForFork1_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,479 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread1of2ForFork1_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,479 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread2of2ForFork1_#in~param.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,479 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread2of2ForFork1_#in~param.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,479 WARN L322 ript$VariableManager]: TermVariabe checkThreadThread2of2ForFork1_~param.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,479 WARN L322 ript$VariableManager]: TermVariabe checkThreadThread2of2ForFork1_~param.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,479 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread2of2ForFork1_#in~param.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,480 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread2of2ForFork1_#in~param.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,480 WARN L322 ript$VariableManager]: TermVariabe checkThreadThread2of2ForFork1_~param.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,480 WARN L322 ript$VariableManager]: TermVariabe checkThreadThread2of2ForFork1_~param.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,480 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread2of2ForFork1_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,480 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread2of2ForFork1_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,480 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread2of2ForFork1_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,480 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread2of2ForFork1_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,481 WARN L322 ript$VariableManager]: TermVariabe setThreadThread1of2ForFork0_~param.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,481 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread1of2ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,481 WARN L322 ript$VariableManager]: TermVariabe setThreadThread1of2ForFork0_~param.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,481 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread1of2ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,482 WARN L322 ript$VariableManager]: TermVariabe setThreadThread2of2ForFork0_~param.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,482 WARN L322 ript$VariableManager]: TermVariabe setThreadThread2of2ForFork0_~param.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,482 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread2of2ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,482 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread2of2ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,482 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread1of2ForFork1_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,483 WARN L322 ript$VariableManager]: TermVariabe checkThreadThread1of2ForFork1_~param.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,483 WARN L322 ript$VariableManager]: TermVariabe checkThreadThread1of2ForFork1_~param.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,483 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread1of2ForFork1_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,483 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread2of2ForFork1_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,483 WARN L322 ript$VariableManager]: TermVariabe checkThreadThread2of2ForFork1_~param.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,483 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread2of2ForFork1_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,483 WARN L322 ript$VariableManager]: TermVariabe checkThreadThread2of2ForFork1_~param.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:31,498 INFO L148 ThreadInstanceAdder]: Constructed 8 joinOtherThreadTransitions. [2022-02-20 21:00:31,500 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 21:00:31,501 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 21:00:31,501 INFO L340 AbstractCegarLoop]: Starting to check reachability of 5 error locations. [2022-02-20 21:00:31,502 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 105 places, 110 transitions, 268 flow [2022-02-20 21:00:31,557 INFO L129 PetriNetUnfolder]: 107/656 cut-off events. [2022-02-20 21:00:31,557 INFO L130 PetriNetUnfolder]: For 72/72 co-relation queries the response was YES. [2022-02-20 21:00:31,561 INFO L84 FinitePrefix]: Finished finitePrefix Result has 753 conditions, 656 events. 107/656 cut-off events. For 72/72 co-relation queries the response was YES. Maximal size of possible extension queue 19. Compared 3171 event pairs, 2 based on Foata normal form. 0/556 useless extension candidates. Maximal degree in co-relation 395. Up to 32 conditions per place. [2022-02-20 21:00:31,562 INFO L82 GeneralOperation]: Start removeDead. Operand has 105 places, 110 transitions, 268 flow [2022-02-20 21:00:31,564 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 105 places, 110 transitions, 268 flow [2022-02-20 21:00:31,568 INFO L129 PetriNetUnfolder]: 5/65 cut-off events. [2022-02-20 21:00:31,568 INFO L130 PetriNetUnfolder]: For 0/0 co-relation queries the response was YES. [2022-02-20 21:00:31,568 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:00:31,568 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] [2022-02-20 21:00:31,569 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting checkThreadErr0ASSERT_VIOLATIONERROR_FUNCTION === [checkThreadErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION, checkThreadErr0ASSERT_VIOLATIONERROR_FUNCTION (and 1 more)] === [2022-02-20 21:00:31,569 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:00:31,569 INFO L85 PathProgramCache]: Analyzing trace with hash -341074863, now seen corresponding path program 1 times [2022-02-20 21:00:31,569 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:00:31,569 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [325807867] [2022-02-20 21:00:31,570 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:31,570 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:00:31,599 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:31,625 INFO L290 TraceCheckUtils]: 0: Hoare triple {108#true} [307] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 21:00:31,626 INFO L290 TraceCheckUtils]: 1: Hoare triple {108#true} [289] L-1-->L-1-1: Formula: (and (= |v_#NULL.base_1| 0) (= |v_#NULL.offset_1| 0)) InVars {} OutVars{#NULL.offset=|v_#NULL.offset_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {108#true} is VALID [2022-02-20 21:00:31,626 INFO L290 TraceCheckUtils]: 2: Hoare triple {108#true} [316] L-1-1-->L-1-2: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 21:00:31,626 INFO L290 TraceCheckUtils]: 3: Hoare triple {108#true} [317] L-1-2-->L680: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 21:00:31,626 INFO L290 TraceCheckUtils]: 4: Hoare triple {108#true} [312] L680-->L680-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 21:00:31,626 INFO L290 TraceCheckUtils]: 5: Hoare triple {108#true} [271] L680-1-->L680-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 21:00:31,627 INFO L290 TraceCheckUtils]: 6: Hoare triple {108#true} [315] L680-2-->L680-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 21:00:31,627 INFO L290 TraceCheckUtils]: 7: Hoare triple {108#true} [286] L680-3-->L680-4: Formula: (and (= (select |v_#valid_3| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 21:00:31,627 INFO L290 TraceCheckUtils]: 8: Hoare triple {108#true} [305] L680-4-->L680-5: Formula: (= (select (select |v_#memory_int_3| 2) 0) 0) InVars {#memory_int=|v_#memory_int_3|} OutVars{#memory_int=|v_#memory_int_3|} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 21:00:31,627 INFO L290 TraceCheckUtils]: 9: Hoare triple {108#true} [269] L680-5-->L683: Formula: (= v_~a~0_4 0) InVars {} OutVars{~a~0=v_~a~0_4} AuxVars[] AssignedVars[~a~0] {108#true} is VALID [2022-02-20 21:00:31,627 INFO L290 TraceCheckUtils]: 10: Hoare triple {108#true} [253] L683-->L684: Formula: (= v_~b~0_4 0) InVars {} OutVars{~b~0=v_~b~0_4} AuxVars[] AssignedVars[~b~0] {108#true} is VALID [2022-02-20 21:00:31,628 INFO L290 TraceCheckUtils]: 11: Hoare triple {108#true} [239] L684-->L-1-3: Formula: (= v_~i~0_1 0) InVars {} OutVars{~i~0=v_~i~0_1} AuxVars[] AssignedVars[~i~0] {108#true} is VALID [2022-02-20 21:00:31,628 INFO L290 TraceCheckUtils]: 12: Hoare triple {108#true} [319] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 21:00:31,628 INFO L290 TraceCheckUtils]: 13: Hoare triple {108#true} [295] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {108#true} is VALID [2022-02-20 21:00:31,629 INFO L290 TraceCheckUtils]: 14: Hoare triple {108#true} [258] L-1-5-->L-1-6: Formula: (and (= |v_ULTIMATE.start_#in~argv#1.offset_1| |v_ULTIMATE.start_main_#in~argv#1.offset_1|) (= |v_ULTIMATE.start_main_#in~argv#1.base_1| |v_ULTIMATE.start_#in~argv#1.base_1|) (= |v_ULTIMATE.start_main_#in~argc#1_1| |v_ULTIMATE.start_#in~argc#1_1|)) InVars {ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} OutVars{ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_1|, ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_1|, ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#in~argv#1.base, ULTIMATE.start_main_#in~argc#1, ULTIMATE.start_main_#in~argv#1.offset] {108#true} is VALID [2022-02-20 21:00:31,629 INFO L290 TraceCheckUtils]: 15: Hoare triple {108#true} [293] 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 21:00:31,629 INFO L290 TraceCheckUtils]: 16: Hoare triple {108#true} [256] L-1-7-->L699: Formula: true InVars {} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_1|, ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_1|, ULTIMATE.start_main_#t~mem8#1=|v_ULTIMATE.start_main_#t~mem8#1_1|, ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_1|, ULTIMATE.start_main_~#setPool~0#1.base=|v_ULTIMATE.start_main_~#setPool~0#1.base_1|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_1|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_1|, ULTIMATE.start_main_~#checkPool~0#1.offset=|v_ULTIMATE.start_main_~#checkPool~0#1.offset_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_#t~post7#1=|v_ULTIMATE.start_main_#t~post7#1_1|, ULTIMATE.start_main_#t~post9#1=|v_ULTIMATE.start_main_#t~post9#1_1|, ULTIMATE.start_main_#t~post4#1=|v_ULTIMATE.start_main_#t~post4#1_1|, ULTIMATE.start_main_~#setPool~0#1.offset=|v_ULTIMATE.start_main_~#setPool~0#1.offset_1|, ULTIMATE.start_main_~#checkPool~0#1.base=|v_ULTIMATE.start_main_~#checkPool~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1, ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_#t~mem8#1, ULTIMATE.start_main_#t~nondet6#1, ULTIMATE.start_main_~#setPool~0#1.base, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~mem10#1, ULTIMATE.start_main_#t~pre2#1, ULTIMATE.start_main_#t~pre5#1, ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~#checkPool~0#1.offset, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_#t~post7#1, ULTIMATE.start_main_#t~post9#1, ULTIMATE.start_main_#t~post4#1, ULTIMATE.start_main_~#setPool~0#1.offset, ULTIMATE.start_main_~#checkPool~0#1.base] {108#true} is VALID [2022-02-20 21:00:31,632 INFO L290 TraceCheckUtils]: 17: Hoare triple {108#true} [292] L699-->L699-1: Formula: (= |v_ULTIMATE.start_main_#in~argc#1_2| |v_ULTIMATE.start_main_~argc#1_2|) InVars {ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_2|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1] {108#true} is VALID [2022-02-20 21:00:31,632 INFO L290 TraceCheckUtils]: 18: Hoare triple {108#true} [261] L699-1-->L700: Formula: (and (= |v_ULTIMATE.start_main_~argv#1.offset_2| |v_ULTIMATE.start_main_#in~argv#1.offset_2|) (= |v_ULTIMATE.start_main_#in~argv#1.base_2| |v_ULTIMATE.start_main_~argv#1.base_2|)) InVars {ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|} OutVars{ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~argv#1.offset] {108#true} is VALID [2022-02-20 21:00:31,633 INFO L290 TraceCheckUtils]: 19: Hoare triple {108#true} [318] L700-->L700-1: Formula: (and (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#setPool~0#1.base_2|) 0) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#setPool~0#1.base_2| 160) |v_#length_3|) (= |v_ULTIMATE.start_main_~#setPool~0#1.offset_2| 0) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#setPool~0#1.base_2|) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#setPool~0#1.base_2| 1)) (not (= |v_ULTIMATE.start_main_~#setPool~0#1.base_2| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#setPool~0#1.offset=|v_ULTIMATE.start_main_~#setPool~0#1.offset_2|, ULTIMATE.start_main_~#setPool~0#1.base=|v_ULTIMATE.start_main_~#setPool~0#1.base_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#setPool~0#1.base, #valid, #length, ULTIMATE.start_main_~#setPool~0#1.offset] {108#true} is VALID [2022-02-20 21:00:31,633 INFO L290 TraceCheckUtils]: 20: Hoare triple {108#true} [321] L700-1-->L701: Formula: (and (= |v_ULTIMATE.start_main_~#checkPool~0#1.offset_2| 0) (not (= |v_ULTIMATE.start_main_~#checkPool~0#1.base_2| 0)) (< |v_#StackHeapBarrier_3| |v_ULTIMATE.start_main_~#checkPool~0#1.base_2|) (= |v_#valid_6| (store |v_#valid_7| |v_ULTIMATE.start_main_~#checkPool~0#1.base_2| 1)) (= |v_#length_5| (store |v_#length_6| |v_ULTIMATE.start_main_~#checkPool~0#1.base_2| 4)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#checkPool~0#1.base_2|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#checkPool~0#1.offset=|v_ULTIMATE.start_main_~#checkPool~0#1.offset_2|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_5|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#checkPool~0#1.base=|v_ULTIMATE.start_main_~#checkPool~0#1.base_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#checkPool~0#1.offset, #valid, #length, ULTIMATE.start_main_~#checkPool~0#1.base] {108#true} is VALID [2022-02-20 21:00:31,633 INFO L290 TraceCheckUtils]: 21: Hoare triple {108#true} [310] L701-->L702-5: Formula: (= v_~i~0_2 0) InVars {} OutVars{~i~0=v_~i~0_2} AuxVars[] AssignedVars[~i~0] {108#true} is VALID [2022-02-20 21:00:31,633 INFO L290 TraceCheckUtils]: 22: Hoare triple {108#true} [247] L702-5-->L702-6: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {109#false} is VALID [2022-02-20 21:00:31,634 INFO L290 TraceCheckUtils]: 23: Hoare triple {109#false} [323] L702-6-->L704-5: Formula: (= v_~i~0_8 0) InVars {} OutVars{~i~0=v_~i~0_8} AuxVars[] AssignedVars[~i~0] {109#false} is VALID [2022-02-20 21:00:31,634 INFO L290 TraceCheckUtils]: 24: Hoare triple {109#false} [280] L704-5-->L705: Formula: (< v_~i~0_10 1) InVars {~i~0=v_~i~0_10} OutVars{~i~0=v_~i~0_10} AuxVars[] AssignedVars[] {109#false} is VALID [2022-02-20 21:00:31,634 INFO L290 TraceCheckUtils]: 25: Hoare triple {109#false} [287] L705-->L705-1: Formula: (= |v_ULTIMATE.start_main_#t~pre5#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_2|, #pthreadsForks=|v_#pthreadsForks_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1] {109#false} is VALID [2022-02-20 21:00:31,634 INFO L290 TraceCheckUtils]: 26: Hoare triple {109#false} [314] L705-1-->L705-2: Formula: (= (+ 1 |v_#pthreadsForks_6|) |v_#pthreadsForks_5|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_5|} AuxVars[] AssignedVars[#pthreadsForks] {109#false} is VALID [2022-02-20 21:00:31,634 INFO L290 TraceCheckUtils]: 27: Hoare triple {109#false} [309] L705-2-->L705-3: Formula: (= (store |v_#memory_int_7| |v_ULTIMATE.start_main_~#checkPool~0#1.base_3| (store (select |v_#memory_int_7| |v_ULTIMATE.start_main_~#checkPool~0#1.base_3|) (+ |v_ULTIMATE.start_main_~#checkPool~0#1.offset_3| (* v_~i~0_11 4)) |v_ULTIMATE.start_main_#t~pre5#1_3|)) |v_#memory_int_6|) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_3|, #memory_int=|v_#memory_int_7|, ULTIMATE.start_main_~#checkPool~0#1.offset=|v_ULTIMATE.start_main_~#checkPool~0#1.offset_3|, ~i~0=v_~i~0_11, ULTIMATE.start_main_~#checkPool~0#1.base=|v_ULTIMATE.start_main_~#checkPool~0#1.base_3|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_3|, #memory_int=|v_#memory_int_6|, ULTIMATE.start_main_~#checkPool~0#1.offset=|v_ULTIMATE.start_main_~#checkPool~0#1.offset_3|, ~i~0=v_~i~0_11, ULTIMATE.start_main_~#checkPool~0#1.base=|v_ULTIMATE.start_main_~#checkPool~0#1.base_3|} AuxVars[] AssignedVars[#memory_int] {109#false} is VALID [2022-02-20 21:00:31,634 INFO L290 TraceCheckUtils]: 28: Hoare triple {109#false} [355] L705-3-->checkThreadENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre5#1_8| v_checkThreadThread1of2ForFork1_thidvar0_2) (= |v_checkThreadThread1of2ForFork1_#in~param.offset_4| 0) (= |v_checkThreadThread1of2ForFork1_#in~param.base_4| 0)) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_8|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_8|, checkThreadThread1of2ForFork1_#res.offset=|v_checkThreadThread1of2ForFork1_#res.offset_4|, checkThreadThread1of2ForFork1_~param.base=v_checkThreadThread1of2ForFork1_~param.base_4, checkThreadThread1of2ForFork1_~param.offset=v_checkThreadThread1of2ForFork1_~param.offset_4, checkThreadThread1of2ForFork1_thidvar0=v_checkThreadThread1of2ForFork1_thidvar0_2, checkThreadThread1of2ForFork1_#in~param.offset=|v_checkThreadThread1of2ForFork1_#in~param.offset_4|, checkThreadThread1of2ForFork1_#res.base=|v_checkThreadThread1of2ForFork1_#res.base_4|, checkThreadThread1of2ForFork1_#in~param.base=|v_checkThreadThread1of2ForFork1_#in~param.base_4|} AuxVars[] AssignedVars[checkThreadThread1of2ForFork1_#res.offset, checkThreadThread1of2ForFork1_~param.base, checkThreadThread1of2ForFork1_~param.offset, checkThreadThread1of2ForFork1_thidvar0, checkThreadThread1of2ForFork1_#in~param.offset, checkThreadThread1of2ForFork1_#res.base, checkThreadThread1of2ForFork1_#in~param.base] {109#false} is VALID [2022-02-20 21:00:31,634 INFO L290 TraceCheckUtils]: 29: Hoare triple {109#false} [335] checkThreadENTRY-->L695: Formula: (and (= v_checkThreadThread1of2ForFork1_~param.offset_1 |v_checkThreadThread1of2ForFork1_#in~param.offset_1|) (= v_checkThreadThread1of2ForFork1_~param.base_1 |v_checkThreadThread1of2ForFork1_#in~param.base_1|)) InVars {checkThreadThread1of2ForFork1_#in~param.offset=|v_checkThreadThread1of2ForFork1_#in~param.offset_1|, checkThreadThread1of2ForFork1_#in~param.base=|v_checkThreadThread1of2ForFork1_#in~param.base_1|} OutVars{checkThreadThread1of2ForFork1_#in~param.offset=|v_checkThreadThread1of2ForFork1_#in~param.offset_1|, checkThreadThread1of2ForFork1_~param.base=v_checkThreadThread1of2ForFork1_~param.base_1, checkThreadThread1of2ForFork1_~param.offset=v_checkThreadThread1of2ForFork1_~param.offset_1, checkThreadThread1of2ForFork1_#in~param.base=|v_checkThreadThread1of2ForFork1_#in~param.base_1|} AuxVars[] AssignedVars[checkThreadThread1of2ForFork1_~param.base, checkThreadThread1of2ForFork1_~param.offset] {109#false} is VALID [2022-02-20 21:00:31,634 INFO L290 TraceCheckUtils]: 30: Hoare triple {109#false} [337] L695-->L696: Formula: (and (or (not (= v_~a~0_3 1)) (not (= (- 1) v_~b~0_3))) (or (not (= v_~b~0_3 0)) (not (= v_~a~0_3 0)))) InVars {~a~0=v_~a~0_3, ~b~0=v_~b~0_3} OutVars{~a~0=v_~a~0_3, ~b~0=v_~b~0_3} AuxVars[] AssignedVars[] {109#false} is VALID [2022-02-20 21:00:31,635 INFO L290 TraceCheckUtils]: 31: Hoare triple {109#false} [339] L696-->checkThreadErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {109#false} is VALID [2022-02-20 21:00:31,635 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 21:00:31,635 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:00:31,635 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [325807867] [2022-02-20 21:00:31,635 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [325807867] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:00:31,635 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 21:00:31,635 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 21:00:31,635 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1534034145] [2022-02-20 21:00:31,636 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:00:31,636 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 16.0) internal successors, (32), 2 states have internal predecessors, (32), 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 32 [2022-02-20 21:00:31,636 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:00:31,636 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 2 states, 2 states have (on average 16.0) internal successors, (32), 2 states have internal predecessors, (32), 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 21:00:31,655 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:00:31,655 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-02-20 21:00:31,655 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:00:31,656 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-02-20 21:00:31,656 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 21:00:31,656 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 90 out of 110 [2022-02-20 21:00:31,656 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 105 places, 110 transitions, 268 flow. Second operand has 2 states, 2 states have (on average 91.0) internal successors, (182), 2 states have internal predecessors, (182), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 21:00:31,657 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 21:00:31,657 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 90 of 110 [2022-02-20 21:00:31,657 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 21:00:31,727 INFO L129 PetriNetUnfolder]: 57/600 cut-off events. [2022-02-20 21:00:31,727 INFO L130 PetriNetUnfolder]: For 212/212 co-relation queries the response was YES. [2022-02-20 21:00:31,729 INFO L84 FinitePrefix]: Finished finitePrefix Result has 770 conditions, 600 events. 57/600 cut-off events. For 212/212 co-relation queries the response was YES. Maximal size of possible extension queue 19. Compared 3072 event pairs, 1 based on Foata normal form. 81/631 useless extension candidates. Maximal degree in co-relation 392. Up to 73 conditions per place. [2022-02-20 21:00:31,730 INFO L132 encePairwiseOnDemand]: 104/110 looper letters, 12 selfloop transitions, 0 changer transitions 0/102 dead transitions. [2022-02-20 21:00:31,730 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 104 places, 102 transitions, 276 flow [2022-02-20 21:00:31,730 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-02-20 21:00:31,731 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2022-02-20 21:00:31,733 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 198 transitions. [2022-02-20 21:00:31,733 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.9 [2022-02-20 21:00:31,733 INFO L72 ComplementDD]: Start complementDD. Operand 2 states and 198 transitions. [2022-02-20 21:00:31,733 INFO L73 IsDeterministic]: Start isDeterministic. Operand 2 states and 198 transitions. [2022-02-20 21:00:31,734 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 21:00:31,734 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 2 states and 198 transitions. [2022-02-20 21:00:31,734 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 3 states, 2 states have (on average 99.0) internal successors, (198), 2 states have internal predecessors, (198), 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 21:00:31,735 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 3 states, 3 states have (on average 110.0) internal successors, (330), 3 states have internal predecessors, (330), 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 21:00:31,735 INFO L81 ComplementDD]: Finished complementDD. Result has 3 states, 3 states have (on average 110.0) internal successors, (330), 3 states have internal predecessors, (330), 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 21:00:31,735 INFO L186 Difference]: Start difference. First operand has 105 places, 110 transitions, 268 flow. Second operand 2 states and 198 transitions. [2022-02-20 21:00:31,735 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 104 places, 102 transitions, 276 flow [2022-02-20 21:00:31,742 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 104 places, 102 transitions, 276 flow, removed 0 selfloop flow, removed 0 redundant places. [2022-02-20 21:00:31,743 INFO L242 Difference]: Finished difference. Result has 104 places, 102 transitions, 252 flow [2022-02-20 21:00:31,744 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=110, PETRI_DIFFERENCE_MINUEND_FLOW=252, PETRI_DIFFERENCE_MINUEND_PLACES=103, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=102, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=0, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=102, PETRI_DIFFERENCE_SUBTRAHEND_STATES=2, PETRI_FLOW=252, PETRI_PLACES=104, PETRI_TRANSITIONS=102} [2022-02-20 21:00:31,744 INFO L334 CegarLoopForPetriNet]: 105 programPoint places, -1 predicate places. [2022-02-20 21:00:31,744 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 104 places, 102 transitions, 252 flow [2022-02-20 21:00:33,964 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 87395 states, 87338 states have (on average 3.9165311777233276) internal successors, (342062), 87394 states have internal predecessors, (342062), 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 21:00:34,120 INFO L78 Accepts]: Start accepts. Automaton has has 87395 states, 87338 states have (on average 3.9165311777233276) internal successors, (342062), 87394 states have internal predecessors, (342062), 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 32 [2022-02-20 21:00:34,120 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:00:34,121 INFO L470 AbstractCegarLoop]: Abstraction has has 104 places, 102 transitions, 252 flow [2022-02-20 21:00:34,121 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 91.0) internal successors, (182), 2 states have internal predecessors, (182), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 21:00:34,121 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:00:34,121 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] [2022-02-20 21:00:34,122 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-02-20 21:00:34,122 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting checkThreadErr0ASSERT_VIOLATIONERROR_FUNCTION === [checkThreadErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION, checkThreadErr0ASSERT_VIOLATIONERROR_FUNCTION (and 1 more)] === [2022-02-20 21:00:34,123 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:00:34,123 INFO L85 PathProgramCache]: Analyzing trace with hash -537588368, now seen corresponding path program 1 times [2022-02-20 21:00:34,124 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:00:34,124 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1106061151] [2022-02-20 21:00:34,124 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:34,124 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:00:34,149 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:34,172 INFO L290 TraceCheckUtils]: 0: Hoare triple {87507#true} [307] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {87507#true} is VALID [2022-02-20 21:00:34,172 INFO L290 TraceCheckUtils]: 1: Hoare triple {87507#true} [289] L-1-->L-1-1: Formula: (and (= |v_#NULL.base_1| 0) (= |v_#NULL.offset_1| 0)) InVars {} OutVars{#NULL.offset=|v_#NULL.offset_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {87507#true} is VALID [2022-02-20 21:00:34,173 INFO L290 TraceCheckUtils]: 2: Hoare triple {87507#true} [316] L-1-1-->L-1-2: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] {87507#true} is VALID [2022-02-20 21:00:34,173 INFO L290 TraceCheckUtils]: 3: Hoare triple {87507#true} [317] L-1-2-->L680: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {87507#true} is VALID [2022-02-20 21:00:34,173 INFO L290 TraceCheckUtils]: 4: Hoare triple {87507#true} [312] L680-->L680-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[] {87507#true} is VALID [2022-02-20 21:00:34,173 INFO L290 TraceCheckUtils]: 5: Hoare triple {87507#true} [271] L680-1-->L680-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[] {87507#true} is VALID [2022-02-20 21:00:34,173 INFO L290 TraceCheckUtils]: 6: Hoare triple {87507#true} [315] L680-2-->L680-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[] {87507#true} is VALID [2022-02-20 21:00:34,174 INFO L290 TraceCheckUtils]: 7: Hoare triple {87507#true} [286] L680-3-->L680-4: Formula: (and (= (select |v_#valid_3| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {87507#true} is VALID [2022-02-20 21:00:34,174 INFO L290 TraceCheckUtils]: 8: Hoare triple {87507#true} [305] L680-4-->L680-5: Formula: (= (select (select |v_#memory_int_3| 2) 0) 0) InVars {#memory_int=|v_#memory_int_3|} OutVars{#memory_int=|v_#memory_int_3|} AuxVars[] AssignedVars[] {87507#true} is VALID [2022-02-20 21:00:34,176 INFO L290 TraceCheckUtils]: 9: Hoare triple {87507#true} [269] L680-5-->L683: Formula: (= v_~a~0_4 0) InVars {} OutVars{~a~0=v_~a~0_4} AuxVars[] AssignedVars[~a~0] {87507#true} is VALID [2022-02-20 21:00:34,176 INFO L290 TraceCheckUtils]: 10: Hoare triple {87507#true} [253] L683-->L684: Formula: (= v_~b~0_4 0) InVars {} OutVars{~b~0=v_~b~0_4} AuxVars[] AssignedVars[~b~0] {87507#true} is VALID [2022-02-20 21:00:34,176 INFO L290 TraceCheckUtils]: 11: Hoare triple {87507#true} [239] L684-->L-1-3: Formula: (= v_~i~0_1 0) InVars {} OutVars{~i~0=v_~i~0_1} AuxVars[] AssignedVars[~i~0] {87507#true} is VALID [2022-02-20 21:00:34,176 INFO L290 TraceCheckUtils]: 12: Hoare triple {87507#true} [319] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {87507#true} is VALID [2022-02-20 21:00:34,176 INFO L290 TraceCheckUtils]: 13: Hoare triple {87507#true} [295] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {87507#true} is VALID [2022-02-20 21:00:34,176 INFO L290 TraceCheckUtils]: 14: Hoare triple {87507#true} [258] L-1-5-->L-1-6: Formula: (and (= |v_ULTIMATE.start_#in~argv#1.offset_1| |v_ULTIMATE.start_main_#in~argv#1.offset_1|) (= |v_ULTIMATE.start_main_#in~argv#1.base_1| |v_ULTIMATE.start_#in~argv#1.base_1|) (= |v_ULTIMATE.start_main_#in~argc#1_1| |v_ULTIMATE.start_#in~argc#1_1|)) InVars {ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} OutVars{ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_1|, ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_1|, ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#in~argv#1.base, ULTIMATE.start_main_#in~argc#1, ULTIMATE.start_main_#in~argv#1.offset] {87507#true} is VALID [2022-02-20 21:00:34,177 INFO L290 TraceCheckUtils]: 15: Hoare triple {87507#true} [293] 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] {87507#true} is VALID [2022-02-20 21:00:34,177 INFO L290 TraceCheckUtils]: 16: Hoare triple {87507#true} [256] L-1-7-->L699: Formula: true InVars {} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_1|, ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_1|, ULTIMATE.start_main_#t~mem8#1=|v_ULTIMATE.start_main_#t~mem8#1_1|, ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_1|, ULTIMATE.start_main_~#setPool~0#1.base=|v_ULTIMATE.start_main_~#setPool~0#1.base_1|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_1|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_1|, ULTIMATE.start_main_~#checkPool~0#1.offset=|v_ULTIMATE.start_main_~#checkPool~0#1.offset_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_#t~post7#1=|v_ULTIMATE.start_main_#t~post7#1_1|, ULTIMATE.start_main_#t~post9#1=|v_ULTIMATE.start_main_#t~post9#1_1|, ULTIMATE.start_main_#t~post4#1=|v_ULTIMATE.start_main_#t~post4#1_1|, ULTIMATE.start_main_~#setPool~0#1.offset=|v_ULTIMATE.start_main_~#setPool~0#1.offset_1|, ULTIMATE.start_main_~#checkPool~0#1.base=|v_ULTIMATE.start_main_~#checkPool~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1, ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_#t~mem8#1, ULTIMATE.start_main_#t~nondet6#1, ULTIMATE.start_main_~#setPool~0#1.base, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~mem10#1, ULTIMATE.start_main_#t~pre2#1, ULTIMATE.start_main_#t~pre5#1, ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~#checkPool~0#1.offset, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_#t~post7#1, ULTIMATE.start_main_#t~post9#1, ULTIMATE.start_main_#t~post4#1, ULTIMATE.start_main_~#setPool~0#1.offset, ULTIMATE.start_main_~#checkPool~0#1.base] {87507#true} is VALID [2022-02-20 21:00:34,177 INFO L290 TraceCheckUtils]: 17: Hoare triple {87507#true} [292] L699-->L699-1: Formula: (= |v_ULTIMATE.start_main_#in~argc#1_2| |v_ULTIMATE.start_main_~argc#1_2|) InVars {ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_2|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1] {87507#true} is VALID [2022-02-20 21:00:34,178 INFO L290 TraceCheckUtils]: 18: Hoare triple {87507#true} [261] L699-1-->L700: Formula: (and (= |v_ULTIMATE.start_main_~argv#1.offset_2| |v_ULTIMATE.start_main_#in~argv#1.offset_2|) (= |v_ULTIMATE.start_main_#in~argv#1.base_2| |v_ULTIMATE.start_main_~argv#1.base_2|)) InVars {ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|} OutVars{ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~argv#1.offset] {87507#true} is VALID [2022-02-20 21:00:34,178 INFO L290 TraceCheckUtils]: 19: Hoare triple {87507#true} [318] L700-->L700-1: Formula: (and (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#setPool~0#1.base_2|) 0) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#setPool~0#1.base_2| 160) |v_#length_3|) (= |v_ULTIMATE.start_main_~#setPool~0#1.offset_2| 0) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#setPool~0#1.base_2|) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#setPool~0#1.base_2| 1)) (not (= |v_ULTIMATE.start_main_~#setPool~0#1.base_2| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#setPool~0#1.offset=|v_ULTIMATE.start_main_~#setPool~0#1.offset_2|, ULTIMATE.start_main_~#setPool~0#1.base=|v_ULTIMATE.start_main_~#setPool~0#1.base_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#setPool~0#1.base, #valid, #length, ULTIMATE.start_main_~#setPool~0#1.offset] {87507#true} is VALID [2022-02-20 21:00:34,178 INFO L290 TraceCheckUtils]: 20: Hoare triple {87507#true} [321] L700-1-->L701: Formula: (and (= |v_ULTIMATE.start_main_~#checkPool~0#1.offset_2| 0) (not (= |v_ULTIMATE.start_main_~#checkPool~0#1.base_2| 0)) (< |v_#StackHeapBarrier_3| |v_ULTIMATE.start_main_~#checkPool~0#1.base_2|) (= |v_#valid_6| (store |v_#valid_7| |v_ULTIMATE.start_main_~#checkPool~0#1.base_2| 1)) (= |v_#length_5| (store |v_#length_6| |v_ULTIMATE.start_main_~#checkPool~0#1.base_2| 4)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#checkPool~0#1.base_2|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#checkPool~0#1.offset=|v_ULTIMATE.start_main_~#checkPool~0#1.offset_2|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_5|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#checkPool~0#1.base=|v_ULTIMATE.start_main_~#checkPool~0#1.base_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#checkPool~0#1.offset, #valid, #length, ULTIMATE.start_main_~#checkPool~0#1.base] {87507#true} is VALID [2022-02-20 21:00:34,179 INFO L290 TraceCheckUtils]: 21: Hoare triple {87507#true} [310] L701-->L702-5: Formula: (= v_~i~0_2 0) InVars {} OutVars{~i~0=v_~i~0_2} AuxVars[] AssignedVars[~i~0] {87509#(= ~i~0 0)} is VALID [2022-02-20 21:00:34,180 INFO L290 TraceCheckUtils]: 22: Hoare triple {87509#(= ~i~0 0)} [248] L702-5-->L702-6: Formula: (not (< v_~i~0_3 40)) InVars {~i~0=v_~i~0_3} OutVars{~i~0=v_~i~0_3} AuxVars[] AssignedVars[] {87508#false} is VALID [2022-02-20 21:00:34,186 INFO L290 TraceCheckUtils]: 23: Hoare triple {87508#false} [323] L702-6-->L704-5: Formula: (= v_~i~0_8 0) InVars {} OutVars{~i~0=v_~i~0_8} AuxVars[] AssignedVars[~i~0] {87508#false} is VALID [2022-02-20 21:00:34,186 INFO L290 TraceCheckUtils]: 24: Hoare triple {87508#false} [280] L704-5-->L705: Formula: (< v_~i~0_10 1) InVars {~i~0=v_~i~0_10} OutVars{~i~0=v_~i~0_10} AuxVars[] AssignedVars[] {87508#false} is VALID [2022-02-20 21:00:34,189 INFO L290 TraceCheckUtils]: 25: Hoare triple {87508#false} [287] L705-->L705-1: Formula: (= |v_ULTIMATE.start_main_#t~pre5#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_2|, #pthreadsForks=|v_#pthreadsForks_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1] {87508#false} is VALID [2022-02-20 21:00:34,189 INFO L290 TraceCheckUtils]: 26: Hoare triple {87508#false} [314] L705-1-->L705-2: Formula: (= (+ 1 |v_#pthreadsForks_6|) |v_#pthreadsForks_5|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_5|} AuxVars[] AssignedVars[#pthreadsForks] {87508#false} is VALID [2022-02-20 21:00:34,189 INFO L290 TraceCheckUtils]: 27: Hoare triple {87508#false} [309] L705-2-->L705-3: Formula: (= (store |v_#memory_int_7| |v_ULTIMATE.start_main_~#checkPool~0#1.base_3| (store (select |v_#memory_int_7| |v_ULTIMATE.start_main_~#checkPool~0#1.base_3|) (+ |v_ULTIMATE.start_main_~#checkPool~0#1.offset_3| (* v_~i~0_11 4)) |v_ULTIMATE.start_main_#t~pre5#1_3|)) |v_#memory_int_6|) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_3|, #memory_int=|v_#memory_int_7|, ULTIMATE.start_main_~#checkPool~0#1.offset=|v_ULTIMATE.start_main_~#checkPool~0#1.offset_3|, ~i~0=v_~i~0_11, ULTIMATE.start_main_~#checkPool~0#1.base=|v_ULTIMATE.start_main_~#checkPool~0#1.base_3|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_3|, #memory_int=|v_#memory_int_6|, ULTIMATE.start_main_~#checkPool~0#1.offset=|v_ULTIMATE.start_main_~#checkPool~0#1.offset_3|, ~i~0=v_~i~0_11, ULTIMATE.start_main_~#checkPool~0#1.base=|v_ULTIMATE.start_main_~#checkPool~0#1.base_3|} AuxVars[] AssignedVars[#memory_int] {87508#false} is VALID [2022-02-20 21:00:34,189 INFO L290 TraceCheckUtils]: 28: Hoare triple {87508#false} [355] L705-3-->checkThreadENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre5#1_8| v_checkThreadThread1of2ForFork1_thidvar0_2) (= |v_checkThreadThread1of2ForFork1_#in~param.offset_4| 0) (= |v_checkThreadThread1of2ForFork1_#in~param.base_4| 0)) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_8|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_8|, checkThreadThread1of2ForFork1_#res.offset=|v_checkThreadThread1of2ForFork1_#res.offset_4|, checkThreadThread1of2ForFork1_~param.base=v_checkThreadThread1of2ForFork1_~param.base_4, checkThreadThread1of2ForFork1_~param.offset=v_checkThreadThread1of2ForFork1_~param.offset_4, checkThreadThread1of2ForFork1_thidvar0=v_checkThreadThread1of2ForFork1_thidvar0_2, checkThreadThread1of2ForFork1_#in~param.offset=|v_checkThreadThread1of2ForFork1_#in~param.offset_4|, checkThreadThread1of2ForFork1_#res.base=|v_checkThreadThread1of2ForFork1_#res.base_4|, checkThreadThread1of2ForFork1_#in~param.base=|v_checkThreadThread1of2ForFork1_#in~param.base_4|} AuxVars[] AssignedVars[checkThreadThread1of2ForFork1_#res.offset, checkThreadThread1of2ForFork1_~param.base, checkThreadThread1of2ForFork1_~param.offset, checkThreadThread1of2ForFork1_thidvar0, checkThreadThread1of2ForFork1_#in~param.offset, checkThreadThread1of2ForFork1_#res.base, checkThreadThread1of2ForFork1_#in~param.base] {87508#false} is VALID [2022-02-20 21:00:34,189 INFO L290 TraceCheckUtils]: 29: Hoare triple {87508#false} [335] checkThreadENTRY-->L695: Formula: (and (= v_checkThreadThread1of2ForFork1_~param.offset_1 |v_checkThreadThread1of2ForFork1_#in~param.offset_1|) (= v_checkThreadThread1of2ForFork1_~param.base_1 |v_checkThreadThread1of2ForFork1_#in~param.base_1|)) InVars {checkThreadThread1of2ForFork1_#in~param.offset=|v_checkThreadThread1of2ForFork1_#in~param.offset_1|, checkThreadThread1of2ForFork1_#in~param.base=|v_checkThreadThread1of2ForFork1_#in~param.base_1|} OutVars{checkThreadThread1of2ForFork1_#in~param.offset=|v_checkThreadThread1of2ForFork1_#in~param.offset_1|, checkThreadThread1of2ForFork1_~param.base=v_checkThreadThread1of2ForFork1_~param.base_1, checkThreadThread1of2ForFork1_~param.offset=v_checkThreadThread1of2ForFork1_~param.offset_1, checkThreadThread1of2ForFork1_#in~param.base=|v_checkThreadThread1of2ForFork1_#in~param.base_1|} AuxVars[] AssignedVars[checkThreadThread1of2ForFork1_~param.base, checkThreadThread1of2ForFork1_~param.offset] {87508#false} is VALID [2022-02-20 21:00:34,190 INFO L290 TraceCheckUtils]: 30: Hoare triple {87508#false} [337] L695-->L696: Formula: (and (or (not (= v_~a~0_3 1)) (not (= (- 1) v_~b~0_3))) (or (not (= v_~b~0_3 0)) (not (= v_~a~0_3 0)))) InVars {~a~0=v_~a~0_3, ~b~0=v_~b~0_3} OutVars{~a~0=v_~a~0_3, ~b~0=v_~b~0_3} AuxVars[] AssignedVars[] {87508#false} is VALID [2022-02-20 21:00:34,190 INFO L290 TraceCheckUtils]: 31: Hoare triple {87508#false} [339] L696-->checkThreadErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {87508#false} is VALID [2022-02-20 21:00:34,190 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 21:00:34,190 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:00:34,190 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1106061151] [2022-02-20 21:00:34,191 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1106061151] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:00:34,191 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 21:00:34,191 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 21:00:34,191 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [334542164] [2022-02-20 21:00:34,191 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:00:34,191 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 10.666666666666666) internal successors, (32), 3 states have internal predecessors, (32), 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 32 [2022-02-20 21:00:34,192 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:00:34,192 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 10.666666666666666) internal successors, (32), 3 states have internal predecessors, (32), 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 21:00:34,210 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:00:34,211 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 21:00:34,211 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:00:34,211 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 21:00:34,211 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 21:00:34,212 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 65 out of 110 [2022-02-20 21:00:34,213 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 104 places, 102 transitions, 252 flow. Second operand has 3 states, 3 states have (on average 67.33333333333333) internal successors, (202), 3 states have internal predecessors, (202), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 21:00:34,213 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 21:00:34,213 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 65 of 110 [2022-02-20 21:00:34,213 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 21:00:34,518 INFO L129 PetriNetUnfolder]: 58/575 cut-off events. [2022-02-20 21:00:34,518 INFO L130 PetriNetUnfolder]: For 90/90 co-relation queries the response was YES. [2022-02-20 21:00:34,519 INFO L84 FinitePrefix]: Finished finitePrefix Result has 1028 conditions, 575 events. 58/575 cut-off events. For 90/90 co-relation queries the response was YES. Maximal size of possible extension queue 23. Compared 2900 event pairs, 0 based on Foata normal form. 0/539 useless extension candidates. Maximal degree in co-relation 1021. Up to 207 conditions per place. [2022-02-20 21:00:34,520 INFO L132 encePairwiseOnDemand]: 98/110 looper letters, 53 selfloop transitions, 8 changer transitions 0/126 dead transitions. [2022-02-20 21:00:34,520 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 106 places, 126 transitions, 446 flow [2022-02-20 21:00:34,521 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 21:00:34,521 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2022-02-20 21:00:34,524 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 260 transitions. [2022-02-20 21:00:34,524 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.7878787878787878 [2022-02-20 21:00:34,524 INFO L72 ComplementDD]: Start complementDD. Operand 3 states and 260 transitions. [2022-02-20 21:00:34,524 INFO L73 IsDeterministic]: Start isDeterministic. Operand 3 states and 260 transitions. [2022-02-20 21:00:34,524 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 21:00:34,524 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 3 states and 260 transitions. [2022-02-20 21:00:34,525 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 4 states, 3 states have (on average 86.66666666666667) internal successors, (260), 3 states have internal predecessors, (260), 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 21:00:34,526 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 4 states, 4 states have (on average 110.0) internal successors, (440), 4 states have internal predecessors, (440), 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 21:00:34,526 INFO L81 ComplementDD]: Finished complementDD. Result has 4 states, 4 states have (on average 110.0) internal successors, (440), 4 states have internal predecessors, (440), 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 21:00:34,526 INFO L186 Difference]: Start difference. First operand has 104 places, 102 transitions, 252 flow. Second operand 3 states and 260 transitions. [2022-02-20 21:00:34,526 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 106 places, 126 transitions, 446 flow [2022-02-20 21:01:18,342 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 106 places, 126 transitions, 446 flow, removed 0 selfloop flow, removed 0 redundant places. [2022-02-20 21:01:18,344 INFO L242 Difference]: Finished difference. Result has 107 places, 106 transitions, 300 flow [2022-02-20 21:01:18,345 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=110, PETRI_DIFFERENCE_MINUEND_FLOW=252, PETRI_DIFFERENCE_MINUEND_PLACES=104, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=102, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=4, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=94, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=300, PETRI_PLACES=107, PETRI_TRANSITIONS=106} [2022-02-20 21:01:18,345 INFO L334 CegarLoopForPetriNet]: 105 programPoint places, 2 predicate places. [2022-02-20 21:01:18,345 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 107 places, 106 transitions, 300 flow [2022-02-20 21:01:19,384 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 55766 states, 55725 states have (on average 3.7633198743831313) internal successors, (209711), 55765 states have internal predecessors, (209711), 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 21:01:19,503 INFO L78 Accepts]: Start accepts. Automaton has has 55766 states, 55725 states have (on average 3.7633198743831313) internal successors, (209711), 55765 states have internal predecessors, (209711), 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 32 [2022-02-20 21:01:19,504 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:01:19,504 INFO L470 AbstractCegarLoop]: Abstraction has has 107 places, 106 transitions, 300 flow [2022-02-20 21:01:19,504 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 67.33333333333333) internal successors, (202), 3 states have internal predecessors, (202), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 21:01:19,504 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:01:19,504 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] [2022-02-20 21:01:19,505 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2022-02-20 21:01:19,505 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting checkThreadErr0ASSERT_VIOLATIONERROR_FUNCTION === [checkThreadErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION, checkThreadErr0ASSERT_VIOLATIONERROR_FUNCTION (and 1 more)] === [2022-02-20 21:01:19,505 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:01:19,505 INFO L85 PathProgramCache]: Analyzing trace with hash 853052668, now seen corresponding path program 1 times [2022-02-20 21:01:19,505 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:01:19,506 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2051969039] [2022-02-20 21:01:19,506 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:01:19,506 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:01:19,522 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:01:19,563 INFO L290 TraceCheckUtils]: 0: Hoare triple {143279#true} [307] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {143279#true} is VALID [2022-02-20 21:01:19,563 INFO L290 TraceCheckUtils]: 1: Hoare triple {143279#true} [289] L-1-->L-1-1: Formula: (and (= |v_#NULL.base_1| 0) (= |v_#NULL.offset_1| 0)) InVars {} OutVars{#NULL.offset=|v_#NULL.offset_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {143279#true} is VALID [2022-02-20 21:01:19,563 INFO L290 TraceCheckUtils]: 2: Hoare triple {143279#true} [316] L-1-1-->L-1-2: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] {143279#true} is VALID [2022-02-20 21:01:19,564 INFO L290 TraceCheckUtils]: 3: Hoare triple {143279#true} [317] L-1-2-->L680: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {143279#true} is VALID [2022-02-20 21:01:19,564 INFO L290 TraceCheckUtils]: 4: Hoare triple {143279#true} [312] L680-->L680-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[] {143279#true} is VALID [2022-02-20 21:01:19,564 INFO L290 TraceCheckUtils]: 5: Hoare triple {143279#true} [271] L680-1-->L680-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[] {143279#true} is VALID [2022-02-20 21:01:19,564 INFO L290 TraceCheckUtils]: 6: Hoare triple {143279#true} [315] L680-2-->L680-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[] {143279#true} is VALID [2022-02-20 21:01:19,564 INFO L290 TraceCheckUtils]: 7: Hoare triple {143279#true} [286] L680-3-->L680-4: Formula: (and (= (select |v_#valid_3| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {143279#true} is VALID [2022-02-20 21:01:19,564 INFO L290 TraceCheckUtils]: 8: Hoare triple {143279#true} [305] L680-4-->L680-5: Formula: (= (select (select |v_#memory_int_3| 2) 0) 0) InVars {#memory_int=|v_#memory_int_3|} OutVars{#memory_int=|v_#memory_int_3|} AuxVars[] AssignedVars[] {143279#true} is VALID [2022-02-20 21:01:19,565 INFO L290 TraceCheckUtils]: 9: Hoare triple {143279#true} [269] L680-5-->L683: Formula: (= v_~a~0_4 0) InVars {} OutVars{~a~0=v_~a~0_4} AuxVars[] AssignedVars[~a~0] {143279#true} is VALID [2022-02-20 21:01:19,565 INFO L290 TraceCheckUtils]: 10: Hoare triple {143279#true} [253] L683-->L684: Formula: (= v_~b~0_4 0) InVars {} OutVars{~b~0=v_~b~0_4} AuxVars[] AssignedVars[~b~0] {143279#true} is VALID [2022-02-20 21:01:19,565 INFO L290 TraceCheckUtils]: 11: Hoare triple {143279#true} [239] L684-->L-1-3: Formula: (= v_~i~0_1 0) InVars {} OutVars{~i~0=v_~i~0_1} AuxVars[] AssignedVars[~i~0] {143279#true} is VALID [2022-02-20 21:01:19,565 INFO L290 TraceCheckUtils]: 12: Hoare triple {143279#true} [319] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {143279#true} is VALID [2022-02-20 21:01:19,565 INFO L290 TraceCheckUtils]: 13: Hoare triple {143279#true} [295] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {143279#true} is VALID [2022-02-20 21:01:19,565 INFO L290 TraceCheckUtils]: 14: Hoare triple {143279#true} [258] L-1-5-->L-1-6: Formula: (and (= |v_ULTIMATE.start_#in~argv#1.offset_1| |v_ULTIMATE.start_main_#in~argv#1.offset_1|) (= |v_ULTIMATE.start_main_#in~argv#1.base_1| |v_ULTIMATE.start_#in~argv#1.base_1|) (= |v_ULTIMATE.start_main_#in~argc#1_1| |v_ULTIMATE.start_#in~argc#1_1|)) InVars {ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} OutVars{ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_1|, ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_1|, ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#in~argv#1.base, ULTIMATE.start_main_#in~argc#1, ULTIMATE.start_main_#in~argv#1.offset] {143279#true} is VALID [2022-02-20 21:01:19,565 INFO L290 TraceCheckUtils]: 15: Hoare triple {143279#true} [293] 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] {143279#true} is VALID [2022-02-20 21:01:19,566 INFO L290 TraceCheckUtils]: 16: Hoare triple {143279#true} [256] L-1-7-->L699: Formula: true InVars {} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_1|, ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_1|, ULTIMATE.start_main_#t~mem8#1=|v_ULTIMATE.start_main_#t~mem8#1_1|, ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_1|, ULTIMATE.start_main_~#setPool~0#1.base=|v_ULTIMATE.start_main_~#setPool~0#1.base_1|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_1|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_1|, ULTIMATE.start_main_~#checkPool~0#1.offset=|v_ULTIMATE.start_main_~#checkPool~0#1.offset_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_#t~post7#1=|v_ULTIMATE.start_main_#t~post7#1_1|, ULTIMATE.start_main_#t~post9#1=|v_ULTIMATE.start_main_#t~post9#1_1|, ULTIMATE.start_main_#t~post4#1=|v_ULTIMATE.start_main_#t~post4#1_1|, ULTIMATE.start_main_~#setPool~0#1.offset=|v_ULTIMATE.start_main_~#setPool~0#1.offset_1|, ULTIMATE.start_main_~#checkPool~0#1.base=|v_ULTIMATE.start_main_~#checkPool~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1, ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_#t~mem8#1, ULTIMATE.start_main_#t~nondet6#1, ULTIMATE.start_main_~#setPool~0#1.base, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~mem10#1, ULTIMATE.start_main_#t~pre2#1, ULTIMATE.start_main_#t~pre5#1, ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~#checkPool~0#1.offset, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_#t~post7#1, ULTIMATE.start_main_#t~post9#1, ULTIMATE.start_main_#t~post4#1, ULTIMATE.start_main_~#setPool~0#1.offset, ULTIMATE.start_main_~#checkPool~0#1.base] {143279#true} is VALID [2022-02-20 21:01:19,566 INFO L290 TraceCheckUtils]: 17: Hoare triple {143279#true} [292] L699-->L699-1: Formula: (= |v_ULTIMATE.start_main_#in~argc#1_2| |v_ULTIMATE.start_main_~argc#1_2|) InVars {ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_2|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1] {143279#true} is VALID [2022-02-20 21:01:19,566 INFO L290 TraceCheckUtils]: 18: Hoare triple {143279#true} [261] L699-1-->L700: Formula: (and (= |v_ULTIMATE.start_main_~argv#1.offset_2| |v_ULTIMATE.start_main_#in~argv#1.offset_2|) (= |v_ULTIMATE.start_main_#in~argv#1.base_2| |v_ULTIMATE.start_main_~argv#1.base_2|)) InVars {ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|} OutVars{ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~argv#1.offset] {143279#true} is VALID [2022-02-20 21:01:19,566 INFO L290 TraceCheckUtils]: 19: Hoare triple {143279#true} [318] L700-->L700-1: Formula: (and (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#setPool~0#1.base_2|) 0) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#setPool~0#1.base_2| 160) |v_#length_3|) (= |v_ULTIMATE.start_main_~#setPool~0#1.offset_2| 0) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#setPool~0#1.base_2|) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#setPool~0#1.base_2| 1)) (not (= |v_ULTIMATE.start_main_~#setPool~0#1.base_2| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#setPool~0#1.offset=|v_ULTIMATE.start_main_~#setPool~0#1.offset_2|, ULTIMATE.start_main_~#setPool~0#1.base=|v_ULTIMATE.start_main_~#setPool~0#1.base_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#setPool~0#1.base, #valid, #length, ULTIMATE.start_main_~#setPool~0#1.offset] {143279#true} is VALID [2022-02-20 21:01:19,566 INFO L290 TraceCheckUtils]: 20: Hoare triple {143279#true} [321] L700-1-->L701: Formula: (and (= |v_ULTIMATE.start_main_~#checkPool~0#1.offset_2| 0) (not (= |v_ULTIMATE.start_main_~#checkPool~0#1.base_2| 0)) (< |v_#StackHeapBarrier_3| |v_ULTIMATE.start_main_~#checkPool~0#1.base_2|) (= |v_#valid_6| (store |v_#valid_7| |v_ULTIMATE.start_main_~#checkPool~0#1.base_2| 1)) (= |v_#length_5| (store |v_#length_6| |v_ULTIMATE.start_main_~#checkPool~0#1.base_2| 4)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#checkPool~0#1.base_2|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#checkPool~0#1.offset=|v_ULTIMATE.start_main_~#checkPool~0#1.offset_2|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_5|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#checkPool~0#1.base=|v_ULTIMATE.start_main_~#checkPool~0#1.base_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#checkPool~0#1.offset, #valid, #length, ULTIMATE.start_main_~#checkPool~0#1.base] {143279#true} is VALID [2022-02-20 21:01:19,567 INFO L290 TraceCheckUtils]: 21: Hoare triple {143279#true} [310] L701-->L702-5: Formula: (= v_~i~0_2 0) InVars {} OutVars{~i~0=v_~i~0_2} AuxVars[] AssignedVars[~i~0] {143281#(= ~i~0 0)} is VALID [2022-02-20 21:01:19,567 INFO L290 TraceCheckUtils]: 22: Hoare triple {143281#(= ~i~0 0)} [249] L702-5-->L703: Formula: (< v_~i~0_4 40) InVars {~i~0=v_~i~0_4} OutVars{~i~0=v_~i~0_4} AuxVars[] AssignedVars[] {143281#(= ~i~0 0)} is VALID [2022-02-20 21:01:19,567 INFO L290 TraceCheckUtils]: 23: Hoare triple {143281#(= ~i~0 0)} [252] L703-->L703-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] {143281#(= ~i~0 0)} is VALID [2022-02-20 21:01:19,568 INFO L290 TraceCheckUtils]: 24: Hoare triple {143281#(= ~i~0 0)} [302] L703-1-->L703-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {143281#(= ~i~0 0)} is VALID [2022-02-20 21:01:19,568 INFO L290 TraceCheckUtils]: 25: Hoare triple {143281#(= ~i~0 0)} [276] L703-2-->L703-3: Formula: (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#setPool~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#setPool~0#1.base_3|) (+ |v_ULTIMATE.start_main_~#setPool~0#1.offset_3| (* 4 v_~i~0_5)) |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|) InVars {#memory_int=|v_#memory_int_5|, ~i~0=v_~i~0_5, ULTIMATE.start_main_~#setPool~0#1.offset=|v_ULTIMATE.start_main_~#setPool~0#1.offset_3|, ULTIMATE.start_main_~#setPool~0#1.base=|v_ULTIMATE.start_main_~#setPool~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{#memory_int=|v_#memory_int_4|, ~i~0=v_~i~0_5, ULTIMATE.start_main_~#setPool~0#1.offset=|v_ULTIMATE.start_main_~#setPool~0#1.offset_3|, ULTIMATE.start_main_~#setPool~0#1.base=|v_ULTIMATE.start_main_~#setPool~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] {143281#(= ~i~0 0)} is VALID [2022-02-20 21:01:19,568 INFO L290 TraceCheckUtils]: 26: Hoare triple {143281#(= ~i~0 0)} [352] L703-3-->setThreadENTRY: Formula: (and (= 0 |v_setThreadThread1of2ForFork0_#in~param.base_4|) (= |v_ULTIMATE.start_main_#t~pre2#1_8| v_setThreadThread1of2ForFork0_thidvar0_2) (= 0 |v_setThreadThread1of2ForFork0_#in~param.offset_4|)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_8|} OutVars{setThreadThread1of2ForFork0_~param.offset=v_setThreadThread1of2ForFork0_~param.offset_4, setThreadThread1of2ForFork0_#in~param.base=|v_setThreadThread1of2ForFork0_#in~param.base_4|, setThreadThread1of2ForFork0_#res.base=|v_setThreadThread1of2ForFork0_#res.base_4|, setThreadThread1of2ForFork0_#in~param.offset=|v_setThreadThread1of2ForFork0_#in~param.offset_4|, setThreadThread1of2ForFork0_~param.base=v_setThreadThread1of2ForFork0_~param.base_4, setThreadThread1of2ForFork0_thidvar0=v_setThreadThread1of2ForFork0_thidvar0_2, setThreadThread1of2ForFork0_#res.offset=|v_setThreadThread1of2ForFork0_#res.offset_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_8|} AuxVars[] AssignedVars[setThreadThread1of2ForFork0_~param.offset, setThreadThread1of2ForFork0_#in~param.base, setThreadThread1of2ForFork0_#res.base, setThreadThread1of2ForFork0_#in~param.offset, setThreadThread1of2ForFork0_~param.base, setThreadThread1of2ForFork0_thidvar0, setThreadThread1of2ForFork0_#res.offset] {143281#(= ~i~0 0)} is VALID [2022-02-20 21:01:19,569 INFO L290 TraceCheckUtils]: 27: Hoare triple {143281#(= ~i~0 0)} [296] L703-4-->L703-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] {143281#(= ~i~0 0)} is VALID [2022-02-20 21:01:19,569 INFO L290 TraceCheckUtils]: 28: Hoare triple {143281#(= ~i~0 0)} [275] L703-5-->L702-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] {143281#(= ~i~0 0)} is VALID [2022-02-20 21:01:19,570 INFO L290 TraceCheckUtils]: 29: Hoare triple {143281#(= ~i~0 0)} [291] L702-2-->L702-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| v_~i~0_6) InVars {~i~0=v_~i~0_6} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ~i~0=v_~i~0_6} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] {143282#(= |ULTIMATE.start_main_#t~post1#1| 0)} is VALID [2022-02-20 21:01:19,570 INFO L290 TraceCheckUtils]: 30: Hoare triple {143282#(= |ULTIMATE.start_main_#t~post1#1| 0)} [265] L702-3-->L702-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) v_~i~0_7) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ~i~0=v_~i~0_7} AuxVars[] AssignedVars[~i~0] {143283#(<= ~i~0 1)} is VALID [2022-02-20 21:01:19,570 INFO L290 TraceCheckUtils]: 31: Hoare triple {143283#(<= ~i~0 1)} [308] L702-4-->L702-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] {143283#(<= ~i~0 1)} is VALID [2022-02-20 21:01:19,571 INFO L290 TraceCheckUtils]: 32: Hoare triple {143283#(<= ~i~0 1)} [248] L702-5-->L702-6: Formula: (not (< v_~i~0_3 40)) InVars {~i~0=v_~i~0_3} OutVars{~i~0=v_~i~0_3} AuxVars[] AssignedVars[] {143280#false} is VALID [2022-02-20 21:01:19,571 INFO L290 TraceCheckUtils]: 33: Hoare triple {143280#false} [323] L702-6-->L704-5: Formula: (= v_~i~0_8 0) InVars {} OutVars{~i~0=v_~i~0_8} AuxVars[] AssignedVars[~i~0] {143280#false} is VALID [2022-02-20 21:01:19,571 INFO L290 TraceCheckUtils]: 34: Hoare triple {143280#false} [280] L704-5-->L705: Formula: (< v_~i~0_10 1) InVars {~i~0=v_~i~0_10} OutVars{~i~0=v_~i~0_10} AuxVars[] AssignedVars[] {143280#false} is VALID [2022-02-20 21:01:19,571 INFO L290 TraceCheckUtils]: 35: Hoare triple {143280#false} [287] L705-->L705-1: Formula: (= |v_ULTIMATE.start_main_#t~pre5#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_2|, #pthreadsForks=|v_#pthreadsForks_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1] {143280#false} is VALID [2022-02-20 21:01:19,571 INFO L290 TraceCheckUtils]: 36: Hoare triple {143280#false} [314] L705-1-->L705-2: Formula: (= (+ 1 |v_#pthreadsForks_6|) |v_#pthreadsForks_5|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_5|} AuxVars[] AssignedVars[#pthreadsForks] {143280#false} is VALID [2022-02-20 21:01:19,572 INFO L290 TraceCheckUtils]: 37: Hoare triple {143280#false} [309] L705-2-->L705-3: Formula: (= (store |v_#memory_int_7| |v_ULTIMATE.start_main_~#checkPool~0#1.base_3| (store (select |v_#memory_int_7| |v_ULTIMATE.start_main_~#checkPool~0#1.base_3|) (+ |v_ULTIMATE.start_main_~#checkPool~0#1.offset_3| (* v_~i~0_11 4)) |v_ULTIMATE.start_main_#t~pre5#1_3|)) |v_#memory_int_6|) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_3|, #memory_int=|v_#memory_int_7|, ULTIMATE.start_main_~#checkPool~0#1.offset=|v_ULTIMATE.start_main_~#checkPool~0#1.offset_3|, ~i~0=v_~i~0_11, ULTIMATE.start_main_~#checkPool~0#1.base=|v_ULTIMATE.start_main_~#checkPool~0#1.base_3|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_3|, #memory_int=|v_#memory_int_6|, ULTIMATE.start_main_~#checkPool~0#1.offset=|v_ULTIMATE.start_main_~#checkPool~0#1.offset_3|, ~i~0=v_~i~0_11, ULTIMATE.start_main_~#checkPool~0#1.base=|v_ULTIMATE.start_main_~#checkPool~0#1.base_3|} AuxVars[] AssignedVars[#memory_int] {143280#false} is VALID [2022-02-20 21:01:19,572 INFO L290 TraceCheckUtils]: 38: Hoare triple {143280#false} [355] L705-3-->checkThreadENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre5#1_8| v_checkThreadThread1of2ForFork1_thidvar0_2) (= |v_checkThreadThread1of2ForFork1_#in~param.offset_4| 0) (= |v_checkThreadThread1of2ForFork1_#in~param.base_4| 0)) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_8|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_8|, checkThreadThread1of2ForFork1_#res.offset=|v_checkThreadThread1of2ForFork1_#res.offset_4|, checkThreadThread1of2ForFork1_~param.base=v_checkThreadThread1of2ForFork1_~param.base_4, checkThreadThread1of2ForFork1_~param.offset=v_checkThreadThread1of2ForFork1_~param.offset_4, checkThreadThread1of2ForFork1_thidvar0=v_checkThreadThread1of2ForFork1_thidvar0_2, checkThreadThread1of2ForFork1_#in~param.offset=|v_checkThreadThread1of2ForFork1_#in~param.offset_4|, checkThreadThread1of2ForFork1_#res.base=|v_checkThreadThread1of2ForFork1_#res.base_4|, checkThreadThread1of2ForFork1_#in~param.base=|v_checkThreadThread1of2ForFork1_#in~param.base_4|} AuxVars[] AssignedVars[checkThreadThread1of2ForFork1_#res.offset, checkThreadThread1of2ForFork1_~param.base, checkThreadThread1of2ForFork1_~param.offset, checkThreadThread1of2ForFork1_thidvar0, checkThreadThread1of2ForFork1_#in~param.offset, checkThreadThread1of2ForFork1_#res.base, checkThreadThread1of2ForFork1_#in~param.base] {143280#false} is VALID [2022-02-20 21:01:19,572 INFO L290 TraceCheckUtils]: 39: Hoare triple {143280#false} [335] checkThreadENTRY-->L695: Formula: (and (= v_checkThreadThread1of2ForFork1_~param.offset_1 |v_checkThreadThread1of2ForFork1_#in~param.offset_1|) (= v_checkThreadThread1of2ForFork1_~param.base_1 |v_checkThreadThread1of2ForFork1_#in~param.base_1|)) InVars {checkThreadThread1of2ForFork1_#in~param.offset=|v_checkThreadThread1of2ForFork1_#in~param.offset_1|, checkThreadThread1of2ForFork1_#in~param.base=|v_checkThreadThread1of2ForFork1_#in~param.base_1|} OutVars{checkThreadThread1of2ForFork1_#in~param.offset=|v_checkThreadThread1of2ForFork1_#in~param.offset_1|, checkThreadThread1of2ForFork1_~param.base=v_checkThreadThread1of2ForFork1_~param.base_1, checkThreadThread1of2ForFork1_~param.offset=v_checkThreadThread1of2ForFork1_~param.offset_1, checkThreadThread1of2ForFork1_#in~param.base=|v_checkThreadThread1of2ForFork1_#in~param.base_1|} AuxVars[] AssignedVars[checkThreadThread1of2ForFork1_~param.base, checkThreadThread1of2ForFork1_~param.offset] {143280#false} is VALID [2022-02-20 21:01:19,572 INFO L290 TraceCheckUtils]: 40: Hoare triple {143280#false} [337] L695-->L696: Formula: (and (or (not (= v_~a~0_3 1)) (not (= (- 1) v_~b~0_3))) (or (not (= v_~b~0_3 0)) (not (= v_~a~0_3 0)))) InVars {~a~0=v_~a~0_3, ~b~0=v_~b~0_3} OutVars{~a~0=v_~a~0_3, ~b~0=v_~b~0_3} AuxVars[] AssignedVars[] {143280#false} is VALID [2022-02-20 21:01:19,572 INFO L290 TraceCheckUtils]: 41: Hoare triple {143280#false} [339] L696-->checkThreadErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {143280#false} is VALID [2022-02-20 21:01:19,573 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 21:01:19,575 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:01:19,576 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2051969039] [2022-02-20 21:01:19,576 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2051969039] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 21:01:19,576 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [4754264] [2022-02-20 21:01:19,577 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:01:19,577 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 21:01:19,577 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 21:01:19,578 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 21:01:19,579 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 21:01:19,650 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:01:19,651 INFO L263 TraceCheckSpWp]: Trace formula consists of 119 conjuncts, 4 conjunts are in the unsatisfiable core [2022-02-20 21:01:19,680 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:01:19,681 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 21:01:19,826 INFO L290 TraceCheckUtils]: 0: Hoare triple {143279#true} [307] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {143279#true} is VALID [2022-02-20 21:01:19,826 INFO L290 TraceCheckUtils]: 1: Hoare triple {143279#true} [289] L-1-->L-1-1: Formula: (and (= |v_#NULL.base_1| 0) (= |v_#NULL.offset_1| 0)) InVars {} OutVars{#NULL.offset=|v_#NULL.offset_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {143279#true} is VALID [2022-02-20 21:01:19,826 INFO L290 TraceCheckUtils]: 2: Hoare triple {143279#true} [316] L-1-1-->L-1-2: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] {143279#true} is VALID [2022-02-20 21:01:19,826 INFO L290 TraceCheckUtils]: 3: Hoare triple {143279#true} [317] L-1-2-->L680: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {143279#true} is VALID [2022-02-20 21:01:19,826 INFO L290 TraceCheckUtils]: 4: Hoare triple {143279#true} [312] L680-->L680-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[] {143279#true} is VALID [2022-02-20 21:01:19,827 INFO L290 TraceCheckUtils]: 5: Hoare triple {143279#true} [271] L680-1-->L680-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[] {143279#true} is VALID [2022-02-20 21:01:19,827 INFO L290 TraceCheckUtils]: 6: Hoare triple {143279#true} [315] L680-2-->L680-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[] {143279#true} is VALID [2022-02-20 21:01:19,827 INFO L290 TraceCheckUtils]: 7: Hoare triple {143279#true} [286] L680-3-->L680-4: Formula: (and (= (select |v_#valid_3| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {143279#true} is VALID [2022-02-20 21:01:19,827 INFO L290 TraceCheckUtils]: 8: Hoare triple {143279#true} [305] L680-4-->L680-5: Formula: (= (select (select |v_#memory_int_3| 2) 0) 0) InVars {#memory_int=|v_#memory_int_3|} OutVars{#memory_int=|v_#memory_int_3|} AuxVars[] AssignedVars[] {143279#true} is VALID [2022-02-20 21:01:19,827 INFO L290 TraceCheckUtils]: 9: Hoare triple {143279#true} [269] L680-5-->L683: Formula: (= v_~a~0_4 0) InVars {} OutVars{~a~0=v_~a~0_4} AuxVars[] AssignedVars[~a~0] {143279#true} is VALID [2022-02-20 21:01:19,827 INFO L290 TraceCheckUtils]: 10: Hoare triple {143279#true} [253] L683-->L684: Formula: (= v_~b~0_4 0) InVars {} OutVars{~b~0=v_~b~0_4} AuxVars[] AssignedVars[~b~0] {143279#true} is VALID [2022-02-20 21:01:19,828 INFO L290 TraceCheckUtils]: 11: Hoare triple {143279#true} [239] L684-->L-1-3: Formula: (= v_~i~0_1 0) InVars {} OutVars{~i~0=v_~i~0_1} AuxVars[] AssignedVars[~i~0] {143279#true} is VALID [2022-02-20 21:01:19,828 INFO L290 TraceCheckUtils]: 12: Hoare triple {143279#true} [319] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {143279#true} is VALID [2022-02-20 21:01:19,828 INFO L290 TraceCheckUtils]: 13: Hoare triple {143279#true} [295] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {143279#true} is VALID [2022-02-20 21:01:19,828 INFO L290 TraceCheckUtils]: 14: Hoare triple {143279#true} [258] L-1-5-->L-1-6: Formula: (and (= |v_ULTIMATE.start_#in~argv#1.offset_1| |v_ULTIMATE.start_main_#in~argv#1.offset_1|) (= |v_ULTIMATE.start_main_#in~argv#1.base_1| |v_ULTIMATE.start_#in~argv#1.base_1|) (= |v_ULTIMATE.start_main_#in~argc#1_1| |v_ULTIMATE.start_#in~argc#1_1|)) InVars {ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} OutVars{ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_1|, ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_1|, ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#in~argv#1.base, ULTIMATE.start_main_#in~argc#1, ULTIMATE.start_main_#in~argv#1.offset] {143279#true} is VALID [2022-02-20 21:01:19,828 INFO L290 TraceCheckUtils]: 15: Hoare triple {143279#true} [293] 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] {143279#true} is VALID [2022-02-20 21:01:19,828 INFO L290 TraceCheckUtils]: 16: Hoare triple {143279#true} [256] L-1-7-->L699: Formula: true InVars {} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_1|, ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_1|, ULTIMATE.start_main_#t~mem8#1=|v_ULTIMATE.start_main_#t~mem8#1_1|, ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_1|, ULTIMATE.start_main_~#setPool~0#1.base=|v_ULTIMATE.start_main_~#setPool~0#1.base_1|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_1|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_1|, ULTIMATE.start_main_~#checkPool~0#1.offset=|v_ULTIMATE.start_main_~#checkPool~0#1.offset_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_#t~post7#1=|v_ULTIMATE.start_main_#t~post7#1_1|, ULTIMATE.start_main_#t~post9#1=|v_ULTIMATE.start_main_#t~post9#1_1|, ULTIMATE.start_main_#t~post4#1=|v_ULTIMATE.start_main_#t~post4#1_1|, ULTIMATE.start_main_~#setPool~0#1.offset=|v_ULTIMATE.start_main_~#setPool~0#1.offset_1|, ULTIMATE.start_main_~#checkPool~0#1.base=|v_ULTIMATE.start_main_~#checkPool~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1, ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_#t~mem8#1, ULTIMATE.start_main_#t~nondet6#1, ULTIMATE.start_main_~#setPool~0#1.base, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~mem10#1, ULTIMATE.start_main_#t~pre2#1, ULTIMATE.start_main_#t~pre5#1, ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~#checkPool~0#1.offset, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_#t~post7#1, ULTIMATE.start_main_#t~post9#1, ULTIMATE.start_main_#t~post4#1, ULTIMATE.start_main_~#setPool~0#1.offset, ULTIMATE.start_main_~#checkPool~0#1.base] {143279#true} is VALID [2022-02-20 21:01:19,829 INFO L290 TraceCheckUtils]: 17: Hoare triple {143279#true} [292] L699-->L699-1: Formula: (= |v_ULTIMATE.start_main_#in~argc#1_2| |v_ULTIMATE.start_main_~argc#1_2|) InVars {ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_2|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1] {143279#true} is VALID [2022-02-20 21:01:19,829 INFO L290 TraceCheckUtils]: 18: Hoare triple {143279#true} [261] L699-1-->L700: Formula: (and (= |v_ULTIMATE.start_main_~argv#1.offset_2| |v_ULTIMATE.start_main_#in~argv#1.offset_2|) (= |v_ULTIMATE.start_main_#in~argv#1.base_2| |v_ULTIMATE.start_main_~argv#1.base_2|)) InVars {ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|} OutVars{ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~argv#1.offset] {143279#true} is VALID [2022-02-20 21:01:19,829 INFO L290 TraceCheckUtils]: 19: Hoare triple {143279#true} [318] L700-->L700-1: Formula: (and (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#setPool~0#1.base_2|) 0) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#setPool~0#1.base_2| 160) |v_#length_3|) (= |v_ULTIMATE.start_main_~#setPool~0#1.offset_2| 0) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#setPool~0#1.base_2|) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#setPool~0#1.base_2| 1)) (not (= |v_ULTIMATE.start_main_~#setPool~0#1.base_2| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#setPool~0#1.offset=|v_ULTIMATE.start_main_~#setPool~0#1.offset_2|, ULTIMATE.start_main_~#setPool~0#1.base=|v_ULTIMATE.start_main_~#setPool~0#1.base_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#setPool~0#1.base, #valid, #length, ULTIMATE.start_main_~#setPool~0#1.offset] {143279#true} is VALID [2022-02-20 21:01:19,829 INFO L290 TraceCheckUtils]: 20: Hoare triple {143279#true} [321] L700-1-->L701: Formula: (and (= |v_ULTIMATE.start_main_~#checkPool~0#1.offset_2| 0) (not (= |v_ULTIMATE.start_main_~#checkPool~0#1.base_2| 0)) (< |v_#StackHeapBarrier_3| |v_ULTIMATE.start_main_~#checkPool~0#1.base_2|) (= |v_#valid_6| (store |v_#valid_7| |v_ULTIMATE.start_main_~#checkPool~0#1.base_2| 1)) (= |v_#length_5| (store |v_#length_6| |v_ULTIMATE.start_main_~#checkPool~0#1.base_2| 4)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#checkPool~0#1.base_2|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#checkPool~0#1.offset=|v_ULTIMATE.start_main_~#checkPool~0#1.offset_2|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_5|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#checkPool~0#1.base=|v_ULTIMATE.start_main_~#checkPool~0#1.base_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#checkPool~0#1.offset, #valid, #length, ULTIMATE.start_main_~#checkPool~0#1.base] {143279#true} is VALID [2022-02-20 21:01:19,830 INFO L290 TraceCheckUtils]: 21: Hoare triple {143279#true} [310] L701-->L702-5: Formula: (= v_~i~0_2 0) InVars {} OutVars{~i~0=v_~i~0_2} AuxVars[] AssignedVars[~i~0] {143350#(<= ~i~0 0)} is VALID [2022-02-20 21:01:19,830 INFO L290 TraceCheckUtils]: 22: Hoare triple {143350#(<= ~i~0 0)} [249] L702-5-->L703: Formula: (< v_~i~0_4 40) InVars {~i~0=v_~i~0_4} OutVars{~i~0=v_~i~0_4} AuxVars[] AssignedVars[] {143350#(<= ~i~0 0)} is VALID [2022-02-20 21:01:19,830 INFO L290 TraceCheckUtils]: 23: Hoare triple {143350#(<= ~i~0 0)} [252] L703-->L703-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] {143350#(<= ~i~0 0)} is VALID [2022-02-20 21:01:19,831 INFO L290 TraceCheckUtils]: 24: Hoare triple {143350#(<= ~i~0 0)} [302] L703-1-->L703-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {143350#(<= ~i~0 0)} is VALID [2022-02-20 21:01:19,831 INFO L290 TraceCheckUtils]: 25: Hoare triple {143350#(<= ~i~0 0)} [276] L703-2-->L703-3: Formula: (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#setPool~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#setPool~0#1.base_3|) (+ |v_ULTIMATE.start_main_~#setPool~0#1.offset_3| (* 4 v_~i~0_5)) |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|) InVars {#memory_int=|v_#memory_int_5|, ~i~0=v_~i~0_5, ULTIMATE.start_main_~#setPool~0#1.offset=|v_ULTIMATE.start_main_~#setPool~0#1.offset_3|, ULTIMATE.start_main_~#setPool~0#1.base=|v_ULTIMATE.start_main_~#setPool~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{#memory_int=|v_#memory_int_4|, ~i~0=v_~i~0_5, ULTIMATE.start_main_~#setPool~0#1.offset=|v_ULTIMATE.start_main_~#setPool~0#1.offset_3|, ULTIMATE.start_main_~#setPool~0#1.base=|v_ULTIMATE.start_main_~#setPool~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] {143350#(<= ~i~0 0)} is VALID [2022-02-20 21:01:19,831 INFO L290 TraceCheckUtils]: 26: Hoare triple {143350#(<= ~i~0 0)} [352] L703-3-->setThreadENTRY: Formula: (and (= 0 |v_setThreadThread1of2ForFork0_#in~param.base_4|) (= |v_ULTIMATE.start_main_#t~pre2#1_8| v_setThreadThread1of2ForFork0_thidvar0_2) (= 0 |v_setThreadThread1of2ForFork0_#in~param.offset_4|)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_8|} OutVars{setThreadThread1of2ForFork0_~param.offset=v_setThreadThread1of2ForFork0_~param.offset_4, setThreadThread1of2ForFork0_#in~param.base=|v_setThreadThread1of2ForFork0_#in~param.base_4|, setThreadThread1of2ForFork0_#res.base=|v_setThreadThread1of2ForFork0_#res.base_4|, setThreadThread1of2ForFork0_#in~param.offset=|v_setThreadThread1of2ForFork0_#in~param.offset_4|, setThreadThread1of2ForFork0_~param.base=v_setThreadThread1of2ForFork0_~param.base_4, setThreadThread1of2ForFork0_thidvar0=v_setThreadThread1of2ForFork0_thidvar0_2, setThreadThread1of2ForFork0_#res.offset=|v_setThreadThread1of2ForFork0_#res.offset_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_8|} AuxVars[] AssignedVars[setThreadThread1of2ForFork0_~param.offset, setThreadThread1of2ForFork0_#in~param.base, setThreadThread1of2ForFork0_#res.base, setThreadThread1of2ForFork0_#in~param.offset, setThreadThread1of2ForFork0_~param.base, setThreadThread1of2ForFork0_thidvar0, setThreadThread1of2ForFork0_#res.offset] {143350#(<= ~i~0 0)} is VALID [2022-02-20 21:01:19,832 INFO L290 TraceCheckUtils]: 27: Hoare triple {143350#(<= ~i~0 0)} [296] L703-4-->L703-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] {143350#(<= ~i~0 0)} is VALID [2022-02-20 21:01:19,832 INFO L290 TraceCheckUtils]: 28: Hoare triple {143350#(<= ~i~0 0)} [275] L703-5-->L702-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] {143350#(<= ~i~0 0)} is VALID [2022-02-20 21:01:19,833 INFO L290 TraceCheckUtils]: 29: Hoare triple {143350#(<= ~i~0 0)} [291] L702-2-->L702-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| v_~i~0_6) InVars {~i~0=v_~i~0_6} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ~i~0=v_~i~0_6} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] {143375#(<= |ULTIMATE.start_main_#t~post1#1| 0)} is VALID [2022-02-20 21:01:19,833 INFO L290 TraceCheckUtils]: 30: Hoare triple {143375#(<= |ULTIMATE.start_main_#t~post1#1| 0)} [265] L702-3-->L702-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) v_~i~0_7) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ~i~0=v_~i~0_7} AuxVars[] AssignedVars[~i~0] {143283#(<= ~i~0 1)} is VALID [2022-02-20 21:01:19,834 INFO L290 TraceCheckUtils]: 31: Hoare triple {143283#(<= ~i~0 1)} [308] L702-4-->L702-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] {143283#(<= ~i~0 1)} is VALID [2022-02-20 21:01:19,834 INFO L290 TraceCheckUtils]: 32: Hoare triple {143283#(<= ~i~0 1)} [248] L702-5-->L702-6: Formula: (not (< v_~i~0_3 40)) InVars {~i~0=v_~i~0_3} OutVars{~i~0=v_~i~0_3} AuxVars[] AssignedVars[] {143280#false} is VALID [2022-02-20 21:01:19,834 INFO L290 TraceCheckUtils]: 33: Hoare triple {143280#false} [323] L702-6-->L704-5: Formula: (= v_~i~0_8 0) InVars {} OutVars{~i~0=v_~i~0_8} AuxVars[] AssignedVars[~i~0] {143280#false} is VALID [2022-02-20 21:01:19,834 INFO L290 TraceCheckUtils]: 34: Hoare triple {143280#false} [280] L704-5-->L705: Formula: (< v_~i~0_10 1) InVars {~i~0=v_~i~0_10} OutVars{~i~0=v_~i~0_10} AuxVars[] AssignedVars[] {143280#false} is VALID [2022-02-20 21:01:19,834 INFO L290 TraceCheckUtils]: 35: Hoare triple {143280#false} [287] L705-->L705-1: Formula: (= |v_ULTIMATE.start_main_#t~pre5#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_2|, #pthreadsForks=|v_#pthreadsForks_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1] {143280#false} is VALID [2022-02-20 21:01:19,835 INFO L290 TraceCheckUtils]: 36: Hoare triple {143280#false} [314] L705-1-->L705-2: Formula: (= (+ 1 |v_#pthreadsForks_6|) |v_#pthreadsForks_5|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_5|} AuxVars[] AssignedVars[#pthreadsForks] {143280#false} is VALID [2022-02-20 21:01:19,835 INFO L290 TraceCheckUtils]: 37: Hoare triple {143280#false} [309] L705-2-->L705-3: Formula: (= (store |v_#memory_int_7| |v_ULTIMATE.start_main_~#checkPool~0#1.base_3| (store (select |v_#memory_int_7| |v_ULTIMATE.start_main_~#checkPool~0#1.base_3|) (+ |v_ULTIMATE.start_main_~#checkPool~0#1.offset_3| (* v_~i~0_11 4)) |v_ULTIMATE.start_main_#t~pre5#1_3|)) |v_#memory_int_6|) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_3|, #memory_int=|v_#memory_int_7|, ULTIMATE.start_main_~#checkPool~0#1.offset=|v_ULTIMATE.start_main_~#checkPool~0#1.offset_3|, ~i~0=v_~i~0_11, ULTIMATE.start_main_~#checkPool~0#1.base=|v_ULTIMATE.start_main_~#checkPool~0#1.base_3|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_3|, #memory_int=|v_#memory_int_6|, ULTIMATE.start_main_~#checkPool~0#1.offset=|v_ULTIMATE.start_main_~#checkPool~0#1.offset_3|, ~i~0=v_~i~0_11, ULTIMATE.start_main_~#checkPool~0#1.base=|v_ULTIMATE.start_main_~#checkPool~0#1.base_3|} AuxVars[] AssignedVars[#memory_int] {143280#false} is VALID [2022-02-20 21:01:19,835 INFO L290 TraceCheckUtils]: 38: Hoare triple {143280#false} [355] L705-3-->checkThreadENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre5#1_8| v_checkThreadThread1of2ForFork1_thidvar0_2) (= |v_checkThreadThread1of2ForFork1_#in~param.offset_4| 0) (= |v_checkThreadThread1of2ForFork1_#in~param.base_4| 0)) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_8|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_8|, checkThreadThread1of2ForFork1_#res.offset=|v_checkThreadThread1of2ForFork1_#res.offset_4|, checkThreadThread1of2ForFork1_~param.base=v_checkThreadThread1of2ForFork1_~param.base_4, checkThreadThread1of2ForFork1_~param.offset=v_checkThreadThread1of2ForFork1_~param.offset_4, checkThreadThread1of2ForFork1_thidvar0=v_checkThreadThread1of2ForFork1_thidvar0_2, checkThreadThread1of2ForFork1_#in~param.offset=|v_checkThreadThread1of2ForFork1_#in~param.offset_4|, checkThreadThread1of2ForFork1_#res.base=|v_checkThreadThread1of2ForFork1_#res.base_4|, checkThreadThread1of2ForFork1_#in~param.base=|v_checkThreadThread1of2ForFork1_#in~param.base_4|} AuxVars[] AssignedVars[checkThreadThread1of2ForFork1_#res.offset, checkThreadThread1of2ForFork1_~param.base, checkThreadThread1of2ForFork1_~param.offset, checkThreadThread1of2ForFork1_thidvar0, checkThreadThread1of2ForFork1_#in~param.offset, checkThreadThread1of2ForFork1_#res.base, checkThreadThread1of2ForFork1_#in~param.base] {143280#false} is VALID [2022-02-20 21:01:19,835 INFO L290 TraceCheckUtils]: 39: Hoare triple {143280#false} [335] checkThreadENTRY-->L695: Formula: (and (= v_checkThreadThread1of2ForFork1_~param.offset_1 |v_checkThreadThread1of2ForFork1_#in~param.offset_1|) (= v_checkThreadThread1of2ForFork1_~param.base_1 |v_checkThreadThread1of2ForFork1_#in~param.base_1|)) InVars {checkThreadThread1of2ForFork1_#in~param.offset=|v_checkThreadThread1of2ForFork1_#in~param.offset_1|, checkThreadThread1of2ForFork1_#in~param.base=|v_checkThreadThread1of2ForFork1_#in~param.base_1|} OutVars{checkThreadThread1of2ForFork1_#in~param.offset=|v_checkThreadThread1of2ForFork1_#in~param.offset_1|, checkThreadThread1of2ForFork1_~param.base=v_checkThreadThread1of2ForFork1_~param.base_1, checkThreadThread1of2ForFork1_~param.offset=v_checkThreadThread1of2ForFork1_~param.offset_1, checkThreadThread1of2ForFork1_#in~param.base=|v_checkThreadThread1of2ForFork1_#in~param.base_1|} AuxVars[] AssignedVars[checkThreadThread1of2ForFork1_~param.base, checkThreadThread1of2ForFork1_~param.offset] {143280#false} is VALID [2022-02-20 21:01:19,835 INFO L290 TraceCheckUtils]: 40: Hoare triple {143280#false} [337] L695-->L696: Formula: (and (or (not (= v_~a~0_3 1)) (not (= (- 1) v_~b~0_3))) (or (not (= v_~b~0_3 0)) (not (= v_~a~0_3 0)))) InVars {~a~0=v_~a~0_3, ~b~0=v_~b~0_3} OutVars{~a~0=v_~a~0_3, ~b~0=v_~b~0_3} AuxVars[] AssignedVars[] {143280#false} is VALID [2022-02-20 21:01:19,836 INFO L290 TraceCheckUtils]: 41: Hoare triple {143280#false} [339] L696-->checkThreadErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {143280#false} is VALID [2022-02-20 21:01:19,836 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 21:01:19,836 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 21:01:19,955 INFO L290 TraceCheckUtils]: 41: Hoare triple {143280#false} [339] L696-->checkThreadErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {143280#false} is VALID [2022-02-20 21:01:19,956 INFO L290 TraceCheckUtils]: 40: Hoare triple {143280#false} [337] L695-->L696: Formula: (and (or (not (= v_~a~0_3 1)) (not (= (- 1) v_~b~0_3))) (or (not (= v_~b~0_3 0)) (not (= v_~a~0_3 0)))) InVars {~a~0=v_~a~0_3, ~b~0=v_~b~0_3} OutVars{~a~0=v_~a~0_3, ~b~0=v_~b~0_3} AuxVars[] AssignedVars[] {143280#false} is VALID [2022-02-20 21:01:19,956 INFO L290 TraceCheckUtils]: 39: Hoare triple {143280#false} [335] checkThreadENTRY-->L695: Formula: (and (= v_checkThreadThread1of2ForFork1_~param.offset_1 |v_checkThreadThread1of2ForFork1_#in~param.offset_1|) (= v_checkThreadThread1of2ForFork1_~param.base_1 |v_checkThreadThread1of2ForFork1_#in~param.base_1|)) InVars {checkThreadThread1of2ForFork1_#in~param.offset=|v_checkThreadThread1of2ForFork1_#in~param.offset_1|, checkThreadThread1of2ForFork1_#in~param.base=|v_checkThreadThread1of2ForFork1_#in~param.base_1|} OutVars{checkThreadThread1of2ForFork1_#in~param.offset=|v_checkThreadThread1of2ForFork1_#in~param.offset_1|, checkThreadThread1of2ForFork1_~param.base=v_checkThreadThread1of2ForFork1_~param.base_1, checkThreadThread1of2ForFork1_~param.offset=v_checkThreadThread1of2ForFork1_~param.offset_1, checkThreadThread1of2ForFork1_#in~param.base=|v_checkThreadThread1of2ForFork1_#in~param.base_1|} AuxVars[] AssignedVars[checkThreadThread1of2ForFork1_~param.base, checkThreadThread1of2ForFork1_~param.offset] {143280#false} is VALID [2022-02-20 21:01:19,956 INFO L290 TraceCheckUtils]: 38: Hoare triple {143280#false} [355] L705-3-->checkThreadENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre5#1_8| v_checkThreadThread1of2ForFork1_thidvar0_2) (= |v_checkThreadThread1of2ForFork1_#in~param.offset_4| 0) (= |v_checkThreadThread1of2ForFork1_#in~param.base_4| 0)) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_8|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_8|, checkThreadThread1of2ForFork1_#res.offset=|v_checkThreadThread1of2ForFork1_#res.offset_4|, checkThreadThread1of2ForFork1_~param.base=v_checkThreadThread1of2ForFork1_~param.base_4, checkThreadThread1of2ForFork1_~param.offset=v_checkThreadThread1of2ForFork1_~param.offset_4, checkThreadThread1of2ForFork1_thidvar0=v_checkThreadThread1of2ForFork1_thidvar0_2, checkThreadThread1of2ForFork1_#in~param.offset=|v_checkThreadThread1of2ForFork1_#in~param.offset_4|, checkThreadThread1of2ForFork1_#res.base=|v_checkThreadThread1of2ForFork1_#res.base_4|, checkThreadThread1of2ForFork1_#in~param.base=|v_checkThreadThread1of2ForFork1_#in~param.base_4|} AuxVars[] AssignedVars[checkThreadThread1of2ForFork1_#res.offset, checkThreadThread1of2ForFork1_~param.base, checkThreadThread1of2ForFork1_~param.offset, checkThreadThread1of2ForFork1_thidvar0, checkThreadThread1of2ForFork1_#in~param.offset, checkThreadThread1of2ForFork1_#res.base, checkThreadThread1of2ForFork1_#in~param.base] {143280#false} is VALID [2022-02-20 21:01:19,956 INFO L290 TraceCheckUtils]: 37: Hoare triple {143280#false} [309] L705-2-->L705-3: Formula: (= (store |v_#memory_int_7| |v_ULTIMATE.start_main_~#checkPool~0#1.base_3| (store (select |v_#memory_int_7| |v_ULTIMATE.start_main_~#checkPool~0#1.base_3|) (+ |v_ULTIMATE.start_main_~#checkPool~0#1.offset_3| (* v_~i~0_11 4)) |v_ULTIMATE.start_main_#t~pre5#1_3|)) |v_#memory_int_6|) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_3|, #memory_int=|v_#memory_int_7|, ULTIMATE.start_main_~#checkPool~0#1.offset=|v_ULTIMATE.start_main_~#checkPool~0#1.offset_3|, ~i~0=v_~i~0_11, ULTIMATE.start_main_~#checkPool~0#1.base=|v_ULTIMATE.start_main_~#checkPool~0#1.base_3|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_3|, #memory_int=|v_#memory_int_6|, ULTIMATE.start_main_~#checkPool~0#1.offset=|v_ULTIMATE.start_main_~#checkPool~0#1.offset_3|, ~i~0=v_~i~0_11, ULTIMATE.start_main_~#checkPool~0#1.base=|v_ULTIMATE.start_main_~#checkPool~0#1.base_3|} AuxVars[] AssignedVars[#memory_int] {143280#false} is VALID [2022-02-20 21:01:19,957 INFO L290 TraceCheckUtils]: 36: Hoare triple {143280#false} [314] L705-1-->L705-2: Formula: (= (+ 1 |v_#pthreadsForks_6|) |v_#pthreadsForks_5|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_5|} AuxVars[] AssignedVars[#pthreadsForks] {143280#false} is VALID [2022-02-20 21:01:19,957 INFO L290 TraceCheckUtils]: 35: Hoare triple {143280#false} [287] L705-->L705-1: Formula: (= |v_ULTIMATE.start_main_#t~pre5#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_2|, #pthreadsForks=|v_#pthreadsForks_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1] {143280#false} is VALID [2022-02-20 21:01:19,957 INFO L290 TraceCheckUtils]: 34: Hoare triple {143280#false} [280] L704-5-->L705: Formula: (< v_~i~0_10 1) InVars {~i~0=v_~i~0_10} OutVars{~i~0=v_~i~0_10} AuxVars[] AssignedVars[] {143280#false} is VALID [2022-02-20 21:01:19,957 INFO L290 TraceCheckUtils]: 33: Hoare triple {143280#false} [323] L702-6-->L704-5: Formula: (= v_~i~0_8 0) InVars {} OutVars{~i~0=v_~i~0_8} AuxVars[] AssignedVars[~i~0] {143280#false} is VALID [2022-02-20 21:01:19,957 INFO L290 TraceCheckUtils]: 32: Hoare triple {143439#(< ~i~0 40)} [248] L702-5-->L702-6: Formula: (not (< v_~i~0_3 40)) InVars {~i~0=v_~i~0_3} OutVars{~i~0=v_~i~0_3} AuxVars[] AssignedVars[] {143280#false} is VALID [2022-02-20 21:01:19,958 INFO L290 TraceCheckUtils]: 31: Hoare triple {143439#(< ~i~0 40)} [308] L702-4-->L702-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] {143439#(< ~i~0 40)} is VALID [2022-02-20 21:01:19,958 INFO L290 TraceCheckUtils]: 30: Hoare triple {143446#(< |ULTIMATE.start_main_#t~post1#1| 39)} [265] L702-3-->L702-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) v_~i~0_7) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ~i~0=v_~i~0_7} AuxVars[] AssignedVars[~i~0] {143439#(< ~i~0 40)} is VALID [2022-02-20 21:01:19,959 INFO L290 TraceCheckUtils]: 29: Hoare triple {143450#(< ~i~0 39)} [291] L702-2-->L702-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| v_~i~0_6) InVars {~i~0=v_~i~0_6} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ~i~0=v_~i~0_6} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] {143446#(< |ULTIMATE.start_main_#t~post1#1| 39)} is VALID [2022-02-20 21:01:19,959 INFO L290 TraceCheckUtils]: 28: Hoare triple {143450#(< ~i~0 39)} [275] L703-5-->L702-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] {143450#(< ~i~0 39)} is VALID [2022-02-20 21:01:19,959 INFO L290 TraceCheckUtils]: 27: Hoare triple {143450#(< ~i~0 39)} [296] L703-4-->L703-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] {143450#(< ~i~0 39)} is VALID [2022-02-20 21:01:19,960 INFO L290 TraceCheckUtils]: 26: Hoare triple {143450#(< ~i~0 39)} [352] L703-3-->setThreadENTRY: Formula: (and (= 0 |v_setThreadThread1of2ForFork0_#in~param.base_4|) (= |v_ULTIMATE.start_main_#t~pre2#1_8| v_setThreadThread1of2ForFork0_thidvar0_2) (= 0 |v_setThreadThread1of2ForFork0_#in~param.offset_4|)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_8|} OutVars{setThreadThread1of2ForFork0_~param.offset=v_setThreadThread1of2ForFork0_~param.offset_4, setThreadThread1of2ForFork0_#in~param.base=|v_setThreadThread1of2ForFork0_#in~param.base_4|, setThreadThread1of2ForFork0_#res.base=|v_setThreadThread1of2ForFork0_#res.base_4|, setThreadThread1of2ForFork0_#in~param.offset=|v_setThreadThread1of2ForFork0_#in~param.offset_4|, setThreadThread1of2ForFork0_~param.base=v_setThreadThread1of2ForFork0_~param.base_4, setThreadThread1of2ForFork0_thidvar0=v_setThreadThread1of2ForFork0_thidvar0_2, setThreadThread1of2ForFork0_#res.offset=|v_setThreadThread1of2ForFork0_#res.offset_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_8|} AuxVars[] AssignedVars[setThreadThread1of2ForFork0_~param.offset, setThreadThread1of2ForFork0_#in~param.base, setThreadThread1of2ForFork0_#res.base, setThreadThread1of2ForFork0_#in~param.offset, setThreadThread1of2ForFork0_~param.base, setThreadThread1of2ForFork0_thidvar0, setThreadThread1of2ForFork0_#res.offset] {143450#(< ~i~0 39)} is VALID [2022-02-20 21:01:19,960 INFO L290 TraceCheckUtils]: 25: Hoare triple {143450#(< ~i~0 39)} [276] L703-2-->L703-3: Formula: (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#setPool~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#setPool~0#1.base_3|) (+ |v_ULTIMATE.start_main_~#setPool~0#1.offset_3| (* 4 v_~i~0_5)) |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|) InVars {#memory_int=|v_#memory_int_5|, ~i~0=v_~i~0_5, ULTIMATE.start_main_~#setPool~0#1.offset=|v_ULTIMATE.start_main_~#setPool~0#1.offset_3|, ULTIMATE.start_main_~#setPool~0#1.base=|v_ULTIMATE.start_main_~#setPool~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{#memory_int=|v_#memory_int_4|, ~i~0=v_~i~0_5, ULTIMATE.start_main_~#setPool~0#1.offset=|v_ULTIMATE.start_main_~#setPool~0#1.offset_3|, ULTIMATE.start_main_~#setPool~0#1.base=|v_ULTIMATE.start_main_~#setPool~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] {143450#(< ~i~0 39)} is VALID [2022-02-20 21:01:19,961 INFO L290 TraceCheckUtils]: 24: Hoare triple {143450#(< ~i~0 39)} [302] L703-1-->L703-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {143450#(< ~i~0 39)} is VALID [2022-02-20 21:01:19,961 INFO L290 TraceCheckUtils]: 23: Hoare triple {143450#(< ~i~0 39)} [252] L703-->L703-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] {143450#(< ~i~0 39)} is VALID [2022-02-20 21:01:19,961 INFO L290 TraceCheckUtils]: 22: Hoare triple {143450#(< ~i~0 39)} [249] L702-5-->L703: Formula: (< v_~i~0_4 40) InVars {~i~0=v_~i~0_4} OutVars{~i~0=v_~i~0_4} AuxVars[] AssignedVars[] {143450#(< ~i~0 39)} is VALID [2022-02-20 21:01:19,962 INFO L290 TraceCheckUtils]: 21: Hoare triple {143279#true} [310] L701-->L702-5: Formula: (= v_~i~0_2 0) InVars {} OutVars{~i~0=v_~i~0_2} AuxVars[] AssignedVars[~i~0] {143450#(< ~i~0 39)} is VALID [2022-02-20 21:01:19,962 INFO L290 TraceCheckUtils]: 20: Hoare triple {143279#true} [321] L700-1-->L701: Formula: (and (= |v_ULTIMATE.start_main_~#checkPool~0#1.offset_2| 0) (not (= |v_ULTIMATE.start_main_~#checkPool~0#1.base_2| 0)) (< |v_#StackHeapBarrier_3| |v_ULTIMATE.start_main_~#checkPool~0#1.base_2|) (= |v_#valid_6| (store |v_#valid_7| |v_ULTIMATE.start_main_~#checkPool~0#1.base_2| 1)) (= |v_#length_5| (store |v_#length_6| |v_ULTIMATE.start_main_~#checkPool~0#1.base_2| 4)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#checkPool~0#1.base_2|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#checkPool~0#1.offset=|v_ULTIMATE.start_main_~#checkPool~0#1.offset_2|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_5|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#checkPool~0#1.base=|v_ULTIMATE.start_main_~#checkPool~0#1.base_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#checkPool~0#1.offset, #valid, #length, ULTIMATE.start_main_~#checkPool~0#1.base] {143279#true} is VALID [2022-02-20 21:01:19,962 INFO L290 TraceCheckUtils]: 19: Hoare triple {143279#true} [318] L700-->L700-1: Formula: (and (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#setPool~0#1.base_2|) 0) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#setPool~0#1.base_2| 160) |v_#length_3|) (= |v_ULTIMATE.start_main_~#setPool~0#1.offset_2| 0) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#setPool~0#1.base_2|) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#setPool~0#1.base_2| 1)) (not (= |v_ULTIMATE.start_main_~#setPool~0#1.base_2| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#setPool~0#1.offset=|v_ULTIMATE.start_main_~#setPool~0#1.offset_2|, ULTIMATE.start_main_~#setPool~0#1.base=|v_ULTIMATE.start_main_~#setPool~0#1.base_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#setPool~0#1.base, #valid, #length, ULTIMATE.start_main_~#setPool~0#1.offset] {143279#true} is VALID [2022-02-20 21:01:19,962 INFO L290 TraceCheckUtils]: 18: Hoare triple {143279#true} [261] L699-1-->L700: Formula: (and (= |v_ULTIMATE.start_main_~argv#1.offset_2| |v_ULTIMATE.start_main_#in~argv#1.offset_2|) (= |v_ULTIMATE.start_main_#in~argv#1.base_2| |v_ULTIMATE.start_main_~argv#1.base_2|)) InVars {ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|} OutVars{ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~argv#1.offset] {143279#true} is VALID [2022-02-20 21:01:19,962 INFO L290 TraceCheckUtils]: 17: Hoare triple {143279#true} [292] L699-->L699-1: Formula: (= |v_ULTIMATE.start_main_#in~argc#1_2| |v_ULTIMATE.start_main_~argc#1_2|) InVars {ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_2|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1] {143279#true} is VALID [2022-02-20 21:01:19,962 INFO L290 TraceCheckUtils]: 16: Hoare triple {143279#true} [256] L-1-7-->L699: Formula: true InVars {} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_1|, ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_1|, ULTIMATE.start_main_#t~mem8#1=|v_ULTIMATE.start_main_#t~mem8#1_1|, ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_1|, ULTIMATE.start_main_~#setPool~0#1.base=|v_ULTIMATE.start_main_~#setPool~0#1.base_1|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_1|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_1|, ULTIMATE.start_main_~#checkPool~0#1.offset=|v_ULTIMATE.start_main_~#checkPool~0#1.offset_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_#t~post7#1=|v_ULTIMATE.start_main_#t~post7#1_1|, ULTIMATE.start_main_#t~post9#1=|v_ULTIMATE.start_main_#t~post9#1_1|, ULTIMATE.start_main_#t~post4#1=|v_ULTIMATE.start_main_#t~post4#1_1|, ULTIMATE.start_main_~#setPool~0#1.offset=|v_ULTIMATE.start_main_~#setPool~0#1.offset_1|, ULTIMATE.start_main_~#checkPool~0#1.base=|v_ULTIMATE.start_main_~#checkPool~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1, ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_#t~mem8#1, ULTIMATE.start_main_#t~nondet6#1, ULTIMATE.start_main_~#setPool~0#1.base, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~mem10#1, ULTIMATE.start_main_#t~pre2#1, ULTIMATE.start_main_#t~pre5#1, ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~#checkPool~0#1.offset, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_#t~post7#1, ULTIMATE.start_main_#t~post9#1, ULTIMATE.start_main_#t~post4#1, ULTIMATE.start_main_~#setPool~0#1.offset, ULTIMATE.start_main_~#checkPool~0#1.base] {143279#true} is VALID [2022-02-20 21:01:19,963 INFO L290 TraceCheckUtils]: 15: Hoare triple {143279#true} [293] 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] {143279#true} is VALID [2022-02-20 21:01:19,963 INFO L290 TraceCheckUtils]: 14: Hoare triple {143279#true} [258] L-1-5-->L-1-6: Formula: (and (= |v_ULTIMATE.start_#in~argv#1.offset_1| |v_ULTIMATE.start_main_#in~argv#1.offset_1|) (= |v_ULTIMATE.start_main_#in~argv#1.base_1| |v_ULTIMATE.start_#in~argv#1.base_1|) (= |v_ULTIMATE.start_main_#in~argc#1_1| |v_ULTIMATE.start_#in~argc#1_1|)) InVars {ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} OutVars{ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_1|, ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_1|, ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#in~argv#1.base, ULTIMATE.start_main_#in~argc#1, ULTIMATE.start_main_#in~argv#1.offset] {143279#true} is VALID [2022-02-20 21:01:19,963 INFO L290 TraceCheckUtils]: 13: Hoare triple {143279#true} [295] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {143279#true} is VALID [2022-02-20 21:01:19,963 INFO L290 TraceCheckUtils]: 12: Hoare triple {143279#true} [319] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {143279#true} is VALID [2022-02-20 21:01:19,963 INFO L290 TraceCheckUtils]: 11: Hoare triple {143279#true} [239] L684-->L-1-3: Formula: (= v_~i~0_1 0) InVars {} OutVars{~i~0=v_~i~0_1} AuxVars[] AssignedVars[~i~0] {143279#true} is VALID [2022-02-20 21:01:19,963 INFO L290 TraceCheckUtils]: 10: Hoare triple {143279#true} [253] L683-->L684: Formula: (= v_~b~0_4 0) InVars {} OutVars{~b~0=v_~b~0_4} AuxVars[] AssignedVars[~b~0] {143279#true} is VALID [2022-02-20 21:01:19,964 INFO L290 TraceCheckUtils]: 9: Hoare triple {143279#true} [269] L680-5-->L683: Formula: (= v_~a~0_4 0) InVars {} OutVars{~a~0=v_~a~0_4} AuxVars[] AssignedVars[~a~0] {143279#true} is VALID [2022-02-20 21:01:19,964 INFO L290 TraceCheckUtils]: 8: Hoare triple {143279#true} [305] L680-4-->L680-5: Formula: (= (select (select |v_#memory_int_3| 2) 0) 0) InVars {#memory_int=|v_#memory_int_3|} OutVars{#memory_int=|v_#memory_int_3|} AuxVars[] AssignedVars[] {143279#true} is VALID [2022-02-20 21:01:19,964 INFO L290 TraceCheckUtils]: 7: Hoare triple {143279#true} [286] L680-3-->L680-4: Formula: (and (= (select |v_#valid_3| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {143279#true} is VALID [2022-02-20 21:01:19,964 INFO L290 TraceCheckUtils]: 6: Hoare triple {143279#true} [315] L680-2-->L680-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[] {143279#true} is VALID [2022-02-20 21:01:19,964 INFO L290 TraceCheckUtils]: 5: Hoare triple {143279#true} [271] L680-1-->L680-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[] {143279#true} is VALID [2022-02-20 21:01:19,964 INFO L290 TraceCheckUtils]: 4: Hoare triple {143279#true} [312] L680-->L680-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[] {143279#true} is VALID [2022-02-20 21:01:19,965 INFO L290 TraceCheckUtils]: 3: Hoare triple {143279#true} [317] L-1-2-->L680: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {143279#true} is VALID [2022-02-20 21:01:19,965 INFO L290 TraceCheckUtils]: 2: Hoare triple {143279#true} [316] L-1-1-->L-1-2: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] {143279#true} is VALID [2022-02-20 21:01:19,965 INFO L290 TraceCheckUtils]: 1: Hoare triple {143279#true} [289] L-1-->L-1-1: Formula: (and (= |v_#NULL.base_1| 0) (= |v_#NULL.offset_1| 0)) InVars {} OutVars{#NULL.offset=|v_#NULL.offset_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {143279#true} is VALID [2022-02-20 21:01:19,965 INFO L290 TraceCheckUtils]: 0: Hoare triple {143279#true} [307] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {143279#true} is VALID [2022-02-20 21:01:19,965 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 21:01:19,966 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [4754264] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 21:01:19,966 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 21:01:19,966 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 10 [2022-02-20 21:01:19,966 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1257520327] [2022-02-20 21:01:19,966 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 21:01:19,967 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 6.4) internal successors, (64), 10 states have internal predecessors, (64), 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 42 [2022-02-20 21:01:19,967 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:01:19,967 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 6.4) internal successors, (64), 10 states have internal predecessors, (64), 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 21:01:20,003 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:01:20,004 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-02-20 21:01:20,004 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:01:20,004 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-02-20 21:01:20,004 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=60, Unknown=0, NotChecked=0, Total=90 [2022-02-20 21:01:20,005 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 63 out of 110 [2022-02-20 21:01:20,006 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 107 places, 106 transitions, 300 flow. Second operand has 10 states, 10 states have (on average 65.8) internal successors, (658), 10 states have internal predecessors, (658), 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 21:01:20,006 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 21:01:20,006 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 63 of 110 [2022-02-20 21:01:20,006 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 21:01:20,088 INFO L129 PetriNetUnfolder]: 0/57 cut-off events. [2022-02-20 21:01:20,089 INFO L130 PetriNetUnfolder]: For 5/5 co-relation queries the response was YES. [2022-02-20 21:01:20,089 INFO L84 FinitePrefix]: Finished finitePrefix Result has 94 conditions, 57 events. 0/57 cut-off events. For 5/5 co-relation queries the response was YES. Maximal size of possible extension queue 2. Compared 20 event pairs, 0 based on Foata normal form. 2/59 useless extension candidates. Maximal degree in co-relation 0. Up to 6 conditions per place. [2022-02-20 21:01:20,089 INFO L132 encePairwiseOnDemand]: 105/110 looper letters, 10 selfloop transitions, 7 changer transitions 0/51 dead transitions. [2022-02-20 21:01:20,089 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 63 places, 51 transitions, 156 flow [2022-02-20 21:01:20,089 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 21:01:20,090 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2022-02-20 21:01:20,094 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 586 transitions. [2022-02-20 21:01:20,094 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.591919191919192 [2022-02-20 21:01:20,094 INFO L72 ComplementDD]: Start complementDD. Operand 9 states and 586 transitions. [2022-02-20 21:01:20,094 INFO L73 IsDeterministic]: Start isDeterministic. Operand 9 states and 586 transitions. [2022-02-20 21:01:20,095 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 21:01:20,095 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 9 states and 586 transitions. [2022-02-20 21:01:20,096 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 10 states, 9 states have (on average 65.11111111111111) internal successors, (586), 9 states have internal predecessors, (586), 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 21:01:20,097 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 10 states, 10 states have (on average 110.0) internal successors, (1100), 10 states have internal predecessors, (1100), 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 21:01:20,097 INFO L81 ComplementDD]: Finished complementDD. Result has 10 states, 10 states have (on average 110.0) internal successors, (1100), 10 states have internal predecessors, (1100), 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 21:01:20,097 INFO L186 Difference]: Start difference. First operand has 107 places, 106 transitions, 300 flow. Second operand 9 states and 586 transitions. [2022-02-20 21:01:20,097 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 63 places, 51 transitions, 156 flow [2022-02-20 21:01:20,098 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 62 places, 51 transitions, 152 flow, removed 1 selfloop flow, removed 1 redundant places. [2022-02-20 21:01:20,099 INFO L242 Difference]: Finished difference. Result has 62 places, 47 transitions, 124 flow [2022-02-20 21:01:20,099 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=110, PETRI_DIFFERENCE_MINUEND_FLOW=106, PETRI_DIFFERENCE_MINUEND_PLACES=54, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=45, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=5, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=40, PETRI_DIFFERENCE_SUBTRAHEND_STATES=9, PETRI_FLOW=124, PETRI_PLACES=62, PETRI_TRANSITIONS=47} [2022-02-20 21:01:20,100 INFO L334 CegarLoopForPetriNet]: 105 programPoint places, -43 predicate places. [2022-02-20 21:01:20,100 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 62 places, 47 transitions, 124 flow [2022-02-20 21:01:20,104 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 483 states, 482 states have (on average 2.400414937759336) internal successors, (1157), 482 states have internal predecessors, (1157), 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 21:01:20,105 INFO L78 Accepts]: Start accepts. Automaton has has 483 states, 482 states have (on average 2.400414937759336) internal successors, (1157), 482 states have internal predecessors, (1157), 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 42 [2022-02-20 21:01:20,105 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:01:20,105 INFO L470 AbstractCegarLoop]: Abstraction has has 62 places, 47 transitions, 124 flow [2022-02-20 21:01:20,106 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 65.8) internal successors, (658), 10 states have internal predecessors, (658), 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 21:01:20,106 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:01:20,106 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] [2022-02-20 21:01:20,125 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-02-20 21:01:20,322 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable5 [2022-02-20 21:01:20,323 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr1INUSE_VIOLATION === [checkThreadErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION, checkThreadErr0ASSERT_VIOLATIONERROR_FUNCTION (and 1 more)] === [2022-02-20 21:01:20,323 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:01:20,323 INFO L85 PathProgramCache]: Analyzing trace with hash 1479036618, now seen corresponding path program 1 times [2022-02-20 21:01:20,323 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:01:20,323 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1946889885] [2022-02-20 21:01:20,323 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:01:20,324 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:01:20,355 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 21:01:20,357 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-02-20 21:01:20,364 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 21:01:20,384 INFO L138 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-02-20 21:01:20,384 INFO L628 BasicCegarLoop]: Counterexample is feasible [2022-02-20 21:01:20,384 INFO L764 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr1INUSE_VIOLATION (4 of 5 remaining) [2022-02-20 21:01:20,385 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location checkThreadErr0ASSERT_VIOLATIONERROR_FUNCTION (3 of 5 remaining) [2022-02-20 21:01:20,385 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr0INUSE_VIOLATION (2 of 5 remaining) [2022-02-20 21:01:20,385 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location checkThreadErr0ASSERT_VIOLATIONERROR_FUNCTION (1 of 5 remaining) [2022-02-20 21:01:20,385 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location checkThreadErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 5 remaining) [2022-02-20 21:01:20,385 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2022-02-20 21:01:20,386 INFO L732 BasicCegarLoop]: Path program histogram: [1, 1, 1, 1] [2022-02-20 21:01:20,386 WARN L235 ceAbstractionStarter]: 2 thread instances were not sufficient, I will increase this number and restart the analysis [2022-02-20 21:01:20,386 INFO L534 ceAbstractionStarter]: Constructing petrified ICFG for 3 thread instances. [2022-02-20 21:01:20,401 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread1of3ForFork0_#in~param.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,401 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread1of3ForFork0_#in~param.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,401 WARN L322 ript$VariableManager]: TermVariabe setThreadThread1of3ForFork0_~param.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,401 WARN L322 ript$VariableManager]: TermVariabe setThreadThread1of3ForFork0_~param.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,401 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread1of3ForFork0_#in~param.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,402 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread1of3ForFork0_#in~param.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,402 WARN L322 ript$VariableManager]: TermVariabe setThreadThread1of3ForFork0_~param.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,402 WARN L322 ript$VariableManager]: TermVariabe setThreadThread1of3ForFork0_~param.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,402 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread1of3ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,402 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread1of3ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,402 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread1of3ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,402 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread1of3ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,402 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread2of3ForFork0_#in~param.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,403 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread2of3ForFork0_#in~param.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,403 WARN L322 ript$VariableManager]: TermVariabe setThreadThread2of3ForFork0_~param.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,403 WARN L322 ript$VariableManager]: TermVariabe setThreadThread2of3ForFork0_~param.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,403 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread2of3ForFork0_#in~param.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,403 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread2of3ForFork0_#in~param.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,403 WARN L322 ript$VariableManager]: TermVariabe setThreadThread2of3ForFork0_~param.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,403 WARN L322 ript$VariableManager]: TermVariabe setThreadThread2of3ForFork0_~param.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,403 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread2of3ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,404 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread2of3ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,404 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread2of3ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,404 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread2of3ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,404 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread3of3ForFork0_#in~param.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,404 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread3of3ForFork0_#in~param.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,404 WARN L322 ript$VariableManager]: TermVariabe setThreadThread3of3ForFork0_~param.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,404 WARN L322 ript$VariableManager]: TermVariabe setThreadThread3of3ForFork0_~param.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,404 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread3of3ForFork0_#in~param.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,404 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread3of3ForFork0_#in~param.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,405 WARN L322 ript$VariableManager]: TermVariabe setThreadThread3of3ForFork0_~param.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,405 WARN L322 ript$VariableManager]: TermVariabe setThreadThread3of3ForFork0_~param.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,405 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread3of3ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,405 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread3of3ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,405 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread3of3ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,405 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread3of3ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,405 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread1of3ForFork1_#in~param.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,406 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread1of3ForFork1_#in~param.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,406 WARN L322 ript$VariableManager]: TermVariabe checkThreadThread1of3ForFork1_~param.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,406 WARN L322 ript$VariableManager]: TermVariabe checkThreadThread1of3ForFork1_~param.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,406 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread1of3ForFork1_#in~param.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,406 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread1of3ForFork1_#in~param.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,406 WARN L322 ript$VariableManager]: TermVariabe checkThreadThread1of3ForFork1_~param.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,406 WARN L322 ript$VariableManager]: TermVariabe checkThreadThread1of3ForFork1_~param.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,406 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread1of3ForFork1_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,407 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread1of3ForFork1_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,407 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread1of3ForFork1_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,407 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread1of3ForFork1_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,407 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread2of3ForFork1_#in~param.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,407 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread2of3ForFork1_#in~param.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,407 WARN L322 ript$VariableManager]: TermVariabe checkThreadThread2of3ForFork1_~param.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,407 WARN L322 ript$VariableManager]: TermVariabe checkThreadThread2of3ForFork1_~param.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,408 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread2of3ForFork1_#in~param.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,408 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread2of3ForFork1_#in~param.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,408 WARN L322 ript$VariableManager]: TermVariabe checkThreadThread2of3ForFork1_~param.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,408 WARN L322 ript$VariableManager]: TermVariabe checkThreadThread2of3ForFork1_~param.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,408 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread2of3ForFork1_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,408 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread2of3ForFork1_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,408 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread2of3ForFork1_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,408 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread2of3ForFork1_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,409 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread3of3ForFork1_#in~param.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,409 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread3of3ForFork1_#in~param.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,409 WARN L322 ript$VariableManager]: TermVariabe checkThreadThread3of3ForFork1_~param.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,409 WARN L322 ript$VariableManager]: TermVariabe checkThreadThread3of3ForFork1_~param.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,409 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread3of3ForFork1_#in~param.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,409 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread3of3ForFork1_#in~param.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,409 WARN L322 ript$VariableManager]: TermVariabe checkThreadThread3of3ForFork1_~param.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,409 WARN L322 ript$VariableManager]: TermVariabe checkThreadThread3of3ForFork1_~param.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,410 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread3of3ForFork1_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,410 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread3of3ForFork1_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,410 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread3of3ForFork1_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,410 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread3of3ForFork1_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,410 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread1of3ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,411 WARN L322 ript$VariableManager]: TermVariabe setThreadThread1of3ForFork0_~param.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,411 WARN L322 ript$VariableManager]: TermVariabe setThreadThread1of3ForFork0_~param.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,411 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread1of3ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,411 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread2of3ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,411 WARN L322 ript$VariableManager]: TermVariabe setThreadThread2of3ForFork0_~param.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,411 WARN L322 ript$VariableManager]: TermVariabe setThreadThread2of3ForFork0_~param.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,412 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread2of3ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,412 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread3of3ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,412 WARN L322 ript$VariableManager]: TermVariabe setThreadThread3of3ForFork0_~param.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,412 WARN L322 ript$VariableManager]: TermVariabe setThreadThread3of3ForFork0_~param.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,412 WARN L322 ript$VariableManager]: TermVariabe |setThreadThread3of3ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,413 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread1of3ForFork1_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,413 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread1of3ForFork1_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,413 WARN L322 ript$VariableManager]: TermVariabe checkThreadThread1of3ForFork1_~param.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,413 WARN L322 ript$VariableManager]: TermVariabe checkThreadThread1of3ForFork1_~param.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,413 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread2of3ForFork1_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,413 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread2of3ForFork1_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,413 WARN L322 ript$VariableManager]: TermVariabe checkThreadThread2of3ForFork1_~param.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,414 WARN L322 ript$VariableManager]: TermVariabe checkThreadThread2of3ForFork1_~param.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,414 WARN L322 ript$VariableManager]: TermVariabe checkThreadThread3of3ForFork1_~param.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,414 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread3of3ForFork1_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,414 WARN L322 ript$VariableManager]: TermVariabe |checkThreadThread3of3ForFork1_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,414 WARN L322 ript$VariableManager]: TermVariabe checkThreadThread3of3ForFork1_~param.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:01:20,433 INFO L148 ThreadInstanceAdder]: Constructed 12 joinOtherThreadTransitions. [2022-02-20 21:01:20,434 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 21:01:20,435 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 21:01:20,435 INFO L340 AbstractCegarLoop]: Starting to check reachability of 6 error locations. [2022-02-20 21:01:20,436 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 123 places, 129 transitions, 336 flow [2022-02-20 21:01:20,606 INFO L129 PetriNetUnfolder]: 496/2280 cut-off events. [2022-02-20 21:01:20,606 INFO L130 PetriNetUnfolder]: For 419/419 co-relation queries the response was YES. [2022-02-20 21:01:20,622 INFO L84 FinitePrefix]: Finished finitePrefix Result has 2731 conditions, 2280 events. 496/2280 cut-off events. For 419/419 co-relation queries the response was YES. Maximal size of possible extension queue 44. Compared 14991 event pairs, 64 based on Foata normal form. 0/1960 useless extension candidates. Maximal degree in co-relation 1399. Up to 192 conditions per place. [2022-02-20 21:01:20,622 INFO L82 GeneralOperation]: Start removeDead. Operand has 123 places, 129 transitions, 336 flow [2022-02-20 21:01:20,633 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 123 places, 129 transitions, 336 flow [2022-02-20 21:01:20,636 INFO L129 PetriNetUnfolder]: 6/68 cut-off events. [2022-02-20 21:01:20,637 INFO L130 PetriNetUnfolder]: For 0/0 co-relation queries the response was YES. [2022-02-20 21:01:20,637 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:01:20,637 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] [2022-02-20 21:01:20,637 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting checkThreadErr0ASSERT_VIOLATIONERROR_FUNCTION === [checkThreadErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION, checkThreadErr0ASSERT_VIOLATIONERROR_FUNCTION (and 2 more)] === [2022-02-20 21:01:20,637 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:01:20,638 INFO L85 PathProgramCache]: Analyzing trace with hash 1099185159, now seen corresponding path program 1 times [2022-02-20 21:01:20,638 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:01:20,638 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [902837493] [2022-02-20 21:01:20,638 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:01:20,638 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:01:20,647 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:01:20,665 INFO L290 TraceCheckUtils]: 0: Hoare triple {126#true} [434] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {126#true} is VALID [2022-02-20 21:01:20,668 INFO L290 TraceCheckUtils]: 1: Hoare triple {126#true} [416] L-1-->L-1-1: Formula: (and (= |v_#NULL.base_1| 0) (= |v_#NULL.offset_1| 0)) InVars {} OutVars{#NULL.offset=|v_#NULL.offset_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {126#true} is VALID [2022-02-20 21:01:20,668 INFO L290 TraceCheckUtils]: 2: Hoare triple {126#true} [443] L-1-1-->L-1-2: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] {126#true} is VALID [2022-02-20 21:01:20,668 INFO L290 TraceCheckUtils]: 3: Hoare triple {126#true} [444] L-1-2-->L680: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {126#true} is VALID [2022-02-20 21:01:20,668 INFO L290 TraceCheckUtils]: 4: Hoare triple {126#true} [439] L680-->L680-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[] {126#true} is VALID [2022-02-20 21:01:20,669 INFO L290 TraceCheckUtils]: 5: Hoare triple {126#true} [398] L680-1-->L680-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[] {126#true} is VALID [2022-02-20 21:01:20,669 INFO L290 TraceCheckUtils]: 6: Hoare triple {126#true} [442] L680-2-->L680-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[] {126#true} is VALID [2022-02-20 21:01:20,669 INFO L290 TraceCheckUtils]: 7: Hoare triple {126#true} [413] L680-3-->L680-4: Formula: (and (= (select |v_#valid_3| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {126#true} is VALID [2022-02-20 21:01:20,669 INFO L290 TraceCheckUtils]: 8: Hoare triple {126#true} [432] L680-4-->L680-5: Formula: (= (select (select |v_#memory_int_3| 2) 0) 0) InVars {#memory_int=|v_#memory_int_3|} OutVars{#memory_int=|v_#memory_int_3|} AuxVars[] AssignedVars[] {126#true} is VALID [2022-02-20 21:01:20,669 INFO L290 TraceCheckUtils]: 9: Hoare triple {126#true} [396] L680-5-->L683: Formula: (= v_~a~0_4 0) InVars {} OutVars{~a~0=v_~a~0_4} AuxVars[] AssignedVars[~a~0] {126#true} is VALID [2022-02-20 21:01:20,669 INFO L290 TraceCheckUtils]: 10: Hoare triple {126#true} [380] L683-->L684: Formula: (= v_~b~0_4 0) InVars {} OutVars{~b~0=v_~b~0_4} AuxVars[] AssignedVars[~b~0] {126#true} is VALID [2022-02-20 21:01:20,669 INFO L290 TraceCheckUtils]: 11: Hoare triple {126#true} [366] L684-->L-1-3: Formula: (= v_~i~0_1 0) InVars {} OutVars{~i~0=v_~i~0_1} AuxVars[] AssignedVars[~i~0] {126#true} is VALID [2022-02-20 21:01:20,670 INFO L290 TraceCheckUtils]: 12: Hoare triple {126#true} [446] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {126#true} is VALID [2022-02-20 21:01:20,670 INFO L290 TraceCheckUtils]: 13: Hoare triple {126#true} [422] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {126#true} is VALID [2022-02-20 21:01:20,670 INFO L290 TraceCheckUtils]: 14: Hoare triple {126#true} [385] L-1-5-->L-1-6: Formula: (and (= |v_ULTIMATE.start_#in~argv#1.offset_1| |v_ULTIMATE.start_main_#in~argv#1.offset_1|) (= |v_ULTIMATE.start_main_#in~argv#1.base_1| |v_ULTIMATE.start_#in~argv#1.base_1|) (= |v_ULTIMATE.start_main_#in~argc#1_1| |v_ULTIMATE.start_#in~argc#1_1|)) InVars {ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} OutVars{ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_1|, ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_1|, ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#in~argv#1.base, ULTIMATE.start_main_#in~argc#1, ULTIMATE.start_main_#in~argv#1.offset] {126#true} is VALID [2022-02-20 21:01:20,670 INFO L290 TraceCheckUtils]: 15: Hoare triple {126#true} [420] 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] {126#true} is VALID [2022-02-20 21:01:20,670 INFO L290 TraceCheckUtils]: 16: Hoare triple {126#true} [383] L-1-7-->L699: Formula: true InVars {} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_1|, ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_1|, ULTIMATE.start_main_#t~mem8#1=|v_ULTIMATE.start_main_#t~mem8#1_1|, ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_1|, ULTIMATE.start_main_~#setPool~0#1.base=|v_ULTIMATE.start_main_~#setPool~0#1.base_1|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_1|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_1|, ULTIMATE.start_main_~#checkPool~0#1.offset=|v_ULTIMATE.start_main_~#checkPool~0#1.offset_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_#t~post7#1=|v_ULTIMATE.start_main_#t~post7#1_1|, ULTIMATE.start_main_#t~post9#1=|v_ULTIMATE.start_main_#t~post9#1_1|, ULTIMATE.start_main_#t~post4#1=|v_ULTIMATE.start_main_#t~post4#1_1|, ULTIMATE.start_main_~#setPool~0#1.offset=|v_ULTIMATE.start_main_~#setPool~0#1.offset_1|, ULTIMATE.start_main_~#checkPool~0#1.base=|v_ULTIMATE.start_main_~#checkPool~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1, ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_#t~mem8#1, ULTIMATE.start_main_#t~nondet6#1, ULTIMATE.start_main_~#setPool~0#1.base, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~mem10#1, ULTIMATE.start_main_#t~pre2#1, ULTIMATE.start_main_#t~pre5#1, ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~#checkPool~0#1.offset, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_#t~post7#1, ULTIMATE.start_main_#t~post9#1, ULTIMATE.start_main_#t~post4#1, ULTIMATE.start_main_~#setPool~0#1.offset, ULTIMATE.start_main_~#checkPool~0#1.base] {126#true} is VALID [2022-02-20 21:01:20,670 INFO L290 TraceCheckUtils]: 17: Hoare triple {126#true} [419] L699-->L699-1: Formula: (= |v_ULTIMATE.start_main_#in~argc#1_2| |v_ULTIMATE.start_main_~argc#1_2|) InVars {ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_2|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1] {126#true} is VALID [2022-02-20 21:01:20,671 INFO L290 TraceCheckUtils]: 18: Hoare triple {126#true} [388] L699-1-->L700: Formula: (and (= |v_ULTIMATE.start_main_~argv#1.offset_2| |v_ULTIMATE.start_main_#in~argv#1.offset_2|) (= |v_ULTIMATE.start_main_#in~argv#1.base_2| |v_ULTIMATE.start_main_~argv#1.base_2|)) InVars {ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|} OutVars{ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~argv#1.offset] {126#true} is VALID [2022-02-20 21:01:20,671 INFO L290 TraceCheckUtils]: 19: Hoare triple {126#true} [445] L700-->L700-1: Formula: (and (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#setPool~0#1.base_2|) 0) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#setPool~0#1.base_2| 160) |v_#length_3|) (= |v_ULTIMATE.start_main_~#setPool~0#1.offset_2| 0) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#setPool~0#1.base_2|) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#setPool~0#1.base_2| 1)) (not (= |v_ULTIMATE.start_main_~#setPool~0#1.base_2| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#setPool~0#1.offset=|v_ULTIMATE.start_main_~#setPool~0#1.offset_2|, ULTIMATE.start_main_~#setPool~0#1.base=|v_ULTIMATE.start_main_~#setPool~0#1.base_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#setPool~0#1.base, #valid, #length, ULTIMATE.start_main_~#setPool~0#1.offset] {126#true} is VALID [2022-02-20 21:01:20,671 INFO L290 TraceCheckUtils]: 20: Hoare triple {126#true} [448] L700-1-->L701: Formula: (and (= |v_ULTIMATE.start_main_~#checkPool~0#1.offset_2| 0) (not (= |v_ULTIMATE.start_main_~#checkPool~0#1.base_2| 0)) (< |v_#StackHeapBarrier_3| |v_ULTIMATE.start_main_~#checkPool~0#1.base_2|) (= |v_#valid_6| (store |v_#valid_7| |v_ULTIMATE.start_main_~#checkPool~0#1.base_2| 1)) (= |v_#length_5| (store |v_#length_6| |v_ULTIMATE.start_main_~#checkPool~0#1.base_2| 4)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#checkPool~0#1.base_2|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#checkPool~0#1.offset=|v_ULTIMATE.start_main_~#checkPool~0#1.offset_2|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_5|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#checkPool~0#1.base=|v_ULTIMATE.start_main_~#checkPool~0#1.base_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#checkPool~0#1.offset, #valid, #length, ULTIMATE.start_main_~#checkPool~0#1.base] {126#true} is VALID [2022-02-20 21:01:20,672 INFO L290 TraceCheckUtils]: 21: Hoare triple {126#true} [437] L701-->L702-5: Formula: (= v_~i~0_2 0) InVars {} OutVars{~i~0=v_~i~0_2} AuxVars[] AssignedVars[~i~0] {128#(= ~i~0 0)} is VALID [2022-02-20 21:01:20,672 INFO L290 TraceCheckUtils]: 22: Hoare triple {128#(= ~i~0 0)} [375] L702-5-->L702-6: Formula: (not (< v_~i~0_3 40)) InVars {~i~0=v_~i~0_3} OutVars{~i~0=v_~i~0_3} AuxVars[] AssignedVars[] {127#false} is VALID [2022-02-20 21:01:20,672 INFO L290 TraceCheckUtils]: 23: Hoare triple {127#false} [450] L702-6-->L704-5: Formula: (= v_~i~0_8 0) InVars {} OutVars{~i~0=v_~i~0_8} AuxVars[] AssignedVars[~i~0] {127#false} is VALID [2022-02-20 21:01:20,672 INFO L290 TraceCheckUtils]: 24: Hoare triple {127#false} [407] L704-5-->L705: Formula: (< v_~i~0_10 1) InVars {~i~0=v_~i~0_10} OutVars{~i~0=v_~i~0_10} AuxVars[] AssignedVars[] {127#false} is VALID [2022-02-20 21:01:20,672 INFO L290 TraceCheckUtils]: 25: Hoare triple {127#false} [414] L705-->L705-1: Formula: (= |v_ULTIMATE.start_main_#t~pre5#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_2|, #pthreadsForks=|v_#pthreadsForks_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1] {127#false} is VALID [2022-02-20 21:01:20,673 INFO L290 TraceCheckUtils]: 26: Hoare triple {127#false} [441] L705-1-->L705-2: Formula: (= (+ 1 |v_#pthreadsForks_6|) |v_#pthreadsForks_5|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_5|} AuxVars[] AssignedVars[#pthreadsForks] {127#false} is VALID [2022-02-20 21:01:20,674 INFO L290 TraceCheckUtils]: 27: Hoare triple {127#false} [436] L705-2-->L705-3: Formula: (= (store |v_#memory_int_7| |v_ULTIMATE.start_main_~#checkPool~0#1.base_3| (store (select |v_#memory_int_7| |v_ULTIMATE.start_main_~#checkPool~0#1.base_3|) (+ |v_ULTIMATE.start_main_~#checkPool~0#1.offset_3| (* v_~i~0_11 4)) |v_ULTIMATE.start_main_#t~pre5#1_3|)) |v_#memory_int_6|) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_3|, #memory_int=|v_#memory_int_7|, ULTIMATE.start_main_~#checkPool~0#1.offset=|v_ULTIMATE.start_main_~#checkPool~0#1.offset_3|, ~i~0=v_~i~0_11, ULTIMATE.start_main_~#checkPool~0#1.base=|v_ULTIMATE.start_main_~#checkPool~0#1.base_3|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_3|, #memory_int=|v_#memory_int_6|, ULTIMATE.start_main_~#checkPool~0#1.offset=|v_ULTIMATE.start_main_~#checkPool~0#1.offset_3|, ~i~0=v_~i~0_11, ULTIMATE.start_main_~#checkPool~0#1.base=|v_ULTIMATE.start_main_~#checkPool~0#1.base_3|} AuxVars[] AssignedVars[#memory_int] {127#false} is VALID [2022-02-20 21:01:20,674 INFO L290 TraceCheckUtils]: 28: Hoare triple {127#false} [496] L705-3-->checkThreadENTRY: Formula: (and (= 0 |v_checkThreadThread1of3ForFork1_#in~param.base_4|) (= v_checkThreadThread1of3ForFork1_thidvar0_2 |v_ULTIMATE.start_main_#t~pre5#1_13|) (= |v_checkThreadThread1of3ForFork1_#in~param.offset_4| 0)) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_13|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_13|, checkThreadThread1of3ForFork1_#res.base=|v_checkThreadThread1of3ForFork1_#res.base_4|, checkThreadThread1of3ForFork1_thidvar0=v_checkThreadThread1of3ForFork1_thidvar0_2, checkThreadThread1of3ForFork1_#res.offset=|v_checkThreadThread1of3ForFork1_#res.offset_4|, checkThreadThread1of3ForFork1_~param.offset=v_checkThreadThread1of3ForFork1_~param.offset_4, checkThreadThread1of3ForFork1_#in~param.base=|v_checkThreadThread1of3ForFork1_#in~param.base_4|, checkThreadThread1of3ForFork1_~param.base=v_checkThreadThread1of3ForFork1_~param.base_4, checkThreadThread1of3ForFork1_#in~param.offset=|v_checkThreadThread1of3ForFork1_#in~param.offset_4|} AuxVars[] AssignedVars[checkThreadThread1of3ForFork1_#res.base, checkThreadThread1of3ForFork1_thidvar0, checkThreadThread1of3ForFork1_#res.offset, checkThreadThread1of3ForFork1_~param.offset, checkThreadThread1of3ForFork1_#in~param.base, checkThreadThread1of3ForFork1_~param.base, checkThreadThread1of3ForFork1_#in~param.offset] {127#false} is VALID [2022-02-20 21:01:20,674 INFO L290 TraceCheckUtils]: 29: Hoare triple {127#false} [467] checkThreadENTRY-->L695: Formula: (and (= v_checkThreadThread1of3ForFork1_~param.base_1 |v_checkThreadThread1of3ForFork1_#in~param.base_1|) (= v_checkThreadThread1of3ForFork1_~param.offset_1 |v_checkThreadThread1of3ForFork1_#in~param.offset_1|)) InVars {checkThreadThread1of3ForFork1_#in~param.base=|v_checkThreadThread1of3ForFork1_#in~param.base_1|, checkThreadThread1of3ForFork1_#in~param.offset=|v_checkThreadThread1of3ForFork1_#in~param.offset_1|} OutVars{checkThreadThread1of3ForFork1_~param.offset=v_checkThreadThread1of3ForFork1_~param.offset_1, checkThreadThread1of3ForFork1_#in~param.base=|v_checkThreadThread1of3ForFork1_#in~param.base_1|, checkThreadThread1of3ForFork1_~param.base=v_checkThreadThread1of3ForFork1_~param.base_1, checkThreadThread1of3ForFork1_#in~param.offset=|v_checkThreadThread1of3ForFork1_#in~param.offset_1|} AuxVars[] AssignedVars[checkThreadThread1of3ForFork1_~param.offset, checkThreadThread1of3ForFork1_~param.base] {127#false} is VALID [2022-02-20 21:01:20,674 INFO L290 TraceCheckUtils]: 30: Hoare triple {127#false} [469] L695-->L696: Formula: (and (or (not (= v_~a~0_3 1)) (not (= (- 1) v_~b~0_3))) (or (not (= v_~b~0_3 0)) (not (= v_~a~0_3 0)))) InVars {~a~0=v_~a~0_3, ~b~0=v_~b~0_3} OutVars{~a~0=v_~a~0_3, ~b~0=v_~b~0_3} AuxVars[] AssignedVars[] {127#false} is VALID [2022-02-20 21:01:20,674 INFO L290 TraceCheckUtils]: 31: Hoare triple {127#false} [471] L696-->checkThreadErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {127#false} is VALID [2022-02-20 21:01:20,676 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 21:01:20,677 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:01:20,677 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [902837493] [2022-02-20 21:01:20,677 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [902837493] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:01:20,677 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 21:01:20,678 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 21:01:20,678 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1386660303] [2022-02-20 21:01:20,678 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:01:20,679 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 10.666666666666666) internal successors, (32), 3 states have internal predecessors, (32), 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 32 [2022-02-20 21:01:20,680 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:01:20,680 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 10.666666666666666) internal successors, (32), 3 states have internal predecessors, (32), 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 21:01:20,698 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:01:20,698 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 21:01:20,698 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:01:20,698 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 21:01:20,699 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 21:01:20,699 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 76 out of 129 [2022-02-20 21:01:20,699 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 123 places, 129 transitions, 336 flow. Second operand has 3 states, 3 states have (on average 78.33333333333333) internal successors, (235), 3 states have internal predecessors, (235), 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 21:01:20,699 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 21:01:20,700 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 76 of 129 [2022-02-20 21:01:20,700 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand