./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/weaver/popl20-nonblocking-cntr.wvr.c --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/weaver/popl20-nonblocking-cntr.wvr.c -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 c17307c3ae663be4a153b702602dea6d5ee45f14a080e7a1fb720e97140b770f --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 20:56:13,130 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 20:56:13,132 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 20:56:13,173 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 20:56:13,173 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 20:56:13,176 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 20:56:13,176 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 20:56:13,178 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 20:56:13,179 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 20:56:13,183 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 20:56:13,183 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 20:56:13,184 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 20:56:13,184 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 20:56:13,186 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 20:56:13,187 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 20:56:13,189 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 20:56:13,190 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 20:56:13,191 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 20:56:13,192 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 20:56:13,196 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 20:56:13,197 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 20:56:13,197 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 20:56:13,199 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 20:56:13,199 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 20:56:13,204 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 20:56:13,204 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 20:56:13,204 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 20:56:13,205 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 20:56:13,205 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 20:56:13,206 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 20:56:13,206 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 20:56:13,207 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 20:56:13,208 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 20:56:13,209 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 20:56:13,209 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 20:56:13,210 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 20:56:13,210 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 20:56:13,210 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 20:56:13,211 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 20:56:13,212 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 20:56:13,212 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 20:56:13,213 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2022-02-20 20:56:13,234 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 20:56:13,235 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 20:56:13,235 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 20:56:13,235 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 20:56:13,236 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 20:56:13,236 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 20:56:13,236 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 20:56:13,237 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 20:56:13,237 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 20:56:13,237 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 20:56:13,238 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 20:56:13,238 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 20:56:13,238 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 20:56:13,238 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 20:56:13,238 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 20:56:13,238 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 20:56:13,239 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 20:56:13,239 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 20:56:13,239 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 20:56:13,239 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 20:56:13,239 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 20:56:13,239 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 20:56:13,240 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 20:56:13,240 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 20:56:13,240 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 20:56:13,240 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 20:56:13,240 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 20:56:13,241 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 20:56:13,241 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 20:56:13,241 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 20:56:13,242 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 20:56:13,242 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 20:56:13,242 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 20:56:13,242 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 -> c17307c3ae663be4a153b702602dea6d5ee45f14a080e7a1fb720e97140b770f [2022-02-20 20:56:13,418 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 20:56:13,430 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 20:56:13,432 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 20:56:13,432 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 20:56:13,433 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 20:56:13,433 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/weaver/popl20-nonblocking-cntr.wvr.c [2022-02-20 20:56:13,505 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/59ba1922f/b4a805b62da94baab76b00f71765b5e3/FLAG3b5342ded [2022-02-20 20:56:13,804 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 20:56:13,805 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/weaver/popl20-nonblocking-cntr.wvr.c [2022-02-20 20:56:13,809 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/59ba1922f/b4a805b62da94baab76b00f71765b5e3/FLAG3b5342ded [2022-02-20 20:56:14,242 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/59ba1922f/b4a805b62da94baab76b00f71765b5e3 [2022-02-20 20:56:14,244 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 20:56:14,245 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 20:56:14,248 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 20:56:14,248 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 20:56:14,250 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 20:56:14,251 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 08:56:14" (1/1) ... [2022-02-20 20:56:14,252 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@752171ab and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:56:14, skipping insertion in model container [2022-02-20 20:56:14,252 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 08:56:14" (1/1) ... [2022-02-20 20:56:14,256 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 20:56:14,270 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 20:56:14,414 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/weaver/popl20-nonblocking-cntr.wvr.c[2037,2050] [2022-02-20 20:56:14,421 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 20:56:14,436 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 20:56:14,448 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/weaver/popl20-nonblocking-cntr.wvr.c[2037,2050] [2022-02-20 20:56:14,449 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 20:56:14,457 INFO L208 MainTranslator]: Completed translation [2022-02-20 20:56:14,458 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:56:14 WrapperNode [2022-02-20 20:56:14,458 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 20:56:14,460 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 20:56:14,460 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 20:56:14,460 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 20:56:14,465 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:56:14" (1/1) ... [2022-02-20 20:56:14,470 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:56:14" (1/1) ... [2022-02-20 20:56:14,491 INFO L137 Inliner]: procedures = 21, calls = 24, calls flagged for inlining = 4, calls inlined = 4, statements flattened = 53 [2022-02-20 20:56:14,491 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 20:56:14,492 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 20:56:14,492 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 20:56:14,492 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 20:56:14,497 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:56:14" (1/1) ... [2022-02-20 20:56:14,497 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:56:14" (1/1) ... [2022-02-20 20:56:14,506 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:56:14" (1/1) ... [2022-02-20 20:56:14,506 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:56:14" (1/1) ... [2022-02-20 20:56:14,515 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:56:14" (1/1) ... [2022-02-20 20:56:14,519 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:56:14" (1/1) ... [2022-02-20 20:56:14,523 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:56:14" (1/1) ... [2022-02-20 20:56:14,525 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 20:56:14,526 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 20:56:14,527 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 20:56:14,527 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 20:56:14,528 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:56:14" (1/1) ... [2022-02-20 20:56:14,533 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 20:56:14,540 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 20:56:14,551 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-02-20 20:56:14,559 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-02-20 20:56:14,586 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 20:56:14,586 INFO L130 BoogieDeclarations]: Found specification of procedure thread1 [2022-02-20 20:56:14,586 INFO L138 BoogieDeclarations]: Found implementation of procedure thread1 [2022-02-20 20:56:14,587 INFO L130 BoogieDeclarations]: Found specification of procedure thread2 [2022-02-20 20:56:14,587 INFO L138 BoogieDeclarations]: Found implementation of procedure thread2 [2022-02-20 20:56:14,587 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 20:56:14,587 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-02-20 20:56:14,587 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-02-20 20:56:14,587 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2022-02-20 20:56:14,587 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2022-02-20 20:56:14,587 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 20:56:14,588 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 20:56:14,588 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-02-20 20:56:14,588 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 20:56:14,589 WARN L208 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to SingleStatement [2022-02-20 20:56:14,643 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 20:56:14,645 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 20:56:14,778 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 20:56:14,816 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 20:56:14,816 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-02-20 20:56:14,818 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 08:56:14 BoogieIcfgContainer [2022-02-20 20:56:14,818 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 20:56:14,819 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 20:56:14,819 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 20:56:14,822 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 20:56:14,822 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 08:56:14" (1/3) ... [2022-02-20 20:56:14,822 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@739a00e7 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 08:56:14, skipping insertion in model container [2022-02-20 20:56:14,823 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:56:14" (2/3) ... [2022-02-20 20:56:14,823 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@739a00e7 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 08:56:14, skipping insertion in model container [2022-02-20 20:56:14,823 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 08:56:14" (3/3) ... [2022-02-20 20:56:14,824 INFO L111 eAbstractionObserver]: Analyzing ICFG popl20-nonblocking-cntr.wvr.c [2022-02-20 20:56:14,827 WARN L150 ceAbstractionStarter]: Switching off computation of Hoare annotation because input is a concurrent program [2022-02-20 20:56:14,827 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 20:56:14,828 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 20:56:14,828 INFO L534 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2022-02-20 20:56:14,863 WARN L322 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork0_~i~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:14,864 WARN L322 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork0_~i~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:14,864 WARN L322 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork0_~i~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:14,866 WARN L322 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork0_~i~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:14,867 WARN L322 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork0_~i~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:14,868 WARN L322 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork0_~i~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:14,869 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:14,869 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:14,870 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:14,870 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:14,870 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#t~post2| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:14,870 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#t~post2| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:14,871 WARN L322 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork0_~i~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:14,871 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#t~post1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:14,871 WARN L322 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork0_~i~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:14,871 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#t~post1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:14,871 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#t~post1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:14,872 WARN L322 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork0_~i~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:14,872 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#t~post1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:14,872 WARN L322 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork0_~i~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:14,872 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#t~post1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:14,873 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#t~post1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:14,873 WARN L322 ript$VariableManager]: TermVariabe thread2Thread1of1ForFork1_~i~1 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:14,873 WARN L322 ript$VariableManager]: TermVariabe thread2Thread1of1ForFork1_~i~1 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:14,873 WARN L322 ript$VariableManager]: TermVariabe thread2Thread1of1ForFork1_~i~1 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:14,875 WARN L322 ript$VariableManager]: TermVariabe thread2Thread1of1ForFork1_~i~1 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:14,876 WARN L322 ript$VariableManager]: TermVariabe thread2Thread1of1ForFork1_~i~1 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:14,877 WARN L322 ript$VariableManager]: TermVariabe thread2Thread1of1ForFork1_~i~1 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:14,878 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:14,878 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:14,879 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:14,879 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:14,879 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#t~post3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:14,879 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#t~post4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:14,879 WARN L322 ript$VariableManager]: TermVariabe thread2Thread1of1ForFork1_~i~1 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:14,879 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#t~post3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:14,880 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#t~post4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:14,880 WARN L322 ript$VariableManager]: TermVariabe thread2Thread1of1ForFork1_~i~1 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:14,881 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#t~post3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:14,881 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#t~post4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:14,881 WARN L322 ript$VariableManager]: TermVariabe thread2Thread1of1ForFork1_~i~1 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:14,881 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#t~post3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:14,881 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#t~post4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:14,881 WARN L322 ript$VariableManager]: TermVariabe thread2Thread1of1ForFork1_~i~1 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:14,885 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:14,885 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#t~post1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:14,885 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#t~post2| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:14,886 WARN L322 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork0_~i~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:14,886 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:14,887 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:14,887 WARN L322 ript$VariableManager]: TermVariabe thread2Thread1of1ForFork1_~i~1 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:14,887 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#t~post4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:14,887 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#t~post3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:14,887 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:14,896 INFO L148 ThreadInstanceAdder]: Constructed 2 joinOtherThreadTransitions. [2022-02-20 20:56:14,925 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 20:56:14,930 INFO L339 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopsAndPotentialCycles, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mLoopAccelerationTechnique=FAST_UPR [2022-02-20 20:56:14,931 INFO L340 AbstractCegarLoop]: Starting to check reachability of 3 error locations. [2022-02-20 20:56:14,938 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 83 places, 82 transitions, 180 flow [2022-02-20 20:56:14,978 INFO L129 PetriNetUnfolder]: 6/80 cut-off events. [2022-02-20 20:56:14,979 INFO L130 PetriNetUnfolder]: For 2/2 co-relation queries the response was YES. [2022-02-20 20:56:14,981 INFO L84 FinitePrefix]: Finished finitePrefix Result has 89 conditions, 80 events. 6/80 cut-off events. For 2/2 co-relation queries the response was YES. Maximal size of possible extension queue 3. Compared 44 event pairs, 0 based on Foata normal form. 0/73 useless extension candidates. Maximal degree in co-relation 48. Up to 2 conditions per place. [2022-02-20 20:56:14,981 INFO L82 GeneralOperation]: Start removeDead. Operand has 83 places, 82 transitions, 180 flow [2022-02-20 20:56:14,984 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 72 places, 71 transitions, 154 flow [2022-02-20 20:56:15,006 INFO L129 PetriNetUnfolder]: 6/70 cut-off events. [2022-02-20 20:56:15,006 INFO L130 PetriNetUnfolder]: For 2/2 co-relation queries the response was YES. [2022-02-20 20:56:15,007 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:56:15,007 INFO L254 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 20:56:15,008 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION] === [2022-02-20 20:56:15,011 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:56:15,011 INFO L85 PathProgramCache]: Analyzing trace with hash 1700112450, now seen corresponding path program 1 times [2022-02-20 20:56:15,017 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:56:15,017 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1345312309] [2022-02-20 20:56:15,017 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:56:15,018 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:56:15,102 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:56:15,156 INFO L290 TraceCheckUtils]: 0: Hoare triple {86#true} [191] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {86#true} is VALID [2022-02-20 20:56:15,158 INFO L290 TraceCheckUtils]: 1: Hoare triple {86#true} [172] 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] {86#true} is VALID [2022-02-20 20:56:15,159 INFO L290 TraceCheckUtils]: 2: Hoare triple {86#true} [197] L-1-1-->L-1-2: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] {86#true} is VALID [2022-02-20 20:56:15,160 INFO L290 TraceCheckUtils]: 3: Hoare triple {86#true} [199] L-1-2-->L21: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {86#true} is VALID [2022-02-20 20:56:15,160 INFO L290 TraceCheckUtils]: 4: Hoare triple {86#true} [165] L21-->L21-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[] {86#true} is VALID [2022-02-20 20:56:15,161 INFO L290 TraceCheckUtils]: 5: Hoare triple {86#true} [187] L21-1-->L21-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[] {86#true} is VALID [2022-02-20 20:56:15,161 INFO L290 TraceCheckUtils]: 6: Hoare triple {86#true} [184] L21-2-->L21-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[] {86#true} is VALID [2022-02-20 20:56:15,162 INFO L290 TraceCheckUtils]: 7: Hoare triple {86#true} [156] L21-3-->L21-4: Formula: (and (= 30 (select |v_#length_2| 2)) (= (select |v_#valid_3| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {86#true} is VALID [2022-02-20 20:56:15,163 INFO L290 TraceCheckUtils]: 8: Hoare triple {86#true} [204] L21-4-->L38: Formula: (= v_~M~0_5 0) InVars {} OutVars{~M~0=v_~M~0_5} AuxVars[] AssignedVars[~M~0] {86#true} is VALID [2022-02-20 20:56:15,163 INFO L290 TraceCheckUtils]: 9: Hoare triple {86#true} [205] L38-->L-1-3: Formula: (= v_~counter~0_7 0) InVars {} OutVars{~counter~0=v_~counter~0_7} AuxVars[] AssignedVars[~counter~0] {86#true} is VALID [2022-02-20 20:56:15,163 INFO L290 TraceCheckUtils]: 10: Hoare triple {86#true} [201] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {86#true} is VALID [2022-02-20 20:56:15,164 INFO L290 TraceCheckUtils]: 11: Hoare triple {86#true} [181] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {86#true} is VALID [2022-02-20 20:56:15,164 INFO L290 TraceCheckUtils]: 12: Hoare triple {86#true} [151] L-1-5-->L-1-6: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {86#true} is VALID [2022-02-20 20:56:15,164 INFO L290 TraceCheckUtils]: 13: Hoare triple {86#true} [178] L-1-6-->L65: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_1|, ULTIMATE.start_main_#t~nondet9#1=|v_ULTIMATE.start_main_#t~nondet9#1_1|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_1|, ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_1|, ULTIMATE.start_main_#t~nondet7#1=|v_ULTIMATE.start_main_#t~nondet7#1_1|, ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_1|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_1|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_1|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_1|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_1|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1, ULTIMATE.start_main_#t~nondet9#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_#t~nondet5#1, ULTIMATE.start_main_#t~nondet7#1, ULTIMATE.start_main_#t~mem11#1, ULTIMATE.start_main_#t~pre8#1, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset, ULTIMATE.start_main_#t~mem10#1, ULTIMATE.start_main_~#t2~0#1.base] {86#true} is VALID [2022-02-20 20:56:15,165 INFO L290 TraceCheckUtils]: 14: Hoare triple {86#true} [208] L65-->L65-1: Formula: (and (= |v_ULTIMATE.start_main_~#t1~0#1.offset_2| 0) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) 0) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 4)) (not (= |v_ULTIMATE.start_main_~#t1~0#1.base_2| 0)) (= (store |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 1) |v_#valid_4|)) 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_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_2|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[#valid, #length, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset] {86#true} is VALID [2022-02-20 20:56:15,166 INFO L290 TraceCheckUtils]: 15: Hoare triple {86#true} [194] L65-1-->L65-2: Formula: (and (= |v_#length_5| (store |v_#length_6| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 4)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2|) 0) (= (store |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 1) |v_#valid_6|) (not (= |v_ULTIMATE.start_main_~#t2~0#1.base_2| 0)) (= 0 |v_ULTIMATE.start_main_~#t2~0#1.offset_2|) (< |v_#StackHeapBarrier_3| |v_ULTIMATE.start_main_~#t2~0#1.base_2|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_7|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_5|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_2|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t2~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t2~0#1.base] {86#true} is VALID [2022-02-20 20:56:15,166 INFO L290 TraceCheckUtils]: 16: Hoare triple {86#true} [171] L65-2-->L67: Formula: (and (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet5#1_2| 2147483648)) (<= |v_ULTIMATE.start_main_#t~nondet5#1_2| 2147483647)) InVars {ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_2|} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_2|} AuxVars[] AssignedVars[] {86#true} is VALID [2022-02-20 20:56:15,167 INFO L290 TraceCheckUtils]: 17: Hoare triple {86#true} [190] L67-->L67-1: Formula: (= |v_ULTIMATE.start_main_#t~nondet5#1_3| v_~M~0_6) InVars {ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_3|} OutVars{~M~0=v_~M~0_6, ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_3|} AuxVars[] AssignedVars[~M~0] {86#true} is VALID [2022-02-20 20:56:15,167 INFO L290 TraceCheckUtils]: 18: Hoare triple {86#true} [162] L67-1-->L68: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet5#1] {86#true} is VALID [2022-02-20 20:56:15,167 INFO L290 TraceCheckUtils]: 19: Hoare triple {86#true} [196] L68-->L68-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {86#true} is VALID [2022-02-20 20:56:15,167 INFO L290 TraceCheckUtils]: 20: Hoare triple {86#true} [160] L68-1-->L68-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1| (ite (< 0 v_~M~0_7) 1 0)) InVars {~M~0=v_~M~0_7} OutVars{~M~0=v_~M~0_7, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] {86#true} is VALID [2022-02-20 20:56:15,168 INFO L290 TraceCheckUtils]: 21: Hoare triple {86#true} [143] L68-2-->L34: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {86#true} is VALID [2022-02-20 20:56:15,168 INFO L290 TraceCheckUtils]: 22: Hoare triple {86#true} [164] L34-->L35: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_2|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_2|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {86#true} is VALID [2022-02-20 20:56:15,168 INFO L290 TraceCheckUtils]: 23: Hoare triple {86#true} [189] L35-->L34-1: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_4| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_4|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_4|} AuxVars[] AssignedVars[] {86#true} is VALID [2022-02-20 20:56:15,169 INFO L290 TraceCheckUtils]: 24: Hoare triple {86#true} [182] L34-1-->L71: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {86#true} is VALID [2022-02-20 20:56:15,169 INFO L290 TraceCheckUtils]: 25: Hoare triple {86#true} [135] L71-->L71-1: Formula: (= |v_ULTIMATE.start_main_#t~pre6#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1] {86#true} is VALID [2022-02-20 20:56:15,169 INFO L290 TraceCheckUtils]: 26: Hoare triple {86#true} [159] L71-1-->L71-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {86#true} is VALID [2022-02-20 20:56:15,169 INFO L290 TraceCheckUtils]: 27: Hoare triple {86#true} [198] L71-2-->L71-3: Formula: (= (store |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3| (store (select |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3|) |v_ULTIMATE.start_main_~#t1~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre6#1_3|)) |v_#memory_int_3|) InVars {#memory_int=|v_#memory_int_4|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} OutVars{#memory_int=|v_#memory_int_3|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} AuxVars[] AssignedVars[#memory_int] {86#true} is VALID [2022-02-20 20:56:15,171 INFO L290 TraceCheckUtils]: 28: Hoare triple {86#true} [228] L71-3-->thread1ENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre6#1_6| v_thread1Thread1of1ForFork0_thidvar0_2) (= v_thread1Thread1of1ForFork0_thidvar1_2 0)) InVars {ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_6|} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_6|, thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_4|, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_8|, thread1Thread1of1ForFork0_#t~post2=|v_thread1Thread1of1ForFork0_#t~post2_4|, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_12, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_2, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_4|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_2} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#t~post1, thread1Thread1of1ForFork0_#t~post2, thread1Thread1of1ForFork0_~i~0, thread1Thread1of1ForFork0_thidvar0, thread1Thread1of1ForFork0_#res.offset, thread1Thread1of1ForFork0_thidvar1] {86#true} is VALID [2022-02-20 20:56:15,171 INFO L290 TraceCheckUtils]: 29: Hoare triple {86#true} [150] L71-4-->L71-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1] {86#true} is VALID [2022-02-20 20:56:15,172 INFO L290 TraceCheckUtils]: 30: Hoare triple {86#true} [177] L71-5-->L72: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet7#1=|v_ULTIMATE.start_main_#t~nondet7#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet7#1] {86#true} is VALID [2022-02-20 20:56:15,172 INFO L290 TraceCheckUtils]: 31: Hoare triple {86#true} [206] L72-->L72-1: Formula: (= |v_ULTIMATE.start_main_#t~pre8#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre8#1] {86#true} is VALID [2022-02-20 20:56:15,172 INFO L290 TraceCheckUtils]: 32: Hoare triple {86#true} [130] L72-1-->L72-2: Formula: (= (+ 1 |v_#pthreadsForks_6|) |v_#pthreadsForks_5|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_5|} AuxVars[] AssignedVars[#pthreadsForks] {86#true} is VALID [2022-02-20 20:56:15,172 INFO L290 TraceCheckUtils]: 33: Hoare triple {86#true} [139] L72-2-->L72-3: Formula: (= (store |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3| (store (select |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3|) |v_ULTIMATE.start_main_~#t2~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre8#1_3|)) |v_#memory_int_5|) InVars {#memory_int=|v_#memory_int_6|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} OutVars{#memory_int=|v_#memory_int_5|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} AuxVars[] AssignedVars[#memory_int] {86#true} is VALID [2022-02-20 20:56:15,173 INFO L290 TraceCheckUtils]: 34: Hoare triple {86#true} [230] L72-3-->thread2ENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre8#1_6| v_thread2Thread1of1ForFork1_thidvar0_2) (= 0 v_thread2Thread1of1ForFork1_thidvar1_2) (= 0 v_thread2Thread1of1ForFork1_thidvar2_2)) InVars {ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_6|} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_4|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_12, thread2Thread1of1ForFork1_#t~post4=|v_thread2Thread1of1ForFork1_#t~post4_6|, thread2Thread1of1ForFork1_#t~post3=|v_thread2Thread1of1ForFork1_#t~post3_6|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_4|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_6|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_2, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_2, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_2} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_~i~1, thread2Thread1of1ForFork1_#t~post4, thread2Thread1of1ForFork1_#t~post3, thread2Thread1of1ForFork1_#res.base, thread2Thread1of1ForFork1_thidvar2, thread2Thread1of1ForFork1_thidvar0, thread2Thread1of1ForFork1_thidvar1] {86#true} is VALID [2022-02-20 20:56:15,173 INFO L290 TraceCheckUtils]: 35: Hoare triple {86#true} [200] L72-4-->L72-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre8#1] {86#true} is VALID [2022-02-20 20:56:15,173 INFO L290 TraceCheckUtils]: 36: Hoare triple {86#true} [133] L72-5-->L73: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet9#1=|v_ULTIMATE.start_main_#t~nondet9#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet9#1] {86#true} is VALID [2022-02-20 20:56:15,173 INFO L290 TraceCheckUtils]: 37: Hoare triple {86#true} [168] L73-->L73-1: Formula: (= |v_ULTIMATE.start_main_#t~mem10#1_2| (select (select |v_#memory_int_7| |v_ULTIMATE.start_main_~#t1~0#1.base_4|) |v_ULTIMATE.start_main_~#t1~0#1.offset_4|)) InVars {#memory_int=|v_#memory_int_7|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_4|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_4|} OutVars{#memory_int=|v_#memory_int_7|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_4|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_4|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10#1] {86#true} is VALID [2022-02-20 20:56:15,173 INFO L290 TraceCheckUtils]: 38: Hoare triple {86#true} [210] thread1ENTRY-->L41-4: Formula: (= v_thread1Thread1of1ForFork0_~i~0_1 0) InVars {} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_1} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_~i~0] {86#true} is VALID [2022-02-20 20:56:15,174 INFO L290 TraceCheckUtils]: 39: Hoare triple {86#true} [212] L41-4-->L41-5: Formula: (not (< v_thread1Thread1of1ForFork0_~i~0_3 v_~M~0_1)) InVars {~M~0=v_~M~0_1, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_3} OutVars{~M~0=v_~M~0_1, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_3} AuxVars[] AssignedVars[] {86#true} is VALID [2022-02-20 20:56:15,174 INFO L290 TraceCheckUtils]: 40: Hoare triple {86#true} [214] L41-5-->thread1FINAL: Formula: (and (= |v_thread1Thread1of1ForFork0_#res.base_1| 0) (= |v_thread1Thread1of1ForFork0_#res.offset_1| 0)) InVars {} OutVars{thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_1|, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#res.offset] {86#true} is VALID [2022-02-20 20:56:15,174 INFO L290 TraceCheckUtils]: 41: Hoare triple {86#true} [216] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {86#true} is VALID [2022-02-20 20:56:15,174 INFO L290 TraceCheckUtils]: 42: Hoare triple {86#true} [231] thread1EXIT-->L73-2: Formula: (and (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem10#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ .cse0 (- 4294967296)))) v_thread1Thread1of1ForFork0_thidvar0_4) (= v_thread1Thread1of1ForFork0_thidvar1_4 0)) InVars {thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|} OutVars{thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|} AuxVars[] AssignedVars[] {86#true} is VALID [2022-02-20 20:56:15,175 INFO L290 TraceCheckUtils]: 43: Hoare triple {86#true} [169] L73-2-->L74: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10#1] {86#true} is VALID [2022-02-20 20:56:15,175 INFO L290 TraceCheckUtils]: 44: Hoare triple {86#true} [131] L74-->L74-1: Formula: (= (select (select |v_#memory_int_8| |v_ULTIMATE.start_main_~#t2~0#1.base_4|) |v_ULTIMATE.start_main_~#t2~0#1.offset_4|) |v_ULTIMATE.start_main_#t~mem11#1_2|) InVars {#memory_int=|v_#memory_int_8|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_4|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_2|, #memory_int=|v_#memory_int_8|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_4|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem11#1] {86#true} is VALID [2022-02-20 20:56:15,175 INFO L290 TraceCheckUtils]: 45: Hoare triple {86#true} [220] thread2ENTRY-->L54-1: Formula: (= v_thread2Thread1of1ForFork1_~i~1_1 0) InVars {} OutVars{thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_~i~1] {86#true} is VALID [2022-02-20 20:56:15,176 INFO L290 TraceCheckUtils]: 46: Hoare triple {86#true} [221] L54-1-->L52-2: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {87#false} is VALID [2022-02-20 20:56:15,176 INFO L290 TraceCheckUtils]: 47: Hoare triple {87#false} [224] L52-2-->thread2FINAL: Formula: (and (= |v_thread2Thread1of1ForFork1_#res.base_1| 0) (= |v_thread2Thread1of1ForFork1_#res.offset_1| 0)) InVars {} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_1|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_1|} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_#res.base] {87#false} is VALID [2022-02-20 20:56:15,176 INFO L290 TraceCheckUtils]: 48: Hoare triple {87#false} [226] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {87#false} is VALID [2022-02-20 20:56:15,177 INFO L290 TraceCheckUtils]: 49: Hoare triple {87#false} [232] thread2EXIT-->L74-2: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar2_4) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem11#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ (- 4294967296) .cse0))) v_thread2Thread1of1ForFork1_thidvar0_4) (= 0 v_thread2Thread1of1ForFork1_thidvar1_4)) InVars {ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_5|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_5|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} AuxVars[] AssignedVars[] {87#false} is VALID [2022-02-20 20:56:15,177 INFO L290 TraceCheckUtils]: 50: Hoare triple {87#false} [173] L74-2-->L76: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem11#1] {87#false} is VALID [2022-02-20 20:56:15,177 INFO L290 TraceCheckUtils]: 51: Hoare triple {87#false} [207] L76-->L76-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {87#false} is VALID [2022-02-20 20:56:15,177 INFO L290 TraceCheckUtils]: 52: Hoare triple {87#false} [186] L76-1-->L76-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3| (ite (not (= v_~counter~0_8 0)) 1 0)) InVars {~counter~0=v_~counter~0_8} OutVars{~counter~0=v_~counter~0_8, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] {87#false} is VALID [2022-02-20 20:56:15,177 INFO L290 TraceCheckUtils]: 53: Hoare triple {87#false} [193] L76-2-->L34-2: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_5|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {87#false} is VALID [2022-02-20 20:56:15,178 INFO L290 TraceCheckUtils]: 54: Hoare triple {87#false} [174] L34-2-->L35-3: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {87#false} is VALID [2022-02-20 20:56:15,178 INFO L290 TraceCheckUtils]: 55: Hoare triple {87#false} [145] L35-3-->L34-3: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_8| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_8|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_8|} AuxVars[] AssignedVars[] {87#false} is VALID [2022-02-20 20:56:15,178 INFO L290 TraceCheckUtils]: 56: Hoare triple {87#false} [154] L34-3-->L77: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {87#false} is VALID [2022-02-20 20:56:15,178 INFO L290 TraceCheckUtils]: 57: Hoare triple {87#false} [146] L77-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {87#false} is VALID [2022-02-20 20:56:15,179 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 20:56:15,180 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 20:56:15,180 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1345312309] [2022-02-20 20:56:15,180 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1345312309] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 20:56:15,180 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 20:56:15,181 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 20:56:15,182 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1179167947] [2022-02-20 20:56:15,182 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 20:56:15,190 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 29.0) internal successors, (58), 2 states have internal predecessors, (58), 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 58 [2022-02-20 20:56:15,191 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 20:56:15,193 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 2 states, 2 states have (on average 29.0) internal successors, (58), 2 states have internal predecessors, (58), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:15,236 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 20:56:15,236 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-02-20 20:56:15,237 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 20:56:15,249 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-02-20 20:56:15,250 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 20:56:15,251 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 71 out of 82 [2022-02-20 20:56:15,252 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 72 places, 71 transitions, 154 flow. Second operand has 2 states, 2 states have (on average 73.5) internal successors, (147), 2 states have internal predecessors, (147), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:15,252 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 20:56:15,252 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 71 of 82 [2022-02-20 20:56:15,253 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 20:56:15,279 INFO L129 PetriNetUnfolder]: 10/93 cut-off events. [2022-02-20 20:56:15,279 INFO L130 PetriNetUnfolder]: For 18/19 co-relation queries the response was YES. [2022-02-20 20:56:15,280 INFO L84 FinitePrefix]: Finished finitePrefix Result has 125 conditions, 93 events. 10/93 cut-off events. For 18/19 co-relation queries the response was YES. Maximal size of possible extension queue 5. Compared 108 event pairs, 1 based on Foata normal form. 11/94 useless extension candidates. Maximal degree in co-relation 55. Up to 18 conditions per place. [2022-02-20 20:56:15,295 INFO L132 encePairwiseOnDemand]: 78/82 looper letters, 6 selfloop transitions, 0 changer transitions 2/67 dead transitions. [2022-02-20 20:56:15,295 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 73 places, 67 transitions, 158 flow [2022-02-20 20:56:15,295 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-02-20 20:56:15,297 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2022-02-20 20:56:15,309 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 152 transitions. [2022-02-20 20:56:15,310 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.926829268292683 [2022-02-20 20:56:15,311 INFO L72 ComplementDD]: Start complementDD. Operand 2 states and 152 transitions. [2022-02-20 20:56:15,311 INFO L73 IsDeterministic]: Start isDeterministic. Operand 2 states and 152 transitions. [2022-02-20 20:56:15,311 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 20:56:15,313 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 2 states and 152 transitions. [2022-02-20 20:56:15,315 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 3 states, 2 states have (on average 76.0) internal successors, (152), 2 states have internal predecessors, (152), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:15,317 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 3 states, 3 states have (on average 82.0) internal successors, (246), 3 states have internal predecessors, (246), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:15,317 INFO L81 ComplementDD]: Finished complementDD. Result has 3 states, 3 states have (on average 82.0) internal successors, (246), 3 states have internal predecessors, (246), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:15,319 INFO L186 Difference]: Start difference. First operand has 72 places, 71 transitions, 154 flow. Second operand 2 states and 152 transitions. [2022-02-20 20:56:15,319 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 73 places, 67 transitions, 158 flow [2022-02-20 20:56:15,321 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 69 places, 67 transitions, 150 flow, removed 0 selfloop flow, removed 4 redundant places. [2022-02-20 20:56:15,323 INFO L242 Difference]: Finished difference. Result has 69 places, 65 transitions, 134 flow [2022-02-20 20:56:15,324 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=82, PETRI_DIFFERENCE_MINUEND_FLOW=138, PETRI_DIFFERENCE_MINUEND_PLACES=68, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=67, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=0, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=67, PETRI_DIFFERENCE_SUBTRAHEND_STATES=2, PETRI_FLOW=134, PETRI_PLACES=69, PETRI_TRANSITIONS=65} [2022-02-20 20:56:15,327 INFO L334 CegarLoopForPetriNet]: 72 programPoint places, -3 predicate places. [2022-02-20 20:56:15,327 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 69 places, 65 transitions, 134 flow [2022-02-20 20:56:15,354 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 326 states, 325 states have (on average 2.3876923076923076) internal successors, (776), 325 states have internal predecessors, (776), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:15,356 INFO L78 Accepts]: Start accepts. Automaton has has 326 states, 325 states have (on average 2.3876923076923076) internal successors, (776), 325 states have internal predecessors, (776), 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 58 [2022-02-20 20:56:15,357 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 20:56:15,357 INFO L470 AbstractCegarLoop]: Abstraction has has 69 places, 65 transitions, 134 flow [2022-02-20 20:56:15,357 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 73.5) internal successors, (147), 2 states have internal predecessors, (147), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:15,357 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:56:15,357 INFO L254 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 20:56:15,358 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 20:56:15,358 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION] === [2022-02-20 20:56:15,358 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:56:15,359 INFO L85 PathProgramCache]: Analyzing trace with hash 1829195169, now seen corresponding path program 1 times [2022-02-20 20:56:15,359 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:56:15,359 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1159242277] [2022-02-20 20:56:15,359 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:56:15,359 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:56:15,405 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:56:15,539 INFO L290 TraceCheckUtils]: 0: Hoare triple {416#true} [191] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {416#true} is VALID [2022-02-20 20:56:15,540 INFO L290 TraceCheckUtils]: 1: Hoare triple {416#true} [172] 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] {416#true} is VALID [2022-02-20 20:56:15,540 INFO L290 TraceCheckUtils]: 2: Hoare triple {416#true} [197] L-1-1-->L-1-2: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] {416#true} is VALID [2022-02-20 20:56:15,540 INFO L290 TraceCheckUtils]: 3: Hoare triple {416#true} [199] L-1-2-->L21: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {416#true} is VALID [2022-02-20 20:56:15,540 INFO L290 TraceCheckUtils]: 4: Hoare triple {416#true} [165] L21-->L21-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[] {416#true} is VALID [2022-02-20 20:56:15,541 INFO L290 TraceCheckUtils]: 5: Hoare triple {416#true} [187] L21-1-->L21-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[] {416#true} is VALID [2022-02-20 20:56:15,541 INFO L290 TraceCheckUtils]: 6: Hoare triple {416#true} [184] L21-2-->L21-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[] {416#true} is VALID [2022-02-20 20:56:15,541 INFO L290 TraceCheckUtils]: 7: Hoare triple {416#true} [156] L21-3-->L21-4: Formula: (and (= 30 (select |v_#length_2| 2)) (= (select |v_#valid_3| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {416#true} is VALID [2022-02-20 20:56:15,541 INFO L290 TraceCheckUtils]: 8: Hoare triple {416#true} [204] L21-4-->L38: Formula: (= v_~M~0_5 0) InVars {} OutVars{~M~0=v_~M~0_5} AuxVars[] AssignedVars[~M~0] {416#true} is VALID [2022-02-20 20:56:15,541 INFO L290 TraceCheckUtils]: 9: Hoare triple {416#true} [205] L38-->L-1-3: Formula: (= v_~counter~0_7 0) InVars {} OutVars{~counter~0=v_~counter~0_7} AuxVars[] AssignedVars[~counter~0] {416#true} is VALID [2022-02-20 20:56:15,542 INFO L290 TraceCheckUtils]: 10: Hoare triple {416#true} [201] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {416#true} is VALID [2022-02-20 20:56:15,542 INFO L290 TraceCheckUtils]: 11: Hoare triple {416#true} [181] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {416#true} is VALID [2022-02-20 20:56:15,542 INFO L290 TraceCheckUtils]: 12: Hoare triple {416#true} [151] L-1-5-->L-1-6: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {416#true} is VALID [2022-02-20 20:56:15,542 INFO L290 TraceCheckUtils]: 13: Hoare triple {416#true} [178] L-1-6-->L65: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_1|, ULTIMATE.start_main_#t~nondet9#1=|v_ULTIMATE.start_main_#t~nondet9#1_1|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_1|, ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_1|, ULTIMATE.start_main_#t~nondet7#1=|v_ULTIMATE.start_main_#t~nondet7#1_1|, ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_1|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_1|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_1|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_1|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_1|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1, ULTIMATE.start_main_#t~nondet9#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_#t~nondet5#1, ULTIMATE.start_main_#t~nondet7#1, ULTIMATE.start_main_#t~mem11#1, ULTIMATE.start_main_#t~pre8#1, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset, ULTIMATE.start_main_#t~mem10#1, ULTIMATE.start_main_~#t2~0#1.base] {416#true} is VALID [2022-02-20 20:56:15,542 INFO L290 TraceCheckUtils]: 14: Hoare triple {416#true} [208] L65-->L65-1: Formula: (and (= |v_ULTIMATE.start_main_~#t1~0#1.offset_2| 0) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) 0) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 4)) (not (= |v_ULTIMATE.start_main_~#t1~0#1.base_2| 0)) (= (store |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 1) |v_#valid_4|)) 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_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_2|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[#valid, #length, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset] {416#true} is VALID [2022-02-20 20:56:15,543 INFO L290 TraceCheckUtils]: 15: Hoare triple {416#true} [194] L65-1-->L65-2: Formula: (and (= |v_#length_5| (store |v_#length_6| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 4)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2|) 0) (= (store |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 1) |v_#valid_6|) (not (= |v_ULTIMATE.start_main_~#t2~0#1.base_2| 0)) (= 0 |v_ULTIMATE.start_main_~#t2~0#1.offset_2|) (< |v_#StackHeapBarrier_3| |v_ULTIMATE.start_main_~#t2~0#1.base_2|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_7|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_5|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_2|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t2~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t2~0#1.base] {416#true} is VALID [2022-02-20 20:56:15,543 INFO L290 TraceCheckUtils]: 16: Hoare triple {416#true} [171] L65-2-->L67: Formula: (and (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet5#1_2| 2147483648)) (<= |v_ULTIMATE.start_main_#t~nondet5#1_2| 2147483647)) InVars {ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_2|} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_2|} AuxVars[] AssignedVars[] {416#true} is VALID [2022-02-20 20:56:15,543 INFO L290 TraceCheckUtils]: 17: Hoare triple {416#true} [190] L67-->L67-1: Formula: (= |v_ULTIMATE.start_main_#t~nondet5#1_3| v_~M~0_6) InVars {ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_3|} OutVars{~M~0=v_~M~0_6, ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_3|} AuxVars[] AssignedVars[~M~0] {416#true} is VALID [2022-02-20 20:56:15,543 INFO L290 TraceCheckUtils]: 18: Hoare triple {416#true} [162] L67-1-->L68: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet5#1] {416#true} is VALID [2022-02-20 20:56:15,543 INFO L290 TraceCheckUtils]: 19: Hoare triple {416#true} [196] L68-->L68-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {416#true} is VALID [2022-02-20 20:56:15,544 INFO L290 TraceCheckUtils]: 20: Hoare triple {416#true} [160] L68-1-->L68-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1| (ite (< 0 v_~M~0_7) 1 0)) InVars {~M~0=v_~M~0_7} OutVars{~M~0=v_~M~0_7, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] {418#(or (not (<= ~M~0 0)) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0))} is VALID [2022-02-20 20:56:15,544 INFO L290 TraceCheckUtils]: 21: Hoare triple {418#(or (not (<= ~M~0 0)) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0))} [143] L68-2-->L34: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {418#(or (not (<= ~M~0 0)) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0))} is VALID [2022-02-20 20:56:15,545 INFO L290 TraceCheckUtils]: 22: Hoare triple {418#(or (not (<= ~M~0 0)) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0))} [164] L34-->L35: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_2|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_2|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {419#(or (not (<= ~M~0 0)) (= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0))} is VALID [2022-02-20 20:56:15,545 INFO L290 TraceCheckUtils]: 23: Hoare triple {419#(or (not (<= ~M~0 0)) (= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0))} [189] L35-->L34-1: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_4| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_4|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_4|} AuxVars[] AssignedVars[] {420#(<= 1 ~M~0)} is VALID [2022-02-20 20:56:15,546 INFO L290 TraceCheckUtils]: 24: Hoare triple {420#(<= 1 ~M~0)} [182] L34-1-->L71: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {420#(<= 1 ~M~0)} is VALID [2022-02-20 20:56:15,546 INFO L290 TraceCheckUtils]: 25: Hoare triple {420#(<= 1 ~M~0)} [135] L71-->L71-1: Formula: (= |v_ULTIMATE.start_main_#t~pre6#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1] {420#(<= 1 ~M~0)} is VALID [2022-02-20 20:56:15,547 INFO L290 TraceCheckUtils]: 26: Hoare triple {420#(<= 1 ~M~0)} [159] L71-1-->L71-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {420#(<= 1 ~M~0)} is VALID [2022-02-20 20:56:15,547 INFO L290 TraceCheckUtils]: 27: Hoare triple {420#(<= 1 ~M~0)} [198] L71-2-->L71-3: Formula: (= (store |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3| (store (select |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3|) |v_ULTIMATE.start_main_~#t1~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre6#1_3|)) |v_#memory_int_3|) InVars {#memory_int=|v_#memory_int_4|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} OutVars{#memory_int=|v_#memory_int_3|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} AuxVars[] AssignedVars[#memory_int] {420#(<= 1 ~M~0)} is VALID [2022-02-20 20:56:15,548 INFO L290 TraceCheckUtils]: 28: Hoare triple {420#(<= 1 ~M~0)} [228] L71-3-->thread1ENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre6#1_6| v_thread1Thread1of1ForFork0_thidvar0_2) (= v_thread1Thread1of1ForFork0_thidvar1_2 0)) InVars {ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_6|} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_6|, thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_4|, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_8|, thread1Thread1of1ForFork0_#t~post2=|v_thread1Thread1of1ForFork0_#t~post2_4|, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_12, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_2, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_4|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_2} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#t~post1, thread1Thread1of1ForFork0_#t~post2, thread1Thread1of1ForFork0_~i~0, thread1Thread1of1ForFork0_thidvar0, thread1Thread1of1ForFork0_#res.offset, thread1Thread1of1ForFork0_thidvar1] {420#(<= 1 ~M~0)} is VALID [2022-02-20 20:56:15,548 INFO L290 TraceCheckUtils]: 29: Hoare triple {420#(<= 1 ~M~0)} [150] L71-4-->L71-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1] {420#(<= 1 ~M~0)} is VALID [2022-02-20 20:56:15,548 INFO L290 TraceCheckUtils]: 30: Hoare triple {420#(<= 1 ~M~0)} [177] L71-5-->L72: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet7#1=|v_ULTIMATE.start_main_#t~nondet7#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet7#1] {420#(<= 1 ~M~0)} is VALID [2022-02-20 20:56:15,549 INFO L290 TraceCheckUtils]: 31: Hoare triple {420#(<= 1 ~M~0)} [206] L72-->L72-1: Formula: (= |v_ULTIMATE.start_main_#t~pre8#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre8#1] {420#(<= 1 ~M~0)} is VALID [2022-02-20 20:56:15,549 INFO L290 TraceCheckUtils]: 32: Hoare triple {420#(<= 1 ~M~0)} [130] L72-1-->L72-2: Formula: (= (+ 1 |v_#pthreadsForks_6|) |v_#pthreadsForks_5|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_5|} AuxVars[] AssignedVars[#pthreadsForks] {420#(<= 1 ~M~0)} is VALID [2022-02-20 20:56:15,550 INFO L290 TraceCheckUtils]: 33: Hoare triple {420#(<= 1 ~M~0)} [139] L72-2-->L72-3: Formula: (= (store |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3| (store (select |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3|) |v_ULTIMATE.start_main_~#t2~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre8#1_3|)) |v_#memory_int_5|) InVars {#memory_int=|v_#memory_int_6|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} OutVars{#memory_int=|v_#memory_int_5|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} AuxVars[] AssignedVars[#memory_int] {420#(<= 1 ~M~0)} is VALID [2022-02-20 20:56:15,550 INFO L290 TraceCheckUtils]: 34: Hoare triple {420#(<= 1 ~M~0)} [230] L72-3-->thread2ENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre8#1_6| v_thread2Thread1of1ForFork1_thidvar0_2) (= 0 v_thread2Thread1of1ForFork1_thidvar1_2) (= 0 v_thread2Thread1of1ForFork1_thidvar2_2)) InVars {ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_6|} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_4|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_12, thread2Thread1of1ForFork1_#t~post4=|v_thread2Thread1of1ForFork1_#t~post4_6|, thread2Thread1of1ForFork1_#t~post3=|v_thread2Thread1of1ForFork1_#t~post3_6|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_4|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_6|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_2, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_2, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_2} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_~i~1, thread2Thread1of1ForFork1_#t~post4, thread2Thread1of1ForFork1_#t~post3, thread2Thread1of1ForFork1_#res.base, thread2Thread1of1ForFork1_thidvar2, thread2Thread1of1ForFork1_thidvar0, thread2Thread1of1ForFork1_thidvar1] {420#(<= 1 ~M~0)} is VALID [2022-02-20 20:56:15,551 INFO L290 TraceCheckUtils]: 35: Hoare triple {420#(<= 1 ~M~0)} [200] L72-4-->L72-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre8#1] {420#(<= 1 ~M~0)} is VALID [2022-02-20 20:56:15,551 INFO L290 TraceCheckUtils]: 36: Hoare triple {420#(<= 1 ~M~0)} [133] L72-5-->L73: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet9#1=|v_ULTIMATE.start_main_#t~nondet9#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet9#1] {420#(<= 1 ~M~0)} is VALID [2022-02-20 20:56:15,551 INFO L290 TraceCheckUtils]: 37: Hoare triple {420#(<= 1 ~M~0)} [168] L73-->L73-1: Formula: (= |v_ULTIMATE.start_main_#t~mem10#1_2| (select (select |v_#memory_int_7| |v_ULTIMATE.start_main_~#t1~0#1.base_4|) |v_ULTIMATE.start_main_~#t1~0#1.offset_4|)) InVars {#memory_int=|v_#memory_int_7|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_4|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_4|} OutVars{#memory_int=|v_#memory_int_7|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_4|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_4|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10#1] {420#(<= 1 ~M~0)} is VALID [2022-02-20 20:56:15,554 INFO L290 TraceCheckUtils]: 38: Hoare triple {420#(<= 1 ~M~0)} [210] thread1ENTRY-->L41-4: Formula: (= v_thread1Thread1of1ForFork0_~i~0_1 0) InVars {} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_1} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_~i~0] {421#(and (= thread1Thread1of1ForFork0_~i~0 0) (<= 1 ~M~0))} is VALID [2022-02-20 20:56:15,555 INFO L290 TraceCheckUtils]: 39: Hoare triple {421#(and (= thread1Thread1of1ForFork0_~i~0 0) (<= 1 ~M~0))} [212] L41-4-->L41-5: Formula: (not (< v_thread1Thread1of1ForFork0_~i~0_3 v_~M~0_1)) InVars {~M~0=v_~M~0_1, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_3} OutVars{~M~0=v_~M~0_1, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_3} AuxVars[] AssignedVars[] {417#false} is VALID [2022-02-20 20:56:15,555 INFO L290 TraceCheckUtils]: 40: Hoare triple {417#false} [214] L41-5-->thread1FINAL: Formula: (and (= |v_thread1Thread1of1ForFork0_#res.base_1| 0) (= |v_thread1Thread1of1ForFork0_#res.offset_1| 0)) InVars {} OutVars{thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_1|, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#res.offset] {417#false} is VALID [2022-02-20 20:56:15,555 INFO L290 TraceCheckUtils]: 41: Hoare triple {417#false} [216] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {417#false} is VALID [2022-02-20 20:56:15,555 INFO L290 TraceCheckUtils]: 42: Hoare triple {417#false} [231] thread1EXIT-->L73-2: Formula: (and (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem10#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ .cse0 (- 4294967296)))) v_thread1Thread1of1ForFork0_thidvar0_4) (= v_thread1Thread1of1ForFork0_thidvar1_4 0)) InVars {thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|} OutVars{thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|} AuxVars[] AssignedVars[] {417#false} is VALID [2022-02-20 20:56:15,556 INFO L290 TraceCheckUtils]: 43: Hoare triple {417#false} [169] L73-2-->L74: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10#1] {417#false} is VALID [2022-02-20 20:56:15,556 INFO L290 TraceCheckUtils]: 44: Hoare triple {417#false} [131] L74-->L74-1: Formula: (= (select (select |v_#memory_int_8| |v_ULTIMATE.start_main_~#t2~0#1.base_4|) |v_ULTIMATE.start_main_~#t2~0#1.offset_4|) |v_ULTIMATE.start_main_#t~mem11#1_2|) InVars {#memory_int=|v_#memory_int_8|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_4|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_2|, #memory_int=|v_#memory_int_8|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_4|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem11#1] {417#false} is VALID [2022-02-20 20:56:15,556 INFO L290 TraceCheckUtils]: 45: Hoare triple {417#false} [220] thread2ENTRY-->L54-1: Formula: (= v_thread2Thread1of1ForFork1_~i~1_1 0) InVars {} OutVars{thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_~i~1] {417#false} is VALID [2022-02-20 20:56:15,556 INFO L290 TraceCheckUtils]: 46: Hoare triple {417#false} [222] L54-1-->L52-2: Formula: (not (< v_thread2Thread1of1ForFork1_~i~1_3 v_~M~0_3)) InVars {~M~0=v_~M~0_3, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_3} OutVars{~M~0=v_~M~0_3, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_3} AuxVars[] AssignedVars[] {417#false} is VALID [2022-02-20 20:56:15,556 INFO L290 TraceCheckUtils]: 47: Hoare triple {417#false} [224] L52-2-->thread2FINAL: Formula: (and (= |v_thread2Thread1of1ForFork1_#res.base_1| 0) (= |v_thread2Thread1of1ForFork1_#res.offset_1| 0)) InVars {} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_1|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_1|} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_#res.base] {417#false} is VALID [2022-02-20 20:56:15,557 INFO L290 TraceCheckUtils]: 48: Hoare triple {417#false} [226] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {417#false} is VALID [2022-02-20 20:56:15,557 INFO L290 TraceCheckUtils]: 49: Hoare triple {417#false} [232] thread2EXIT-->L74-2: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar2_4) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem11#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ (- 4294967296) .cse0))) v_thread2Thread1of1ForFork1_thidvar0_4) (= 0 v_thread2Thread1of1ForFork1_thidvar1_4)) InVars {ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_5|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_5|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} AuxVars[] AssignedVars[] {417#false} is VALID [2022-02-20 20:56:15,559 INFO L290 TraceCheckUtils]: 50: Hoare triple {417#false} [173] L74-2-->L76: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem11#1] {417#false} is VALID [2022-02-20 20:56:15,559 INFO L290 TraceCheckUtils]: 51: Hoare triple {417#false} [207] L76-->L76-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {417#false} is VALID [2022-02-20 20:56:15,560 INFO L290 TraceCheckUtils]: 52: Hoare triple {417#false} [186] L76-1-->L76-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3| (ite (not (= v_~counter~0_8 0)) 1 0)) InVars {~counter~0=v_~counter~0_8} OutVars{~counter~0=v_~counter~0_8, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] {417#false} is VALID [2022-02-20 20:56:15,560 INFO L290 TraceCheckUtils]: 53: Hoare triple {417#false} [193] L76-2-->L34-2: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_5|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {417#false} is VALID [2022-02-20 20:56:15,560 INFO L290 TraceCheckUtils]: 54: Hoare triple {417#false} [174] L34-2-->L35-3: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {417#false} is VALID [2022-02-20 20:56:15,560 INFO L290 TraceCheckUtils]: 55: Hoare triple {417#false} [145] L35-3-->L34-3: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_8| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_8|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_8|} AuxVars[] AssignedVars[] {417#false} is VALID [2022-02-20 20:56:15,560 INFO L290 TraceCheckUtils]: 56: Hoare triple {417#false} [154] L34-3-->L77: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {417#false} is VALID [2022-02-20 20:56:15,560 INFO L290 TraceCheckUtils]: 57: Hoare triple {417#false} [146] L77-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {417#false} is VALID [2022-02-20 20:56:15,561 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 20:56:15,561 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 20:56:15,563 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1159242277] [2022-02-20 20:56:15,563 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1159242277] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 20:56:15,563 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 20:56:15,564 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-02-20 20:56:15,564 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [447281036] [2022-02-20 20:56:15,564 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 20:56:15,565 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 9.666666666666666) internal successors, (58), 6 states have internal predecessors, (58), 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 58 [2022-02-20 20:56:15,565 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 20:56:15,565 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 9.666666666666666) internal successors, (58), 6 states have internal predecessors, (58), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:15,609 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 20:56:15,610 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 20:56:15,610 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 20:56:15,613 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 20:56:15,614 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=16, Unknown=0, NotChecked=0, Total=30 [2022-02-20 20:56:15,615 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 52 out of 82 [2022-02-20 20:56:15,616 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 69 places, 65 transitions, 134 flow. Second operand has 6 states, 6 states have (on average 54.833333333333336) internal successors, (329), 6 states have internal predecessors, (329), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:15,616 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 20:56:15,616 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 52 of 82 [2022-02-20 20:56:15,616 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 20:56:15,744 INFO L129 PetriNetUnfolder]: 64/183 cut-off events. [2022-02-20 20:56:15,744 INFO L130 PetriNetUnfolder]: For 5/5 co-relation queries the response was YES. [2022-02-20 20:56:15,745 INFO L84 FinitePrefix]: Finished finitePrefix Result has 325 conditions, 183 events. 64/183 cut-off events. For 5/5 co-relation queries the response was YES. Maximal size of possible extension queue 15. Compared 533 event pairs, 25 based on Foata normal form. 0/153 useless extension candidates. Maximal degree in co-relation 322. Up to 80 conditions per place. [2022-02-20 20:56:15,746 INFO L132 encePairwiseOnDemand]: 76/82 looper letters, 26 selfloop transitions, 5 changer transitions 0/73 dead transitions. [2022-02-20 20:56:15,746 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 72 places, 73 transitions, 213 flow [2022-02-20 20:56:15,746 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 20:56:15,746 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2022-02-20 20:56:15,752 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 344 transitions. [2022-02-20 20:56:15,752 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.6991869918699187 [2022-02-20 20:56:15,752 INFO L72 ComplementDD]: Start complementDD. Operand 6 states and 344 transitions. [2022-02-20 20:56:15,752 INFO L73 IsDeterministic]: Start isDeterministic. Operand 6 states and 344 transitions. [2022-02-20 20:56:15,752 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 20:56:15,752 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 6 states and 344 transitions. [2022-02-20 20:56:15,754 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 7 states, 6 states have (on average 57.333333333333336) internal successors, (344), 6 states have internal predecessors, (344), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:15,755 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 7 states, 7 states have (on average 82.0) internal successors, (574), 7 states have internal predecessors, (574), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:15,755 INFO L81 ComplementDD]: Finished complementDD. Result has 7 states, 7 states have (on average 82.0) internal successors, (574), 7 states have internal predecessors, (574), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:15,755 INFO L186 Difference]: Start difference. First operand has 69 places, 65 transitions, 134 flow. Second operand 6 states and 344 transitions. [2022-02-20 20:56:15,755 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 72 places, 73 transitions, 213 flow [2022-02-20 20:56:15,756 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 72 places, 73 transitions, 213 flow, removed 0 selfloop flow, removed 0 redundant places. [2022-02-20 20:56:15,757 INFO L242 Difference]: Finished difference. Result has 73 places, 66 transitions, 152 flow [2022-02-20 20:56:15,758 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=82, PETRI_DIFFERENCE_MINUEND_FLOW=134, PETRI_DIFFERENCE_MINUEND_PLACES=67, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=65, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=4, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=60, PETRI_DIFFERENCE_SUBTRAHEND_STATES=6, PETRI_FLOW=152, PETRI_PLACES=73, PETRI_TRANSITIONS=66} [2022-02-20 20:56:15,758 INFO L334 CegarLoopForPetriNet]: 72 programPoint places, 1 predicate places. [2022-02-20 20:56:15,758 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 73 places, 66 transitions, 152 flow [2022-02-20 20:56:15,785 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 446 states, 445 states have (on average 2.444943820224719) internal successors, (1088), 445 states have internal predecessors, (1088), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:15,786 INFO L78 Accepts]: Start accepts. Automaton has has 446 states, 445 states have (on average 2.444943820224719) internal successors, (1088), 445 states have internal predecessors, (1088), 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 58 [2022-02-20 20:56:15,787 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 20:56:15,787 INFO L470 AbstractCegarLoop]: Abstraction has has 73 places, 66 transitions, 152 flow [2022-02-20 20:56:15,787 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 54.833333333333336) internal successors, (329), 6 states have internal predecessors, (329), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:15,787 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:56:15,788 INFO L254 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 20:56:15,788 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-20 20:56:15,788 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION] === [2022-02-20 20:56:15,790 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:56:15,790 INFO L85 PathProgramCache]: Analyzing trace with hash -332340421, now seen corresponding path program 1 times [2022-02-20 20:56:15,790 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:56:15,790 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1387945685] [2022-02-20 20:56:15,791 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:56:15,791 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:56:15,830 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:56:15,872 INFO L290 TraceCheckUtils]: 0: Hoare triple {873#true} [191] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {873#true} is VALID [2022-02-20 20:56:15,873 INFO L290 TraceCheckUtils]: 1: Hoare triple {873#true} [172] 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] {873#true} is VALID [2022-02-20 20:56:15,873 INFO L290 TraceCheckUtils]: 2: Hoare triple {873#true} [197] L-1-1-->L-1-2: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] {873#true} is VALID [2022-02-20 20:56:15,873 INFO L290 TraceCheckUtils]: 3: Hoare triple {873#true} [199] L-1-2-->L21: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {873#true} is VALID [2022-02-20 20:56:15,873 INFO L290 TraceCheckUtils]: 4: Hoare triple {873#true} [165] L21-->L21-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[] {873#true} is VALID [2022-02-20 20:56:15,874 INFO L290 TraceCheckUtils]: 5: Hoare triple {873#true} [187] L21-1-->L21-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[] {873#true} is VALID [2022-02-20 20:56:15,874 INFO L290 TraceCheckUtils]: 6: Hoare triple {873#true} [184] L21-2-->L21-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[] {873#true} is VALID [2022-02-20 20:56:15,874 INFO L290 TraceCheckUtils]: 7: Hoare triple {873#true} [156] L21-3-->L21-4: Formula: (and (= 30 (select |v_#length_2| 2)) (= (select |v_#valid_3| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {873#true} is VALID [2022-02-20 20:56:15,874 INFO L290 TraceCheckUtils]: 8: Hoare triple {873#true} [204] L21-4-->L38: Formula: (= v_~M~0_5 0) InVars {} OutVars{~M~0=v_~M~0_5} AuxVars[] AssignedVars[~M~0] {873#true} is VALID [2022-02-20 20:56:15,875 INFO L290 TraceCheckUtils]: 9: Hoare triple {873#true} [205] L38-->L-1-3: Formula: (= v_~counter~0_7 0) InVars {} OutVars{~counter~0=v_~counter~0_7} AuxVars[] AssignedVars[~counter~0] {873#true} is VALID [2022-02-20 20:56:15,875 INFO L290 TraceCheckUtils]: 10: Hoare triple {873#true} [201] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {873#true} is VALID [2022-02-20 20:56:15,875 INFO L290 TraceCheckUtils]: 11: Hoare triple {873#true} [181] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {873#true} is VALID [2022-02-20 20:56:15,875 INFO L290 TraceCheckUtils]: 12: Hoare triple {873#true} [151] L-1-5-->L-1-6: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {873#true} is VALID [2022-02-20 20:56:15,875 INFO L290 TraceCheckUtils]: 13: Hoare triple {873#true} [178] L-1-6-->L65: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_1|, ULTIMATE.start_main_#t~nondet9#1=|v_ULTIMATE.start_main_#t~nondet9#1_1|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_1|, ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_1|, ULTIMATE.start_main_#t~nondet7#1=|v_ULTIMATE.start_main_#t~nondet7#1_1|, ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_1|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_1|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_1|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_1|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_1|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1, ULTIMATE.start_main_#t~nondet9#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_#t~nondet5#1, ULTIMATE.start_main_#t~nondet7#1, ULTIMATE.start_main_#t~mem11#1, ULTIMATE.start_main_#t~pre8#1, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset, ULTIMATE.start_main_#t~mem10#1, ULTIMATE.start_main_~#t2~0#1.base] {873#true} is VALID [2022-02-20 20:56:15,876 INFO L290 TraceCheckUtils]: 14: Hoare triple {873#true} [208] L65-->L65-1: Formula: (and (= |v_ULTIMATE.start_main_~#t1~0#1.offset_2| 0) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) 0) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 4)) (not (= |v_ULTIMATE.start_main_~#t1~0#1.base_2| 0)) (= (store |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 1) |v_#valid_4|)) 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_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_2|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[#valid, #length, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset] {873#true} is VALID [2022-02-20 20:56:15,876 INFO L290 TraceCheckUtils]: 15: Hoare triple {873#true} [194] L65-1-->L65-2: Formula: (and (= |v_#length_5| (store |v_#length_6| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 4)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2|) 0) (= (store |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 1) |v_#valid_6|) (not (= |v_ULTIMATE.start_main_~#t2~0#1.base_2| 0)) (= 0 |v_ULTIMATE.start_main_~#t2~0#1.offset_2|) (< |v_#StackHeapBarrier_3| |v_ULTIMATE.start_main_~#t2~0#1.base_2|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_7|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_5|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_2|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t2~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t2~0#1.base] {873#true} is VALID [2022-02-20 20:56:15,876 INFO L290 TraceCheckUtils]: 16: Hoare triple {873#true} [171] L65-2-->L67: Formula: (and (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet5#1_2| 2147483648)) (<= |v_ULTIMATE.start_main_#t~nondet5#1_2| 2147483647)) InVars {ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_2|} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_2|} AuxVars[] AssignedVars[] {873#true} is VALID [2022-02-20 20:56:15,876 INFO L290 TraceCheckUtils]: 17: Hoare triple {873#true} [190] L67-->L67-1: Formula: (= |v_ULTIMATE.start_main_#t~nondet5#1_3| v_~M~0_6) InVars {ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_3|} OutVars{~M~0=v_~M~0_6, ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_3|} AuxVars[] AssignedVars[~M~0] {873#true} is VALID [2022-02-20 20:56:15,877 INFO L290 TraceCheckUtils]: 18: Hoare triple {873#true} [162] L67-1-->L68: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet5#1] {873#true} is VALID [2022-02-20 20:56:15,877 INFO L290 TraceCheckUtils]: 19: Hoare triple {873#true} [196] L68-->L68-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {873#true} is VALID [2022-02-20 20:56:15,877 INFO L290 TraceCheckUtils]: 20: Hoare triple {873#true} [160] L68-1-->L68-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1| (ite (< 0 v_~M~0_7) 1 0)) InVars {~M~0=v_~M~0_7} OutVars{~M~0=v_~M~0_7, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] {873#true} is VALID [2022-02-20 20:56:15,877 INFO L290 TraceCheckUtils]: 21: Hoare triple {873#true} [143] L68-2-->L34: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {873#true} is VALID [2022-02-20 20:56:15,878 INFO L290 TraceCheckUtils]: 22: Hoare triple {873#true} [164] L34-->L35: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_2|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_2|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {873#true} is VALID [2022-02-20 20:56:15,878 INFO L290 TraceCheckUtils]: 23: Hoare triple {873#true} [189] L35-->L34-1: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_4| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_4|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_4|} AuxVars[] AssignedVars[] {873#true} is VALID [2022-02-20 20:56:15,878 INFO L290 TraceCheckUtils]: 24: Hoare triple {873#true} [182] L34-1-->L71: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {873#true} is VALID [2022-02-20 20:56:15,878 INFO L290 TraceCheckUtils]: 25: Hoare triple {873#true} [135] L71-->L71-1: Formula: (= |v_ULTIMATE.start_main_#t~pre6#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1] {873#true} is VALID [2022-02-20 20:56:15,878 INFO L290 TraceCheckUtils]: 26: Hoare triple {873#true} [159] L71-1-->L71-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {873#true} is VALID [2022-02-20 20:56:15,879 INFO L290 TraceCheckUtils]: 27: Hoare triple {873#true} [198] L71-2-->L71-3: Formula: (= (store |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3| (store (select |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3|) |v_ULTIMATE.start_main_~#t1~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre6#1_3|)) |v_#memory_int_3|) InVars {#memory_int=|v_#memory_int_4|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} OutVars{#memory_int=|v_#memory_int_3|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} AuxVars[] AssignedVars[#memory_int] {873#true} is VALID [2022-02-20 20:56:15,879 INFO L290 TraceCheckUtils]: 28: Hoare triple {873#true} [228] L71-3-->thread1ENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre6#1_6| v_thread1Thread1of1ForFork0_thidvar0_2) (= v_thread1Thread1of1ForFork0_thidvar1_2 0)) InVars {ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_6|} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_6|, thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_4|, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_8|, thread1Thread1of1ForFork0_#t~post2=|v_thread1Thread1of1ForFork0_#t~post2_4|, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_12, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_2, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_4|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_2} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#t~post1, thread1Thread1of1ForFork0_#t~post2, thread1Thread1of1ForFork0_~i~0, thread1Thread1of1ForFork0_thidvar0, thread1Thread1of1ForFork0_#res.offset, thread1Thread1of1ForFork0_thidvar1] {873#true} is VALID [2022-02-20 20:56:15,879 INFO L290 TraceCheckUtils]: 29: Hoare triple {873#true} [150] L71-4-->L71-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1] {873#true} is VALID [2022-02-20 20:56:15,879 INFO L290 TraceCheckUtils]: 30: Hoare triple {873#true} [177] L71-5-->L72: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet7#1=|v_ULTIMATE.start_main_#t~nondet7#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet7#1] {873#true} is VALID [2022-02-20 20:56:15,880 INFO L290 TraceCheckUtils]: 31: Hoare triple {873#true} [206] L72-->L72-1: Formula: (= |v_ULTIMATE.start_main_#t~pre8#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre8#1] {873#true} is VALID [2022-02-20 20:56:15,880 INFO L290 TraceCheckUtils]: 32: Hoare triple {873#true} [130] L72-1-->L72-2: Formula: (= (+ 1 |v_#pthreadsForks_6|) |v_#pthreadsForks_5|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_5|} AuxVars[] AssignedVars[#pthreadsForks] {873#true} is VALID [2022-02-20 20:56:15,880 INFO L290 TraceCheckUtils]: 33: Hoare triple {873#true} [139] L72-2-->L72-3: Formula: (= (store |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3| (store (select |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3|) |v_ULTIMATE.start_main_~#t2~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre8#1_3|)) |v_#memory_int_5|) InVars {#memory_int=|v_#memory_int_6|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} OutVars{#memory_int=|v_#memory_int_5|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} AuxVars[] AssignedVars[#memory_int] {873#true} is VALID [2022-02-20 20:56:15,880 INFO L290 TraceCheckUtils]: 34: Hoare triple {873#true} [230] L72-3-->thread2ENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre8#1_6| v_thread2Thread1of1ForFork1_thidvar0_2) (= 0 v_thread2Thread1of1ForFork1_thidvar1_2) (= 0 v_thread2Thread1of1ForFork1_thidvar2_2)) InVars {ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_6|} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_4|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_12, thread2Thread1of1ForFork1_#t~post4=|v_thread2Thread1of1ForFork1_#t~post4_6|, thread2Thread1of1ForFork1_#t~post3=|v_thread2Thread1of1ForFork1_#t~post3_6|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_4|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_6|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_2, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_2, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_2} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_~i~1, thread2Thread1of1ForFork1_#t~post4, thread2Thread1of1ForFork1_#t~post3, thread2Thread1of1ForFork1_#res.base, thread2Thread1of1ForFork1_thidvar2, thread2Thread1of1ForFork1_thidvar0, thread2Thread1of1ForFork1_thidvar1] {873#true} is VALID [2022-02-20 20:56:15,881 INFO L290 TraceCheckUtils]: 35: Hoare triple {873#true} [220] thread2ENTRY-->L54-1: Formula: (= v_thread2Thread1of1ForFork1_~i~1_1 0) InVars {} OutVars{thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_~i~1] {875#(= thread2Thread1of1ForFork1_~i~1 0)} is VALID [2022-02-20 20:56:15,881 INFO L290 TraceCheckUtils]: 36: Hoare triple {875#(= thread2Thread1of1ForFork1_~i~1 0)} [222] L54-1-->L52-2: Formula: (not (< v_thread2Thread1of1ForFork1_~i~1_3 v_~M~0_3)) InVars {~M~0=v_~M~0_3, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_3} OutVars{~M~0=v_~M~0_3, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_3} AuxVars[] AssignedVars[] {876#(<= ~M~0 0)} is VALID [2022-02-20 20:56:15,882 INFO L290 TraceCheckUtils]: 37: Hoare triple {876#(<= ~M~0 0)} [210] thread1ENTRY-->L41-4: Formula: (= v_thread1Thread1of1ForFork0_~i~0_1 0) InVars {} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_1} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_~i~0] {877#(and (= thread1Thread1of1ForFork0_~i~0 0) (<= ~M~0 0))} is VALID [2022-02-20 20:56:15,882 INFO L290 TraceCheckUtils]: 38: Hoare triple {877#(and (= thread1Thread1of1ForFork0_~i~0 0) (<= ~M~0 0))} [213] L41-4-->L42: Formula: (< v_thread1Thread1of1ForFork0_~i~0_5 v_~M~0_2) InVars {~M~0=v_~M~0_2, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_5} OutVars{~M~0=v_~M~0_2, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_5} AuxVars[] AssignedVars[] {874#false} is VALID [2022-02-20 20:56:15,882 INFO L290 TraceCheckUtils]: 39: Hoare triple {874#false} [215] L42-->L44: Formula: (= (+ v_~counter~0_26 1) v_~counter~0_25) InVars {~counter~0=v_~counter~0_26} OutVars{~counter~0=v_~counter~0_25, thread1Thread1of1ForFork0_#t~post2=|v_thread1Thread1of1ForFork0_#t~post2_1|} AuxVars[] AssignedVars[~counter~0, thread1Thread1of1ForFork0_#t~post2] {874#false} is VALID [2022-02-20 20:56:15,883 INFO L290 TraceCheckUtils]: 40: Hoare triple {874#false} [217] L44-->L41-2: Formula: (= v_thread1Thread1of1ForFork0_~i~0_7 |v_thread1Thread1of1ForFork0_#t~post1_1|) InVars {thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_7} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_7, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1] {874#false} is VALID [2022-02-20 20:56:15,883 INFO L290 TraceCheckUtils]: 41: Hoare triple {874#false} [218] L41-2-->L41-3: Formula: (= v_thread1Thread1of1ForFork0_~i~0_9 (+ |v_thread1Thread1of1ForFork0_#t~post1_3| 1)) InVars {thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_3|} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_9, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_3|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_~i~0] {874#false} is VALID [2022-02-20 20:56:15,883 INFO L290 TraceCheckUtils]: 42: Hoare triple {874#false} [219] L41-3-->L41-4: Formula: true InVars {} OutVars{thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_5|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1] {874#false} is VALID [2022-02-20 20:56:15,883 INFO L290 TraceCheckUtils]: 43: Hoare triple {874#false} [212] L41-4-->L41-5: Formula: (not (< v_thread1Thread1of1ForFork0_~i~0_3 v_~M~0_1)) InVars {~M~0=v_~M~0_1, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_3} OutVars{~M~0=v_~M~0_1, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_3} AuxVars[] AssignedVars[] {874#false} is VALID [2022-02-20 20:56:15,883 INFO L290 TraceCheckUtils]: 44: Hoare triple {874#false} [214] L41-5-->thread1FINAL: Formula: (and (= |v_thread1Thread1of1ForFork0_#res.base_1| 0) (= |v_thread1Thread1of1ForFork0_#res.offset_1| 0)) InVars {} OutVars{thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_1|, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#res.offset] {874#false} is VALID [2022-02-20 20:56:15,884 INFO L290 TraceCheckUtils]: 45: Hoare triple {874#false} [216] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {874#false} is VALID [2022-02-20 20:56:15,884 INFO L290 TraceCheckUtils]: 46: Hoare triple {874#false} [200] L72-4-->L72-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre8#1] {874#false} is VALID [2022-02-20 20:56:15,884 INFO L290 TraceCheckUtils]: 47: Hoare triple {874#false} [133] L72-5-->L73: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet9#1=|v_ULTIMATE.start_main_#t~nondet9#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet9#1] {874#false} is VALID [2022-02-20 20:56:15,884 INFO L290 TraceCheckUtils]: 48: Hoare triple {874#false} [168] L73-->L73-1: Formula: (= |v_ULTIMATE.start_main_#t~mem10#1_2| (select (select |v_#memory_int_7| |v_ULTIMATE.start_main_~#t1~0#1.base_4|) |v_ULTIMATE.start_main_~#t1~0#1.offset_4|)) InVars {#memory_int=|v_#memory_int_7|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_4|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_4|} OutVars{#memory_int=|v_#memory_int_7|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_4|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_4|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10#1] {874#false} is VALID [2022-02-20 20:56:15,884 INFO L290 TraceCheckUtils]: 49: Hoare triple {874#false} [231] thread1EXIT-->L73-2: Formula: (and (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem10#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ .cse0 (- 4294967296)))) v_thread1Thread1of1ForFork0_thidvar0_4) (= v_thread1Thread1of1ForFork0_thidvar1_4 0)) InVars {thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|} OutVars{thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|} AuxVars[] AssignedVars[] {874#false} is VALID [2022-02-20 20:56:15,885 INFO L290 TraceCheckUtils]: 50: Hoare triple {874#false} [169] L73-2-->L74: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10#1] {874#false} is VALID [2022-02-20 20:56:15,885 INFO L290 TraceCheckUtils]: 51: Hoare triple {874#false} [131] L74-->L74-1: Formula: (= (select (select |v_#memory_int_8| |v_ULTIMATE.start_main_~#t2~0#1.base_4|) |v_ULTIMATE.start_main_~#t2~0#1.offset_4|) |v_ULTIMATE.start_main_#t~mem11#1_2|) InVars {#memory_int=|v_#memory_int_8|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_4|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_2|, #memory_int=|v_#memory_int_8|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_4|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem11#1] {874#false} is VALID [2022-02-20 20:56:15,885 INFO L290 TraceCheckUtils]: 52: Hoare triple {874#false} [224] L52-2-->thread2FINAL: Formula: (and (= |v_thread2Thread1of1ForFork1_#res.base_1| 0) (= |v_thread2Thread1of1ForFork1_#res.offset_1| 0)) InVars {} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_1|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_1|} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_#res.base] {874#false} is VALID [2022-02-20 20:56:15,885 INFO L290 TraceCheckUtils]: 53: Hoare triple {874#false} [226] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {874#false} is VALID [2022-02-20 20:56:15,885 INFO L290 TraceCheckUtils]: 54: Hoare triple {874#false} [232] thread2EXIT-->L74-2: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar2_4) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem11#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ (- 4294967296) .cse0))) v_thread2Thread1of1ForFork1_thidvar0_4) (= 0 v_thread2Thread1of1ForFork1_thidvar1_4)) InVars {ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_5|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_5|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} AuxVars[] AssignedVars[] {874#false} is VALID [2022-02-20 20:56:15,886 INFO L290 TraceCheckUtils]: 55: Hoare triple {874#false} [173] L74-2-->L76: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem11#1] {874#false} is VALID [2022-02-20 20:56:15,886 INFO L290 TraceCheckUtils]: 56: Hoare triple {874#false} [207] L76-->L76-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {874#false} is VALID [2022-02-20 20:56:15,886 INFO L290 TraceCheckUtils]: 57: Hoare triple {874#false} [186] L76-1-->L76-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3| (ite (not (= v_~counter~0_8 0)) 1 0)) InVars {~counter~0=v_~counter~0_8} OutVars{~counter~0=v_~counter~0_8, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] {874#false} is VALID [2022-02-20 20:56:15,886 INFO L290 TraceCheckUtils]: 58: Hoare triple {874#false} [193] L76-2-->L34-2: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_5|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {874#false} is VALID [2022-02-20 20:56:15,886 INFO L290 TraceCheckUtils]: 59: Hoare triple {874#false} [174] L34-2-->L35-3: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {874#false} is VALID [2022-02-20 20:56:15,887 INFO L290 TraceCheckUtils]: 60: Hoare triple {874#false} [145] L35-3-->L34-3: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_8| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_8|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_8|} AuxVars[] AssignedVars[] {874#false} is VALID [2022-02-20 20:56:15,887 INFO L290 TraceCheckUtils]: 61: Hoare triple {874#false} [154] L34-3-->L77: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {874#false} is VALID [2022-02-20 20:56:15,887 INFO L290 TraceCheckUtils]: 62: Hoare triple {874#false} [146] L77-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {874#false} is VALID [2022-02-20 20:56:15,888 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 20:56:15,888 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 20:56:15,888 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1387945685] [2022-02-20 20:56:15,888 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1387945685] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 20:56:15,888 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 20:56:15,888 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 20:56:15,889 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [62376075] [2022-02-20 20:56:15,889 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 20:56:15,889 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 12.6) internal successors, (63), 5 states have internal predecessors, (63), 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 63 [2022-02-20 20:56:15,890 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 20:56:15,890 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 12.6) internal successors, (63), 5 states have internal predecessors, (63), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:15,930 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 20:56:15,930 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 20:56:15,930 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 20:56:15,931 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 20:56:15,931 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-02-20 20:56:15,931 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 60 out of 82 [2022-02-20 20:56:15,932 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 73 places, 66 transitions, 152 flow. Second operand has 5 states, 5 states have (on average 63.0) internal successors, (315), 5 states have internal predecessors, (315), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:15,932 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 20:56:15,932 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 60 of 82 [2022-02-20 20:56:15,932 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 20:56:16,043 INFO L129 PetriNetUnfolder]: 87/281 cut-off events. [2022-02-20 20:56:16,043 INFO L130 PetriNetUnfolder]: For 52/52 co-relation queries the response was YES. [2022-02-20 20:56:16,044 INFO L84 FinitePrefix]: Finished finitePrefix Result has 520 conditions, 281 events. 87/281 cut-off events. For 52/52 co-relation queries the response was YES. Maximal size of possible extension queue 19. Compared 1071 event pairs, 39 based on Foata normal form. 1/254 useless extension candidates. Maximal degree in co-relation 515. Up to 113 conditions per place. [2022-02-20 20:56:16,045 INFO L132 encePairwiseOnDemand]: 75/82 looper letters, 32 selfloop transitions, 5 changer transitions 1/86 dead transitions. [2022-02-20 20:56:16,046 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 78 places, 86 transitions, 291 flow [2022-02-20 20:56:16,046 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 20:56:16,046 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2022-02-20 20:56:16,052 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 396 transitions. [2022-02-20 20:56:16,052 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.8048780487804879 [2022-02-20 20:56:16,052 INFO L72 ComplementDD]: Start complementDD. Operand 6 states and 396 transitions. [2022-02-20 20:56:16,053 INFO L73 IsDeterministic]: Start isDeterministic. Operand 6 states and 396 transitions. [2022-02-20 20:56:16,053 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 20:56:16,053 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 6 states and 396 transitions. [2022-02-20 20:56:16,055 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 7 states, 6 states have (on average 66.0) internal successors, (396), 6 states have internal predecessors, (396), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:16,056 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 7 states, 7 states have (on average 82.0) internal successors, (574), 7 states have internal predecessors, (574), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:16,056 INFO L81 ComplementDD]: Finished complementDD. Result has 7 states, 7 states have (on average 82.0) internal successors, (574), 7 states have internal predecessors, (574), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:16,057 INFO L186 Difference]: Start difference. First operand has 73 places, 66 transitions, 152 flow. Second operand 6 states and 396 transitions. [2022-02-20 20:56:16,057 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 78 places, 86 transitions, 291 flow [2022-02-20 20:56:16,058 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 74 places, 86 transitions, 279 flow, removed 0 selfloop flow, removed 4 redundant places. [2022-02-20 20:56:16,059 INFO L242 Difference]: Finished difference. Result has 77 places, 68 transitions, 170 flow [2022-02-20 20:56:16,060 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=82, PETRI_DIFFERENCE_MINUEND_FLOW=144, PETRI_DIFFERENCE_MINUEND_PLACES=69, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=66, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=3, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=61, PETRI_DIFFERENCE_SUBTRAHEND_STATES=6, PETRI_FLOW=170, PETRI_PLACES=77, PETRI_TRANSITIONS=68} [2022-02-20 20:56:16,060 INFO L334 CegarLoopForPetriNet]: 72 programPoint places, 5 predicate places. [2022-02-20 20:56:16,061 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 77 places, 68 transitions, 170 flow [2022-02-20 20:56:16,075 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 730 states, 727 states have (on average 2.517193947730399) internal successors, (1830), 729 states have internal predecessors, (1830), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:16,077 INFO L78 Accepts]: Start accepts. Automaton has has 730 states, 727 states have (on average 2.517193947730399) internal successors, (1830), 729 states have internal predecessors, (1830), 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 63 [2022-02-20 20:56:16,077 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 20:56:16,077 INFO L470 AbstractCegarLoop]: Abstraction has has 77 places, 68 transitions, 170 flow [2022-02-20 20:56:16,078 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 63.0) internal successors, (315), 5 states have internal predecessors, (315), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:16,078 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:56:16,078 INFO L254 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 20:56:16,078 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-02-20 20:56:16,078 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION] === [2022-02-20 20:56:16,079 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:56:16,079 INFO L85 PathProgramCache]: Analyzing trace with hash -1995633417, now seen corresponding path program 2 times [2022-02-20 20:56:16,079 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:56:16,079 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [534220178] [2022-02-20 20:56:16,080 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:56:16,080 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:56:16,102 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:56:16,149 INFO L290 TraceCheckUtils]: 0: Hoare triple {1617#true} [191] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1617#true} is VALID [2022-02-20 20:56:16,149 INFO L290 TraceCheckUtils]: 1: Hoare triple {1617#true} [172] 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] {1617#true} is VALID [2022-02-20 20:56:16,149 INFO L290 TraceCheckUtils]: 2: Hoare triple {1617#true} [197] L-1-1-->L-1-2: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] {1617#true} is VALID [2022-02-20 20:56:16,149 INFO L290 TraceCheckUtils]: 3: Hoare triple {1617#true} [199] L-1-2-->L21: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {1617#true} is VALID [2022-02-20 20:56:16,149 INFO L290 TraceCheckUtils]: 4: Hoare triple {1617#true} [165] L21-->L21-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[] {1617#true} is VALID [2022-02-20 20:56:16,150 INFO L290 TraceCheckUtils]: 5: Hoare triple {1617#true} [187] L21-1-->L21-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[] {1617#true} is VALID [2022-02-20 20:56:16,150 INFO L290 TraceCheckUtils]: 6: Hoare triple {1617#true} [184] L21-2-->L21-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[] {1617#true} is VALID [2022-02-20 20:56:16,150 INFO L290 TraceCheckUtils]: 7: Hoare triple {1617#true} [156] L21-3-->L21-4: Formula: (and (= 30 (select |v_#length_2| 2)) (= (select |v_#valid_3| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {1617#true} is VALID [2022-02-20 20:56:16,150 INFO L290 TraceCheckUtils]: 8: Hoare triple {1617#true} [204] L21-4-->L38: Formula: (= v_~M~0_5 0) InVars {} OutVars{~M~0=v_~M~0_5} AuxVars[] AssignedVars[~M~0] {1617#true} is VALID [2022-02-20 20:56:16,150 INFO L290 TraceCheckUtils]: 9: Hoare triple {1617#true} [205] L38-->L-1-3: Formula: (= v_~counter~0_7 0) InVars {} OutVars{~counter~0=v_~counter~0_7} AuxVars[] AssignedVars[~counter~0] {1617#true} is VALID [2022-02-20 20:56:16,150 INFO L290 TraceCheckUtils]: 10: Hoare triple {1617#true} [201] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1617#true} is VALID [2022-02-20 20:56:16,150 INFO L290 TraceCheckUtils]: 11: Hoare triple {1617#true} [181] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1617#true} is VALID [2022-02-20 20:56:16,151 INFO L290 TraceCheckUtils]: 12: Hoare triple {1617#true} [151] L-1-5-->L-1-6: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {1617#true} is VALID [2022-02-20 20:56:16,151 INFO L290 TraceCheckUtils]: 13: Hoare triple {1617#true} [178] L-1-6-->L65: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_1|, ULTIMATE.start_main_#t~nondet9#1=|v_ULTIMATE.start_main_#t~nondet9#1_1|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_1|, ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_1|, ULTIMATE.start_main_#t~nondet7#1=|v_ULTIMATE.start_main_#t~nondet7#1_1|, ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_1|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_1|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_1|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_1|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_1|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1, ULTIMATE.start_main_#t~nondet9#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_#t~nondet5#1, ULTIMATE.start_main_#t~nondet7#1, ULTIMATE.start_main_#t~mem11#1, ULTIMATE.start_main_#t~pre8#1, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset, ULTIMATE.start_main_#t~mem10#1, ULTIMATE.start_main_~#t2~0#1.base] {1617#true} is VALID [2022-02-20 20:56:16,151 INFO L290 TraceCheckUtils]: 14: Hoare triple {1617#true} [208] L65-->L65-1: Formula: (and (= |v_ULTIMATE.start_main_~#t1~0#1.offset_2| 0) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) 0) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 4)) (not (= |v_ULTIMATE.start_main_~#t1~0#1.base_2| 0)) (= (store |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 1) |v_#valid_4|)) 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_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_2|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[#valid, #length, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset] {1617#true} is VALID [2022-02-20 20:56:16,151 INFO L290 TraceCheckUtils]: 15: Hoare triple {1617#true} [194] L65-1-->L65-2: Formula: (and (= |v_#length_5| (store |v_#length_6| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 4)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2|) 0) (= (store |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 1) |v_#valid_6|) (not (= |v_ULTIMATE.start_main_~#t2~0#1.base_2| 0)) (= 0 |v_ULTIMATE.start_main_~#t2~0#1.offset_2|) (< |v_#StackHeapBarrier_3| |v_ULTIMATE.start_main_~#t2~0#1.base_2|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_7|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_5|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_2|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t2~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t2~0#1.base] {1617#true} is VALID [2022-02-20 20:56:16,151 INFO L290 TraceCheckUtils]: 16: Hoare triple {1617#true} [171] L65-2-->L67: Formula: (and (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet5#1_2| 2147483648)) (<= |v_ULTIMATE.start_main_#t~nondet5#1_2| 2147483647)) InVars {ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_2|} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_2|} AuxVars[] AssignedVars[] {1617#true} is VALID [2022-02-20 20:56:16,151 INFO L290 TraceCheckUtils]: 17: Hoare triple {1617#true} [190] L67-->L67-1: Formula: (= |v_ULTIMATE.start_main_#t~nondet5#1_3| v_~M~0_6) InVars {ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_3|} OutVars{~M~0=v_~M~0_6, ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_3|} AuxVars[] AssignedVars[~M~0] {1617#true} is VALID [2022-02-20 20:56:16,152 INFO L290 TraceCheckUtils]: 18: Hoare triple {1617#true} [162] L67-1-->L68: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet5#1] {1617#true} is VALID [2022-02-20 20:56:16,152 INFO L290 TraceCheckUtils]: 19: Hoare triple {1617#true} [196] L68-->L68-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1617#true} is VALID [2022-02-20 20:56:16,152 INFO L290 TraceCheckUtils]: 20: Hoare triple {1617#true} [160] L68-1-->L68-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1| (ite (< 0 v_~M~0_7) 1 0)) InVars {~M~0=v_~M~0_7} OutVars{~M~0=v_~M~0_7, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] {1617#true} is VALID [2022-02-20 20:56:16,152 INFO L290 TraceCheckUtils]: 21: Hoare triple {1617#true} [143] L68-2-->L34: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {1617#true} is VALID [2022-02-20 20:56:16,152 INFO L290 TraceCheckUtils]: 22: Hoare triple {1617#true} [164] L34-->L35: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_2|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_2|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {1617#true} is VALID [2022-02-20 20:56:16,152 INFO L290 TraceCheckUtils]: 23: Hoare triple {1617#true} [189] L35-->L34-1: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_4| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_4|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_4|} AuxVars[] AssignedVars[] {1617#true} is VALID [2022-02-20 20:56:16,152 INFO L290 TraceCheckUtils]: 24: Hoare triple {1617#true} [182] L34-1-->L71: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1617#true} is VALID [2022-02-20 20:56:16,153 INFO L290 TraceCheckUtils]: 25: Hoare triple {1617#true} [135] L71-->L71-1: Formula: (= |v_ULTIMATE.start_main_#t~pre6#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1] {1617#true} is VALID [2022-02-20 20:56:16,153 INFO L290 TraceCheckUtils]: 26: Hoare triple {1617#true} [159] L71-1-->L71-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {1617#true} is VALID [2022-02-20 20:56:16,153 INFO L290 TraceCheckUtils]: 27: Hoare triple {1617#true} [198] L71-2-->L71-3: Formula: (= (store |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3| (store (select |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3|) |v_ULTIMATE.start_main_~#t1~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre6#1_3|)) |v_#memory_int_3|) InVars {#memory_int=|v_#memory_int_4|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} OutVars{#memory_int=|v_#memory_int_3|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} AuxVars[] AssignedVars[#memory_int] {1617#true} is VALID [2022-02-20 20:56:16,153 INFO L290 TraceCheckUtils]: 28: Hoare triple {1617#true} [228] L71-3-->thread1ENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre6#1_6| v_thread1Thread1of1ForFork0_thidvar0_2) (= v_thread1Thread1of1ForFork0_thidvar1_2 0)) InVars {ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_6|} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_6|, thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_4|, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_8|, thread1Thread1of1ForFork0_#t~post2=|v_thread1Thread1of1ForFork0_#t~post2_4|, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_12, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_2, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_4|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_2} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#t~post1, thread1Thread1of1ForFork0_#t~post2, thread1Thread1of1ForFork0_~i~0, thread1Thread1of1ForFork0_thidvar0, thread1Thread1of1ForFork0_#res.offset, thread1Thread1of1ForFork0_thidvar1] {1617#true} is VALID [2022-02-20 20:56:16,153 INFO L290 TraceCheckUtils]: 29: Hoare triple {1617#true} [150] L71-4-->L71-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1] {1617#true} is VALID [2022-02-20 20:56:16,154 INFO L290 TraceCheckUtils]: 30: Hoare triple {1617#true} [177] L71-5-->L72: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet7#1=|v_ULTIMATE.start_main_#t~nondet7#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet7#1] {1617#true} is VALID [2022-02-20 20:56:16,154 INFO L290 TraceCheckUtils]: 31: Hoare triple {1617#true} [206] L72-->L72-1: Formula: (= |v_ULTIMATE.start_main_#t~pre8#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre8#1] {1617#true} is VALID [2022-02-20 20:56:16,154 INFO L290 TraceCheckUtils]: 32: Hoare triple {1617#true} [130] L72-1-->L72-2: Formula: (= (+ 1 |v_#pthreadsForks_6|) |v_#pthreadsForks_5|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_5|} AuxVars[] AssignedVars[#pthreadsForks] {1617#true} is VALID [2022-02-20 20:56:16,154 INFO L290 TraceCheckUtils]: 33: Hoare triple {1617#true} [139] L72-2-->L72-3: Formula: (= (store |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3| (store (select |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3|) |v_ULTIMATE.start_main_~#t2~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre8#1_3|)) |v_#memory_int_5|) InVars {#memory_int=|v_#memory_int_6|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} OutVars{#memory_int=|v_#memory_int_5|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} AuxVars[] AssignedVars[#memory_int] {1617#true} is VALID [2022-02-20 20:56:16,154 INFO L290 TraceCheckUtils]: 34: Hoare triple {1617#true} [230] L72-3-->thread2ENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre8#1_6| v_thread2Thread1of1ForFork1_thidvar0_2) (= 0 v_thread2Thread1of1ForFork1_thidvar1_2) (= 0 v_thread2Thread1of1ForFork1_thidvar2_2)) InVars {ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_6|} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_4|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_12, thread2Thread1of1ForFork1_#t~post4=|v_thread2Thread1of1ForFork1_#t~post4_6|, thread2Thread1of1ForFork1_#t~post3=|v_thread2Thread1of1ForFork1_#t~post3_6|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_4|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_6|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_2, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_2, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_2} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_~i~1, thread2Thread1of1ForFork1_#t~post4, thread2Thread1of1ForFork1_#t~post3, thread2Thread1of1ForFork1_#res.base, thread2Thread1of1ForFork1_thidvar2, thread2Thread1of1ForFork1_thidvar0, thread2Thread1of1ForFork1_thidvar1] {1617#true} is VALID [2022-02-20 20:56:16,155 INFO L290 TraceCheckUtils]: 35: Hoare triple {1617#true} [210] thread1ENTRY-->L41-4: Formula: (= v_thread1Thread1of1ForFork0_~i~0_1 0) InVars {} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_1} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_~i~0] {1619#(= thread1Thread1of1ForFork0_~i~0 0)} is VALID [2022-02-20 20:56:16,155 INFO L290 TraceCheckUtils]: 36: Hoare triple {1619#(= thread1Thread1of1ForFork0_~i~0 0)} [213] L41-4-->L42: Formula: (< v_thread1Thread1of1ForFork0_~i~0_5 v_~M~0_2) InVars {~M~0=v_~M~0_2, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_5} OutVars{~M~0=v_~M~0_2, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_5} AuxVars[] AssignedVars[] {1620#(and (<= (+ thread1Thread1of1ForFork0_~i~0 1) ~M~0) (= thread1Thread1of1ForFork0_~i~0 0))} is VALID [2022-02-20 20:56:16,156 INFO L290 TraceCheckUtils]: 37: Hoare triple {1620#(and (<= (+ thread1Thread1of1ForFork0_~i~0 1) ~M~0) (= thread1Thread1of1ForFork0_~i~0 0))} [215] L42-->L44: Formula: (= (+ v_~counter~0_26 1) v_~counter~0_25) InVars {~counter~0=v_~counter~0_26} OutVars{~counter~0=v_~counter~0_25, thread1Thread1of1ForFork0_#t~post2=|v_thread1Thread1of1ForFork0_#t~post2_1|} AuxVars[] AssignedVars[~counter~0, thread1Thread1of1ForFork0_#t~post2] {1620#(and (<= (+ thread1Thread1of1ForFork0_~i~0 1) ~M~0) (= thread1Thread1of1ForFork0_~i~0 0))} is VALID [2022-02-20 20:56:16,156 INFO L290 TraceCheckUtils]: 38: Hoare triple {1620#(and (<= (+ thread1Thread1of1ForFork0_~i~0 1) ~M~0) (= thread1Thread1of1ForFork0_~i~0 0))} [217] L44-->L41-2: Formula: (= v_thread1Thread1of1ForFork0_~i~0_7 |v_thread1Thread1of1ForFork0_#t~post1_1|) InVars {thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_7} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_7, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1] {1621#(<= 1 ~M~0)} is VALID [2022-02-20 20:56:16,156 INFO L290 TraceCheckUtils]: 39: Hoare triple {1621#(<= 1 ~M~0)} [218] L41-2-->L41-3: Formula: (= v_thread1Thread1of1ForFork0_~i~0_9 (+ |v_thread1Thread1of1ForFork0_#t~post1_3| 1)) InVars {thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_3|} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_9, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_3|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_~i~0] {1621#(<= 1 ~M~0)} is VALID [2022-02-20 20:56:16,157 INFO L290 TraceCheckUtils]: 40: Hoare triple {1621#(<= 1 ~M~0)} [219] L41-3-->L41-4: Formula: true InVars {} OutVars{thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_5|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1] {1621#(<= 1 ~M~0)} is VALID [2022-02-20 20:56:16,157 INFO L290 TraceCheckUtils]: 41: Hoare triple {1621#(<= 1 ~M~0)} [212] L41-4-->L41-5: Formula: (not (< v_thread1Thread1of1ForFork0_~i~0_3 v_~M~0_1)) InVars {~M~0=v_~M~0_1, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_3} OutVars{~M~0=v_~M~0_1, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_3} AuxVars[] AssignedVars[] {1621#(<= 1 ~M~0)} is VALID [2022-02-20 20:56:16,158 INFO L290 TraceCheckUtils]: 42: Hoare triple {1621#(<= 1 ~M~0)} [220] thread2ENTRY-->L54-1: Formula: (= v_thread2Thread1of1ForFork1_~i~1_1 0) InVars {} OutVars{thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_~i~1] {1622#(and (= thread2Thread1of1ForFork1_~i~1 0) (<= 1 ~M~0))} is VALID [2022-02-20 20:56:16,158 INFO L290 TraceCheckUtils]: 43: Hoare triple {1622#(and (= thread2Thread1of1ForFork1_~i~1 0) (<= 1 ~M~0))} [222] L54-1-->L52-2: Formula: (not (< v_thread2Thread1of1ForFork1_~i~1_3 v_~M~0_3)) InVars {~M~0=v_~M~0_3, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_3} OutVars{~M~0=v_~M~0_3, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_3} AuxVars[] AssignedVars[] {1618#false} is VALID [2022-02-20 20:56:16,158 INFO L290 TraceCheckUtils]: 44: Hoare triple {1618#false} [214] L41-5-->thread1FINAL: Formula: (and (= |v_thread1Thread1of1ForFork0_#res.base_1| 0) (= |v_thread1Thread1of1ForFork0_#res.offset_1| 0)) InVars {} OutVars{thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_1|, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#res.offset] {1618#false} is VALID [2022-02-20 20:56:16,159 INFO L290 TraceCheckUtils]: 45: Hoare triple {1618#false} [216] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1618#false} is VALID [2022-02-20 20:56:16,159 INFO L290 TraceCheckUtils]: 46: Hoare triple {1618#false} [200] L72-4-->L72-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre8#1] {1618#false} is VALID [2022-02-20 20:56:16,159 INFO L290 TraceCheckUtils]: 47: Hoare triple {1618#false} [133] L72-5-->L73: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet9#1=|v_ULTIMATE.start_main_#t~nondet9#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet9#1] {1618#false} is VALID [2022-02-20 20:56:16,159 INFO L290 TraceCheckUtils]: 48: Hoare triple {1618#false} [168] L73-->L73-1: Formula: (= |v_ULTIMATE.start_main_#t~mem10#1_2| (select (select |v_#memory_int_7| |v_ULTIMATE.start_main_~#t1~0#1.base_4|) |v_ULTIMATE.start_main_~#t1~0#1.offset_4|)) InVars {#memory_int=|v_#memory_int_7|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_4|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_4|} OutVars{#memory_int=|v_#memory_int_7|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_4|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_4|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10#1] {1618#false} is VALID [2022-02-20 20:56:16,159 INFO L290 TraceCheckUtils]: 49: Hoare triple {1618#false} [231] thread1EXIT-->L73-2: Formula: (and (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem10#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ .cse0 (- 4294967296)))) v_thread1Thread1of1ForFork0_thidvar0_4) (= v_thread1Thread1of1ForFork0_thidvar1_4 0)) InVars {thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|} OutVars{thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|} AuxVars[] AssignedVars[] {1618#false} is VALID [2022-02-20 20:56:16,160 INFO L290 TraceCheckUtils]: 50: Hoare triple {1618#false} [224] L52-2-->thread2FINAL: Formula: (and (= |v_thread2Thread1of1ForFork1_#res.base_1| 0) (= |v_thread2Thread1of1ForFork1_#res.offset_1| 0)) InVars {} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_1|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_1|} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_#res.base] {1618#false} is VALID [2022-02-20 20:56:16,160 INFO L290 TraceCheckUtils]: 51: Hoare triple {1618#false} [226] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1618#false} is VALID [2022-02-20 20:56:16,160 INFO L290 TraceCheckUtils]: 52: Hoare triple {1618#false} [169] L73-2-->L74: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10#1] {1618#false} is VALID [2022-02-20 20:56:16,160 INFO L290 TraceCheckUtils]: 53: Hoare triple {1618#false} [131] L74-->L74-1: Formula: (= (select (select |v_#memory_int_8| |v_ULTIMATE.start_main_~#t2~0#1.base_4|) |v_ULTIMATE.start_main_~#t2~0#1.offset_4|) |v_ULTIMATE.start_main_#t~mem11#1_2|) InVars {#memory_int=|v_#memory_int_8|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_4|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_2|, #memory_int=|v_#memory_int_8|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_4|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem11#1] {1618#false} is VALID [2022-02-20 20:56:16,160 INFO L290 TraceCheckUtils]: 54: Hoare triple {1618#false} [232] thread2EXIT-->L74-2: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar2_4) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem11#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ (- 4294967296) .cse0))) v_thread2Thread1of1ForFork1_thidvar0_4) (= 0 v_thread2Thread1of1ForFork1_thidvar1_4)) InVars {ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_5|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_5|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} AuxVars[] AssignedVars[] {1618#false} is VALID [2022-02-20 20:56:16,161 INFO L290 TraceCheckUtils]: 55: Hoare triple {1618#false} [173] L74-2-->L76: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem11#1] {1618#false} is VALID [2022-02-20 20:56:16,161 INFO L290 TraceCheckUtils]: 56: Hoare triple {1618#false} [207] L76-->L76-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1618#false} is VALID [2022-02-20 20:56:16,161 INFO L290 TraceCheckUtils]: 57: Hoare triple {1618#false} [186] L76-1-->L76-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3| (ite (not (= v_~counter~0_8 0)) 1 0)) InVars {~counter~0=v_~counter~0_8} OutVars{~counter~0=v_~counter~0_8, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] {1618#false} is VALID [2022-02-20 20:56:16,161 INFO L290 TraceCheckUtils]: 58: Hoare triple {1618#false} [193] L76-2-->L34-2: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_5|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {1618#false} is VALID [2022-02-20 20:56:16,162 INFO L290 TraceCheckUtils]: 59: Hoare triple {1618#false} [174] L34-2-->L35-3: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {1618#false} is VALID [2022-02-20 20:56:16,162 INFO L290 TraceCheckUtils]: 60: Hoare triple {1618#false} [145] L35-3-->L34-3: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_8| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_8|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_8|} AuxVars[] AssignedVars[] {1618#false} is VALID [2022-02-20 20:56:16,162 INFO L290 TraceCheckUtils]: 61: Hoare triple {1618#false} [154] L34-3-->L77: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1618#false} is VALID [2022-02-20 20:56:16,162 INFO L290 TraceCheckUtils]: 62: Hoare triple {1618#false} [146] L77-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1618#false} is VALID [2022-02-20 20:56:16,163 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 20:56:16,163 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 20:56:16,163 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [534220178] [2022-02-20 20:56:16,163 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [534220178] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 20:56:16,163 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [553277741] [2022-02-20 20:56:16,164 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 20:56:16,164 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 20:56:16,164 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 20:56:16,203 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 20:56:16,245 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-02-20 20:56:16,280 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-02-20 20:56:16,280 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 20:56:16,287 INFO L263 TraceCheckSpWp]: Trace formula consists of 138 conjuncts, 7 conjunts are in the unsatisfiable core [2022-02-20 20:56:16,307 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:56:16,311 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 20:56:16,632 INFO L290 TraceCheckUtils]: 0: Hoare triple {1617#true} [191] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1617#true} is VALID [2022-02-20 20:56:16,632 INFO L290 TraceCheckUtils]: 1: Hoare triple {1617#true} [172] 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] {1617#true} is VALID [2022-02-20 20:56:16,632 INFO L290 TraceCheckUtils]: 2: Hoare triple {1617#true} [197] L-1-1-->L-1-2: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] {1617#true} is VALID [2022-02-20 20:56:16,632 INFO L290 TraceCheckUtils]: 3: Hoare triple {1617#true} [199] L-1-2-->L21: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {1617#true} is VALID [2022-02-20 20:56:16,632 INFO L290 TraceCheckUtils]: 4: Hoare triple {1617#true} [165] L21-->L21-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[] {1617#true} is VALID [2022-02-20 20:56:16,633 INFO L290 TraceCheckUtils]: 5: Hoare triple {1617#true} [187] L21-1-->L21-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[] {1617#true} is VALID [2022-02-20 20:56:16,633 INFO L290 TraceCheckUtils]: 6: Hoare triple {1617#true} [184] L21-2-->L21-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[] {1617#true} is VALID [2022-02-20 20:56:16,633 INFO L290 TraceCheckUtils]: 7: Hoare triple {1617#true} [156] L21-3-->L21-4: Formula: (and (= 30 (select |v_#length_2| 2)) (= (select |v_#valid_3| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {1617#true} is VALID [2022-02-20 20:56:16,633 INFO L290 TraceCheckUtils]: 8: Hoare triple {1617#true} [204] L21-4-->L38: Formula: (= v_~M~0_5 0) InVars {} OutVars{~M~0=v_~M~0_5} AuxVars[] AssignedVars[~M~0] {1617#true} is VALID [2022-02-20 20:56:16,633 INFO L290 TraceCheckUtils]: 9: Hoare triple {1617#true} [205] L38-->L-1-3: Formula: (= v_~counter~0_7 0) InVars {} OutVars{~counter~0=v_~counter~0_7} AuxVars[] AssignedVars[~counter~0] {1617#true} is VALID [2022-02-20 20:56:16,641 INFO L290 TraceCheckUtils]: 10: Hoare triple {1617#true} [201] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1617#true} is VALID [2022-02-20 20:56:16,641 INFO L290 TraceCheckUtils]: 11: Hoare triple {1617#true} [181] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1617#true} is VALID [2022-02-20 20:56:16,641 INFO L290 TraceCheckUtils]: 12: Hoare triple {1617#true} [151] L-1-5-->L-1-6: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {1617#true} is VALID [2022-02-20 20:56:16,641 INFO L290 TraceCheckUtils]: 13: Hoare triple {1617#true} [178] L-1-6-->L65: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_1|, ULTIMATE.start_main_#t~nondet9#1=|v_ULTIMATE.start_main_#t~nondet9#1_1|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_1|, ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_1|, ULTIMATE.start_main_#t~nondet7#1=|v_ULTIMATE.start_main_#t~nondet7#1_1|, ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_1|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_1|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_1|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_1|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_1|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1, ULTIMATE.start_main_#t~nondet9#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_#t~nondet5#1, ULTIMATE.start_main_#t~nondet7#1, ULTIMATE.start_main_#t~mem11#1, ULTIMATE.start_main_#t~pre8#1, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset, ULTIMATE.start_main_#t~mem10#1, ULTIMATE.start_main_~#t2~0#1.base] {1617#true} is VALID [2022-02-20 20:56:16,642 INFO L290 TraceCheckUtils]: 14: Hoare triple {1617#true} [208] L65-->L65-1: Formula: (and (= |v_ULTIMATE.start_main_~#t1~0#1.offset_2| 0) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) 0) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 4)) (not (= |v_ULTIMATE.start_main_~#t1~0#1.base_2| 0)) (= (store |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 1) |v_#valid_4|)) 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_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_2|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[#valid, #length, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset] {1617#true} is VALID [2022-02-20 20:56:16,642 INFO L290 TraceCheckUtils]: 15: Hoare triple {1617#true} [194] L65-1-->L65-2: Formula: (and (= |v_#length_5| (store |v_#length_6| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 4)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2|) 0) (= (store |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 1) |v_#valid_6|) (not (= |v_ULTIMATE.start_main_~#t2~0#1.base_2| 0)) (= 0 |v_ULTIMATE.start_main_~#t2~0#1.offset_2|) (< |v_#StackHeapBarrier_3| |v_ULTIMATE.start_main_~#t2~0#1.base_2|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_7|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_5|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_2|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t2~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t2~0#1.base] {1617#true} is VALID [2022-02-20 20:56:16,642 INFO L290 TraceCheckUtils]: 16: Hoare triple {1617#true} [171] L65-2-->L67: Formula: (and (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet5#1_2| 2147483648)) (<= |v_ULTIMATE.start_main_#t~nondet5#1_2| 2147483647)) InVars {ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_2|} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_2|} AuxVars[] AssignedVars[] {1617#true} is VALID [2022-02-20 20:56:16,642 INFO L290 TraceCheckUtils]: 17: Hoare triple {1617#true} [190] L67-->L67-1: Formula: (= |v_ULTIMATE.start_main_#t~nondet5#1_3| v_~M~0_6) InVars {ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_3|} OutVars{~M~0=v_~M~0_6, ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_3|} AuxVars[] AssignedVars[~M~0] {1617#true} is VALID [2022-02-20 20:56:16,642 INFO L290 TraceCheckUtils]: 18: Hoare triple {1617#true} [162] L67-1-->L68: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet5#1] {1617#true} is VALID [2022-02-20 20:56:16,643 INFO L290 TraceCheckUtils]: 19: Hoare triple {1617#true} [196] L68-->L68-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1617#true} is VALID [2022-02-20 20:56:16,643 INFO L290 TraceCheckUtils]: 20: Hoare triple {1617#true} [160] L68-1-->L68-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1| (ite (< 0 v_~M~0_7) 1 0)) InVars {~M~0=v_~M~0_7} OutVars{~M~0=v_~M~0_7, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] {1686#(or (and (not (< 0 ~M~0)) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)) (and (< 0 ~M~0) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 1)))} is VALID [2022-02-20 20:56:16,644 INFO L290 TraceCheckUtils]: 21: Hoare triple {1686#(or (and (not (< 0 ~M~0)) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)) (and (< 0 ~M~0) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 1)))} [143] L68-2-->L34: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {1686#(or (and (not (< 0 ~M~0)) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)) (and (< 0 ~M~0) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 1)))} is VALID [2022-02-20 20:56:16,645 INFO L290 TraceCheckUtils]: 22: Hoare triple {1686#(or (and (not (< 0 ~M~0)) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)) (and (< 0 ~M~0) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 1)))} [164] L34-->L35: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_2|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_2|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {1693#(or (and (= |ULTIMATE.start_assume_abort_if_not_~cond#1| 1) (< 0 ~M~0)) (and (not (< 0 ~M~0)) (= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0)))} is VALID [2022-02-20 20:56:16,645 INFO L290 TraceCheckUtils]: 23: Hoare triple {1693#(or (and (= |ULTIMATE.start_assume_abort_if_not_~cond#1| 1) (< 0 ~M~0)) (and (not (< 0 ~M~0)) (= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0)))} [189] L35-->L34-1: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_4| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_4|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_4|} AuxVars[] AssignedVars[] {1621#(<= 1 ~M~0)} is VALID [2022-02-20 20:56:16,646 INFO L290 TraceCheckUtils]: 24: Hoare triple {1621#(<= 1 ~M~0)} [182] L34-1-->L71: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1621#(<= 1 ~M~0)} is VALID [2022-02-20 20:56:16,646 INFO L290 TraceCheckUtils]: 25: Hoare triple {1621#(<= 1 ~M~0)} [135] L71-->L71-1: Formula: (= |v_ULTIMATE.start_main_#t~pre6#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1] {1621#(<= 1 ~M~0)} is VALID [2022-02-20 20:56:16,646 INFO L290 TraceCheckUtils]: 26: Hoare triple {1621#(<= 1 ~M~0)} [159] L71-1-->L71-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {1621#(<= 1 ~M~0)} is VALID [2022-02-20 20:56:16,647 INFO L290 TraceCheckUtils]: 27: Hoare triple {1621#(<= 1 ~M~0)} [198] L71-2-->L71-3: Formula: (= (store |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3| (store (select |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3|) |v_ULTIMATE.start_main_~#t1~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre6#1_3|)) |v_#memory_int_3|) InVars {#memory_int=|v_#memory_int_4|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} OutVars{#memory_int=|v_#memory_int_3|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} AuxVars[] AssignedVars[#memory_int] {1621#(<= 1 ~M~0)} is VALID [2022-02-20 20:56:16,647 INFO L290 TraceCheckUtils]: 28: Hoare triple {1621#(<= 1 ~M~0)} [228] L71-3-->thread1ENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre6#1_6| v_thread1Thread1of1ForFork0_thidvar0_2) (= v_thread1Thread1of1ForFork0_thidvar1_2 0)) InVars {ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_6|} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_6|, thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_4|, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_8|, thread1Thread1of1ForFork0_#t~post2=|v_thread1Thread1of1ForFork0_#t~post2_4|, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_12, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_2, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_4|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_2} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#t~post1, thread1Thread1of1ForFork0_#t~post2, thread1Thread1of1ForFork0_~i~0, thread1Thread1of1ForFork0_thidvar0, thread1Thread1of1ForFork0_#res.offset, thread1Thread1of1ForFork0_thidvar1] {1621#(<= 1 ~M~0)} is VALID [2022-02-20 20:56:16,648 INFO L290 TraceCheckUtils]: 29: Hoare triple {1621#(<= 1 ~M~0)} [150] L71-4-->L71-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1] {1621#(<= 1 ~M~0)} is VALID [2022-02-20 20:56:16,648 INFO L290 TraceCheckUtils]: 30: Hoare triple {1621#(<= 1 ~M~0)} [177] L71-5-->L72: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet7#1=|v_ULTIMATE.start_main_#t~nondet7#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet7#1] {1621#(<= 1 ~M~0)} is VALID [2022-02-20 20:56:16,648 INFO L290 TraceCheckUtils]: 31: Hoare triple {1621#(<= 1 ~M~0)} [206] L72-->L72-1: Formula: (= |v_ULTIMATE.start_main_#t~pre8#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre8#1] {1621#(<= 1 ~M~0)} is VALID [2022-02-20 20:56:16,649 INFO L290 TraceCheckUtils]: 32: Hoare triple {1621#(<= 1 ~M~0)} [130] L72-1-->L72-2: Formula: (= (+ 1 |v_#pthreadsForks_6|) |v_#pthreadsForks_5|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_5|} AuxVars[] AssignedVars[#pthreadsForks] {1621#(<= 1 ~M~0)} is VALID [2022-02-20 20:56:16,649 INFO L290 TraceCheckUtils]: 33: Hoare triple {1621#(<= 1 ~M~0)} [139] L72-2-->L72-3: Formula: (= (store |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3| (store (select |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3|) |v_ULTIMATE.start_main_~#t2~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre8#1_3|)) |v_#memory_int_5|) InVars {#memory_int=|v_#memory_int_6|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} OutVars{#memory_int=|v_#memory_int_5|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} AuxVars[] AssignedVars[#memory_int] {1621#(<= 1 ~M~0)} is VALID [2022-02-20 20:56:16,650 INFO L290 TraceCheckUtils]: 34: Hoare triple {1621#(<= 1 ~M~0)} [230] L72-3-->thread2ENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre8#1_6| v_thread2Thread1of1ForFork1_thidvar0_2) (= 0 v_thread2Thread1of1ForFork1_thidvar1_2) (= 0 v_thread2Thread1of1ForFork1_thidvar2_2)) InVars {ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_6|} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_4|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_12, thread2Thread1of1ForFork1_#t~post4=|v_thread2Thread1of1ForFork1_#t~post4_6|, thread2Thread1of1ForFork1_#t~post3=|v_thread2Thread1of1ForFork1_#t~post3_6|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_4|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_6|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_2, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_2, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_2} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_~i~1, thread2Thread1of1ForFork1_#t~post4, thread2Thread1of1ForFork1_#t~post3, thread2Thread1of1ForFork1_#res.base, thread2Thread1of1ForFork1_thidvar2, thread2Thread1of1ForFork1_thidvar0, thread2Thread1of1ForFork1_thidvar1] {1621#(<= 1 ~M~0)} is VALID [2022-02-20 20:56:16,650 INFO L290 TraceCheckUtils]: 35: Hoare triple {1621#(<= 1 ~M~0)} [210] thread1ENTRY-->L41-4: Formula: (= v_thread1Thread1of1ForFork0_~i~0_1 0) InVars {} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_1} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_~i~0] {1621#(<= 1 ~M~0)} is VALID [2022-02-20 20:56:16,651 INFO L290 TraceCheckUtils]: 36: Hoare triple {1621#(<= 1 ~M~0)} [213] L41-4-->L42: Formula: (< v_thread1Thread1of1ForFork0_~i~0_5 v_~M~0_2) InVars {~M~0=v_~M~0_2, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_5} OutVars{~M~0=v_~M~0_2, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_5} AuxVars[] AssignedVars[] {1621#(<= 1 ~M~0)} is VALID [2022-02-20 20:56:16,651 INFO L290 TraceCheckUtils]: 37: Hoare triple {1621#(<= 1 ~M~0)} [215] L42-->L44: Formula: (= (+ v_~counter~0_26 1) v_~counter~0_25) InVars {~counter~0=v_~counter~0_26} OutVars{~counter~0=v_~counter~0_25, thread1Thread1of1ForFork0_#t~post2=|v_thread1Thread1of1ForFork0_#t~post2_1|} AuxVars[] AssignedVars[~counter~0, thread1Thread1of1ForFork0_#t~post2] {1621#(<= 1 ~M~0)} is VALID [2022-02-20 20:56:16,651 INFO L290 TraceCheckUtils]: 38: Hoare triple {1621#(<= 1 ~M~0)} [217] L44-->L41-2: Formula: (= v_thread1Thread1of1ForFork0_~i~0_7 |v_thread1Thread1of1ForFork0_#t~post1_1|) InVars {thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_7} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_7, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1] {1621#(<= 1 ~M~0)} is VALID [2022-02-20 20:56:16,652 INFO L290 TraceCheckUtils]: 39: Hoare triple {1621#(<= 1 ~M~0)} [218] L41-2-->L41-3: Formula: (= v_thread1Thread1of1ForFork0_~i~0_9 (+ |v_thread1Thread1of1ForFork0_#t~post1_3| 1)) InVars {thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_3|} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_9, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_3|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_~i~0] {1621#(<= 1 ~M~0)} is VALID [2022-02-20 20:56:16,652 INFO L290 TraceCheckUtils]: 40: Hoare triple {1621#(<= 1 ~M~0)} [219] L41-3-->L41-4: Formula: true InVars {} OutVars{thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_5|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1] {1621#(<= 1 ~M~0)} is VALID [2022-02-20 20:56:16,652 INFO L290 TraceCheckUtils]: 41: Hoare triple {1621#(<= 1 ~M~0)} [212] L41-4-->L41-5: Formula: (not (< v_thread1Thread1of1ForFork0_~i~0_3 v_~M~0_1)) InVars {~M~0=v_~M~0_1, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_3} OutVars{~M~0=v_~M~0_1, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_3} AuxVars[] AssignedVars[] {1621#(<= 1 ~M~0)} is VALID [2022-02-20 20:56:16,653 INFO L290 TraceCheckUtils]: 42: Hoare triple {1621#(<= 1 ~M~0)} [220] thread2ENTRY-->L54-1: Formula: (= v_thread2Thread1of1ForFork1_~i~1_1 0) InVars {} OutVars{thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_~i~1] {1754#(and (<= thread2Thread1of1ForFork1_~i~1 0) (<= 1 ~M~0))} is VALID [2022-02-20 20:56:16,653 INFO L290 TraceCheckUtils]: 43: Hoare triple {1754#(and (<= thread2Thread1of1ForFork1_~i~1 0) (<= 1 ~M~0))} [222] L54-1-->L52-2: Formula: (not (< v_thread2Thread1of1ForFork1_~i~1_3 v_~M~0_3)) InVars {~M~0=v_~M~0_3, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_3} OutVars{~M~0=v_~M~0_3, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_3} AuxVars[] AssignedVars[] {1618#false} is VALID [2022-02-20 20:56:16,653 INFO L290 TraceCheckUtils]: 44: Hoare triple {1618#false} [214] L41-5-->thread1FINAL: Formula: (and (= |v_thread1Thread1of1ForFork0_#res.base_1| 0) (= |v_thread1Thread1of1ForFork0_#res.offset_1| 0)) InVars {} OutVars{thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_1|, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#res.offset] {1618#false} is VALID [2022-02-20 20:56:16,654 INFO L290 TraceCheckUtils]: 45: Hoare triple {1618#false} [216] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1618#false} is VALID [2022-02-20 20:56:16,654 INFO L290 TraceCheckUtils]: 46: Hoare triple {1618#false} [200] L72-4-->L72-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre8#1] {1618#false} is VALID [2022-02-20 20:56:16,654 INFO L290 TraceCheckUtils]: 47: Hoare triple {1618#false} [133] L72-5-->L73: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet9#1=|v_ULTIMATE.start_main_#t~nondet9#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet9#1] {1618#false} is VALID [2022-02-20 20:56:16,654 INFO L290 TraceCheckUtils]: 48: Hoare triple {1618#false} [168] L73-->L73-1: Formula: (= |v_ULTIMATE.start_main_#t~mem10#1_2| (select (select |v_#memory_int_7| |v_ULTIMATE.start_main_~#t1~0#1.base_4|) |v_ULTIMATE.start_main_~#t1~0#1.offset_4|)) InVars {#memory_int=|v_#memory_int_7|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_4|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_4|} OutVars{#memory_int=|v_#memory_int_7|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_4|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_4|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10#1] {1618#false} is VALID [2022-02-20 20:56:16,654 INFO L290 TraceCheckUtils]: 49: Hoare triple {1618#false} [231] thread1EXIT-->L73-2: Formula: (and (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem10#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ .cse0 (- 4294967296)))) v_thread1Thread1of1ForFork0_thidvar0_4) (= v_thread1Thread1of1ForFork0_thidvar1_4 0)) InVars {thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|} OutVars{thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|} AuxVars[] AssignedVars[] {1618#false} is VALID [2022-02-20 20:56:16,654 INFO L290 TraceCheckUtils]: 50: Hoare triple {1618#false} [224] L52-2-->thread2FINAL: Formula: (and (= |v_thread2Thread1of1ForFork1_#res.base_1| 0) (= |v_thread2Thread1of1ForFork1_#res.offset_1| 0)) InVars {} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_1|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_1|} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_#res.base] {1618#false} is VALID [2022-02-20 20:56:16,654 INFO L290 TraceCheckUtils]: 51: Hoare triple {1618#false} [226] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1618#false} is VALID [2022-02-20 20:56:16,655 INFO L290 TraceCheckUtils]: 52: Hoare triple {1618#false} [169] L73-2-->L74: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10#1] {1618#false} is VALID [2022-02-20 20:56:16,655 INFO L290 TraceCheckUtils]: 53: Hoare triple {1618#false} [131] L74-->L74-1: Formula: (= (select (select |v_#memory_int_8| |v_ULTIMATE.start_main_~#t2~0#1.base_4|) |v_ULTIMATE.start_main_~#t2~0#1.offset_4|) |v_ULTIMATE.start_main_#t~mem11#1_2|) InVars {#memory_int=|v_#memory_int_8|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_4|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_2|, #memory_int=|v_#memory_int_8|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_4|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem11#1] {1618#false} is VALID [2022-02-20 20:56:16,655 INFO L290 TraceCheckUtils]: 54: Hoare triple {1618#false} [232] thread2EXIT-->L74-2: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar2_4) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem11#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ (- 4294967296) .cse0))) v_thread2Thread1of1ForFork1_thidvar0_4) (= 0 v_thread2Thread1of1ForFork1_thidvar1_4)) InVars {ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_5|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_5|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} AuxVars[] AssignedVars[] {1618#false} is VALID [2022-02-20 20:56:16,655 INFO L290 TraceCheckUtils]: 55: Hoare triple {1618#false} [173] L74-2-->L76: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem11#1] {1618#false} is VALID [2022-02-20 20:56:16,655 INFO L290 TraceCheckUtils]: 56: Hoare triple {1618#false} [207] L76-->L76-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1618#false} is VALID [2022-02-20 20:56:16,655 INFO L290 TraceCheckUtils]: 57: Hoare triple {1618#false} [186] L76-1-->L76-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3| (ite (not (= v_~counter~0_8 0)) 1 0)) InVars {~counter~0=v_~counter~0_8} OutVars{~counter~0=v_~counter~0_8, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] {1618#false} is VALID [2022-02-20 20:56:16,656 INFO L290 TraceCheckUtils]: 58: Hoare triple {1618#false} [193] L76-2-->L34-2: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_5|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {1618#false} is VALID [2022-02-20 20:56:16,656 INFO L290 TraceCheckUtils]: 59: Hoare triple {1618#false} [174] L34-2-->L35-3: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {1618#false} is VALID [2022-02-20 20:56:16,656 INFO L290 TraceCheckUtils]: 60: Hoare triple {1618#false} [145] L35-3-->L34-3: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_8| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_8|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_8|} AuxVars[] AssignedVars[] {1618#false} is VALID [2022-02-20 20:56:16,656 INFO L290 TraceCheckUtils]: 61: Hoare triple {1618#false} [154] L34-3-->L77: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1618#false} is VALID [2022-02-20 20:56:16,656 INFO L290 TraceCheckUtils]: 62: Hoare triple {1618#false} [146] L77-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1618#false} is VALID [2022-02-20 20:56:16,656 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 20:56:16,657 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 20:56:16,657 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [553277741] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 20:56:16,657 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 20:56:16,657 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [6] total 9 [2022-02-20 20:56:16,657 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1881897461] [2022-02-20 20:56:16,657 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 20:56:16,658 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 10.5) internal successors, (63), 6 states have internal predecessors, (63), 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 63 [2022-02-20 20:56:16,658 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 20:56:16,658 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 10.5) internal successors, (63), 6 states have internal predecessors, (63), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:16,696 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 20:56:16,696 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 20:56:16,697 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 20:56:16,697 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 20:56:16,697 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=52, Unknown=0, NotChecked=0, Total=72 [2022-02-20 20:56:16,698 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 54 out of 82 [2022-02-20 20:56:16,698 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 77 places, 68 transitions, 170 flow. Second operand has 6 states, 6 states have (on average 57.166666666666664) internal successors, (343), 6 states have internal predecessors, (343), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:16,698 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 20:56:16,699 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 54 of 82 [2022-02-20 20:56:16,699 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 20:56:16,852 INFO L129 PetriNetUnfolder]: 44/166 cut-off events. [2022-02-20 20:56:16,852 INFO L130 PetriNetUnfolder]: For 50/56 co-relation queries the response was YES. [2022-02-20 20:56:16,853 INFO L84 FinitePrefix]: Finished finitePrefix Result has 346 conditions, 166 events. 44/166 cut-off events. For 50/56 co-relation queries the response was YES. Maximal size of possible extension queue 15. Compared 521 event pairs, 23 based on Foata normal form. 13/174 useless extension candidates. Maximal degree in co-relation 338. Up to 66 conditions per place. [2022-02-20 20:56:16,854 INFO L132 encePairwiseOnDemand]: 74/82 looper letters, 20 selfloop transitions, 7 changer transitions 0/72 dead transitions. [2022-02-20 20:56:16,854 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 82 places, 72 transitions, 233 flow [2022-02-20 20:56:16,854 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-02-20 20:56:16,854 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2022-02-20 20:56:16,858 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 460 transitions. [2022-02-20 20:56:16,858 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.7012195121951219 [2022-02-20 20:56:16,858 INFO L72 ComplementDD]: Start complementDD. Operand 8 states and 460 transitions. [2022-02-20 20:56:16,858 INFO L73 IsDeterministic]: Start isDeterministic. Operand 8 states and 460 transitions. [2022-02-20 20:56:16,859 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 20:56:16,859 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 8 states and 460 transitions. [2022-02-20 20:56:16,860 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 9 states, 8 states have (on average 57.5) internal successors, (460), 8 states have internal predecessors, (460), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:16,861 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 9 states, 9 states have (on average 82.0) internal successors, (738), 9 states have internal predecessors, (738), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:16,861 INFO L81 ComplementDD]: Finished complementDD. Result has 9 states, 9 states have (on average 82.0) internal successors, (738), 9 states have internal predecessors, (738), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:16,861 INFO L186 Difference]: Start difference. First operand has 77 places, 68 transitions, 170 flow. Second operand 8 states and 460 transitions. [2022-02-20 20:56:16,861 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 82 places, 72 transitions, 233 flow [2022-02-20 20:56:16,862 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 78 places, 72 transitions, 221 flow, removed 3 selfloop flow, removed 4 redundant places. [2022-02-20 20:56:16,863 INFO L242 Difference]: Finished difference. Result has 78 places, 67 transitions, 168 flow [2022-02-20 20:56:16,864 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=82, PETRI_DIFFERENCE_MINUEND_FLOW=154, PETRI_DIFFERENCE_MINUEND_PLACES=71, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=67, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=7, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=60, PETRI_DIFFERENCE_SUBTRAHEND_STATES=8, PETRI_FLOW=168, PETRI_PLACES=78, PETRI_TRANSITIONS=67} [2022-02-20 20:56:16,864 INFO L334 CegarLoopForPetriNet]: 72 programPoint places, 6 predicate places. [2022-02-20 20:56:16,864 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 78 places, 67 transitions, 168 flow [2022-02-20 20:56:16,873 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 556 states, 555 states have (on average 2.497297297297297) internal successors, (1386), 555 states have internal predecessors, (1386), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:16,874 INFO L78 Accepts]: Start accepts. Automaton has has 556 states, 555 states have (on average 2.497297297297297) internal successors, (1386), 555 states have internal predecessors, (1386), 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 63 [2022-02-20 20:56:16,874 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 20:56:16,874 INFO L470 AbstractCegarLoop]: Abstraction has has 78 places, 67 transitions, 168 flow [2022-02-20 20:56:16,875 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 57.166666666666664) internal successors, (343), 6 states have internal predecessors, (343), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:16,875 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:56:16,875 INFO L254 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 20:56:16,906 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-02-20 20:56:17,107 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 20:56:17,108 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION] === [2022-02-20 20:56:17,108 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:56:17,108 INFO L85 PathProgramCache]: Analyzing trace with hash -1175529915, now seen corresponding path program 1 times [2022-02-20 20:56:17,108 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:56:17,108 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1091664563] [2022-02-20 20:56:17,109 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:56:17,109 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:56:17,155 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:56:17,228 INFO L290 TraceCheckUtils]: 0: Hoare triple {2378#true} [191] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2378#true} is VALID [2022-02-20 20:56:17,228 INFO L290 TraceCheckUtils]: 1: Hoare triple {2378#true} [172] 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] {2378#true} is VALID [2022-02-20 20:56:17,228 INFO L290 TraceCheckUtils]: 2: Hoare triple {2378#true} [197] L-1-1-->L-1-2: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] {2378#true} is VALID [2022-02-20 20:56:17,228 INFO L290 TraceCheckUtils]: 3: Hoare triple {2378#true} [199] L-1-2-->L21: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {2378#true} is VALID [2022-02-20 20:56:17,228 INFO L290 TraceCheckUtils]: 4: Hoare triple {2378#true} [165] L21-->L21-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[] {2378#true} is VALID [2022-02-20 20:56:17,229 INFO L290 TraceCheckUtils]: 5: Hoare triple {2378#true} [187] L21-1-->L21-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[] {2378#true} is VALID [2022-02-20 20:56:17,229 INFO L290 TraceCheckUtils]: 6: Hoare triple {2378#true} [184] L21-2-->L21-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[] {2378#true} is VALID [2022-02-20 20:56:17,229 INFO L290 TraceCheckUtils]: 7: Hoare triple {2378#true} [156] L21-3-->L21-4: Formula: (and (= 30 (select |v_#length_2| 2)) (= (select |v_#valid_3| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {2378#true} is VALID [2022-02-20 20:56:17,229 INFO L290 TraceCheckUtils]: 8: Hoare triple {2378#true} [204] L21-4-->L38: Formula: (= v_~M~0_5 0) InVars {} OutVars{~M~0=v_~M~0_5} AuxVars[] AssignedVars[~M~0] {2378#true} is VALID [2022-02-20 20:56:17,229 INFO L290 TraceCheckUtils]: 9: Hoare triple {2378#true} [205] L38-->L-1-3: Formula: (= v_~counter~0_7 0) InVars {} OutVars{~counter~0=v_~counter~0_7} AuxVars[] AssignedVars[~counter~0] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,230 INFO L290 TraceCheckUtils]: 10: Hoare triple {2380#(= ~counter~0 0)} [201] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,230 INFO L290 TraceCheckUtils]: 11: Hoare triple {2380#(= ~counter~0 0)} [181] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,230 INFO L290 TraceCheckUtils]: 12: Hoare triple {2380#(= ~counter~0 0)} [151] L-1-5-->L-1-6: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,231 INFO L290 TraceCheckUtils]: 13: Hoare triple {2380#(= ~counter~0 0)} [178] L-1-6-->L65: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_1|, ULTIMATE.start_main_#t~nondet9#1=|v_ULTIMATE.start_main_#t~nondet9#1_1|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_1|, ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_1|, ULTIMATE.start_main_#t~nondet7#1=|v_ULTIMATE.start_main_#t~nondet7#1_1|, ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_1|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_1|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_1|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_1|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_1|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1, ULTIMATE.start_main_#t~nondet9#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_#t~nondet5#1, ULTIMATE.start_main_#t~nondet7#1, ULTIMATE.start_main_#t~mem11#1, ULTIMATE.start_main_#t~pre8#1, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset, ULTIMATE.start_main_#t~mem10#1, ULTIMATE.start_main_~#t2~0#1.base] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,231 INFO L290 TraceCheckUtils]: 14: Hoare triple {2380#(= ~counter~0 0)} [208] L65-->L65-1: Formula: (and (= |v_ULTIMATE.start_main_~#t1~0#1.offset_2| 0) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) 0) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 4)) (not (= |v_ULTIMATE.start_main_~#t1~0#1.base_2| 0)) (= (store |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 1) |v_#valid_4|)) 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_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_2|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[#valid, #length, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,231 INFO L290 TraceCheckUtils]: 15: Hoare triple {2380#(= ~counter~0 0)} [194] L65-1-->L65-2: Formula: (and (= |v_#length_5| (store |v_#length_6| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 4)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2|) 0) (= (store |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 1) |v_#valid_6|) (not (= |v_ULTIMATE.start_main_~#t2~0#1.base_2| 0)) (= 0 |v_ULTIMATE.start_main_~#t2~0#1.offset_2|) (< |v_#StackHeapBarrier_3| |v_ULTIMATE.start_main_~#t2~0#1.base_2|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_7|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_5|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_2|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t2~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t2~0#1.base] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,232 INFO L290 TraceCheckUtils]: 16: Hoare triple {2380#(= ~counter~0 0)} [171] L65-2-->L67: Formula: (and (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet5#1_2| 2147483648)) (<= |v_ULTIMATE.start_main_#t~nondet5#1_2| 2147483647)) InVars {ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_2|} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_2|} AuxVars[] AssignedVars[] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,232 INFO L290 TraceCheckUtils]: 17: Hoare triple {2380#(= ~counter~0 0)} [190] L67-->L67-1: Formula: (= |v_ULTIMATE.start_main_#t~nondet5#1_3| v_~M~0_6) InVars {ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_3|} OutVars{~M~0=v_~M~0_6, ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_3|} AuxVars[] AssignedVars[~M~0] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,232 INFO L290 TraceCheckUtils]: 18: Hoare triple {2380#(= ~counter~0 0)} [162] L67-1-->L68: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet5#1] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,233 INFO L290 TraceCheckUtils]: 19: Hoare triple {2380#(= ~counter~0 0)} [196] L68-->L68-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,233 INFO L290 TraceCheckUtils]: 20: Hoare triple {2380#(= ~counter~0 0)} [160] L68-1-->L68-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1| (ite (< 0 v_~M~0_7) 1 0)) InVars {~M~0=v_~M~0_7} OutVars{~M~0=v_~M~0_7, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,233 INFO L290 TraceCheckUtils]: 21: Hoare triple {2380#(= ~counter~0 0)} [143] L68-2-->L34: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,234 INFO L290 TraceCheckUtils]: 22: Hoare triple {2380#(= ~counter~0 0)} [164] L34-->L35: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_2|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_2|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,234 INFO L290 TraceCheckUtils]: 23: Hoare triple {2380#(= ~counter~0 0)} [189] L35-->L34-1: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_4| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_4|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_4|} AuxVars[] AssignedVars[] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,234 INFO L290 TraceCheckUtils]: 24: Hoare triple {2380#(= ~counter~0 0)} [182] L34-1-->L71: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,234 INFO L290 TraceCheckUtils]: 25: Hoare triple {2380#(= ~counter~0 0)} [135] L71-->L71-1: Formula: (= |v_ULTIMATE.start_main_#t~pre6#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,235 INFO L290 TraceCheckUtils]: 26: Hoare triple {2380#(= ~counter~0 0)} [159] L71-1-->L71-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,235 INFO L290 TraceCheckUtils]: 27: Hoare triple {2380#(= ~counter~0 0)} [198] L71-2-->L71-3: Formula: (= (store |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3| (store (select |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3|) |v_ULTIMATE.start_main_~#t1~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre6#1_3|)) |v_#memory_int_3|) InVars {#memory_int=|v_#memory_int_4|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} OutVars{#memory_int=|v_#memory_int_3|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} AuxVars[] AssignedVars[#memory_int] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,235 INFO L290 TraceCheckUtils]: 28: Hoare triple {2380#(= ~counter~0 0)} [228] L71-3-->thread1ENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre6#1_6| v_thread1Thread1of1ForFork0_thidvar0_2) (= v_thread1Thread1of1ForFork0_thidvar1_2 0)) InVars {ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_6|} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_6|, thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_4|, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_8|, thread1Thread1of1ForFork0_#t~post2=|v_thread1Thread1of1ForFork0_#t~post2_4|, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_12, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_2, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_4|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_2} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#t~post1, thread1Thread1of1ForFork0_#t~post2, thread1Thread1of1ForFork0_~i~0, thread1Thread1of1ForFork0_thidvar0, thread1Thread1of1ForFork0_#res.offset, thread1Thread1of1ForFork0_thidvar1] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,236 INFO L290 TraceCheckUtils]: 29: Hoare triple {2380#(= ~counter~0 0)} [210] thread1ENTRY-->L41-4: Formula: (= v_thread1Thread1of1ForFork0_~i~0_1 0) InVars {} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_1} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_~i~0] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,236 INFO L290 TraceCheckUtils]: 30: Hoare triple {2380#(= ~counter~0 0)} [150] L71-4-->L71-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,236 INFO L290 TraceCheckUtils]: 31: Hoare triple {2380#(= ~counter~0 0)} [177] L71-5-->L72: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet7#1=|v_ULTIMATE.start_main_#t~nondet7#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet7#1] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,237 INFO L290 TraceCheckUtils]: 32: Hoare triple {2380#(= ~counter~0 0)} [206] L72-->L72-1: Formula: (= |v_ULTIMATE.start_main_#t~pre8#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre8#1] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,237 INFO L290 TraceCheckUtils]: 33: Hoare triple {2380#(= ~counter~0 0)} [130] L72-1-->L72-2: Formula: (= (+ 1 |v_#pthreadsForks_6|) |v_#pthreadsForks_5|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_5|} AuxVars[] AssignedVars[#pthreadsForks] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,237 INFO L290 TraceCheckUtils]: 34: Hoare triple {2380#(= ~counter~0 0)} [139] L72-2-->L72-3: Formula: (= (store |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3| (store (select |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3|) |v_ULTIMATE.start_main_~#t2~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre8#1_3|)) |v_#memory_int_5|) InVars {#memory_int=|v_#memory_int_6|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} OutVars{#memory_int=|v_#memory_int_5|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} AuxVars[] AssignedVars[#memory_int] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,238 INFO L290 TraceCheckUtils]: 35: Hoare triple {2380#(= ~counter~0 0)} [230] L72-3-->thread2ENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre8#1_6| v_thread2Thread1of1ForFork1_thidvar0_2) (= 0 v_thread2Thread1of1ForFork1_thidvar1_2) (= 0 v_thread2Thread1of1ForFork1_thidvar2_2)) InVars {ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_6|} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_4|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_12, thread2Thread1of1ForFork1_#t~post4=|v_thread2Thread1of1ForFork1_#t~post4_6|, thread2Thread1of1ForFork1_#t~post3=|v_thread2Thread1of1ForFork1_#t~post3_6|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_4|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_6|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_2, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_2, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_2} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_~i~1, thread2Thread1of1ForFork1_#t~post4, thread2Thread1of1ForFork1_#t~post3, thread2Thread1of1ForFork1_#res.base, thread2Thread1of1ForFork1_thidvar2, thread2Thread1of1ForFork1_thidvar0, thread2Thread1of1ForFork1_thidvar1] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,238 INFO L290 TraceCheckUtils]: 36: Hoare triple {2380#(= ~counter~0 0)} [213] L41-4-->L42: Formula: (< v_thread1Thread1of1ForFork0_~i~0_5 v_~M~0_2) InVars {~M~0=v_~M~0_2, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_5} OutVars{~M~0=v_~M~0_2, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_5} AuxVars[] AssignedVars[] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,238 INFO L290 TraceCheckUtils]: 37: Hoare triple {2380#(= ~counter~0 0)} [215] L42-->L44: Formula: (= (+ v_~counter~0_26 1) v_~counter~0_25) InVars {~counter~0=v_~counter~0_26} OutVars{~counter~0=v_~counter~0_25, thread1Thread1of1ForFork0_#t~post2=|v_thread1Thread1of1ForFork0_#t~post2_1|} AuxVars[] AssignedVars[~counter~0, thread1Thread1of1ForFork0_#t~post2] {2381#(and (<= ~counter~0 1) (<= 1 ~counter~0))} is VALID [2022-02-20 20:56:17,239 INFO L290 TraceCheckUtils]: 38: Hoare triple {2381#(and (<= ~counter~0 1) (<= 1 ~counter~0))} [217] L44-->L41-2: Formula: (= v_thread1Thread1of1ForFork0_~i~0_7 |v_thread1Thread1of1ForFork0_#t~post1_1|) InVars {thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_7} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_7, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1] {2381#(and (<= ~counter~0 1) (<= 1 ~counter~0))} is VALID [2022-02-20 20:56:17,239 INFO L290 TraceCheckUtils]: 39: Hoare triple {2381#(and (<= ~counter~0 1) (<= 1 ~counter~0))} [218] L41-2-->L41-3: Formula: (= v_thread1Thread1of1ForFork0_~i~0_9 (+ |v_thread1Thread1of1ForFork0_#t~post1_3| 1)) InVars {thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_3|} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_9, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_3|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_~i~0] {2381#(and (<= ~counter~0 1) (<= 1 ~counter~0))} is VALID [2022-02-20 20:56:17,240 INFO L290 TraceCheckUtils]: 40: Hoare triple {2381#(and (<= ~counter~0 1) (<= 1 ~counter~0))} [219] L41-3-->L41-4: Formula: true InVars {} OutVars{thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_5|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1] {2381#(and (<= ~counter~0 1) (<= 1 ~counter~0))} is VALID [2022-02-20 20:56:17,240 INFO L290 TraceCheckUtils]: 41: Hoare triple {2381#(and (<= ~counter~0 1) (<= 1 ~counter~0))} [212] L41-4-->L41-5: Formula: (not (< v_thread1Thread1of1ForFork0_~i~0_3 v_~M~0_1)) InVars {~M~0=v_~M~0_1, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_3} OutVars{~M~0=v_~M~0_1, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_3} AuxVars[] AssignedVars[] {2381#(and (<= ~counter~0 1) (<= 1 ~counter~0))} is VALID [2022-02-20 20:56:17,241 INFO L290 TraceCheckUtils]: 42: Hoare triple {2381#(and (<= ~counter~0 1) (<= 1 ~counter~0))} [214] L41-5-->thread1FINAL: Formula: (and (= |v_thread1Thread1of1ForFork0_#res.base_1| 0) (= |v_thread1Thread1of1ForFork0_#res.offset_1| 0)) InVars {} OutVars{thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_1|, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#res.offset] {2381#(and (<= ~counter~0 1) (<= 1 ~counter~0))} is VALID [2022-02-20 20:56:17,241 INFO L290 TraceCheckUtils]: 43: Hoare triple {2381#(and (<= ~counter~0 1) (<= 1 ~counter~0))} [216] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2381#(and (<= ~counter~0 1) (<= 1 ~counter~0))} is VALID [2022-02-20 20:56:17,241 INFO L290 TraceCheckUtils]: 44: Hoare triple {2381#(and (<= ~counter~0 1) (<= 1 ~counter~0))} [200] L72-4-->L72-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre8#1] {2381#(and (<= ~counter~0 1) (<= 1 ~counter~0))} is VALID [2022-02-20 20:56:17,242 INFO L290 TraceCheckUtils]: 45: Hoare triple {2381#(and (<= ~counter~0 1) (<= 1 ~counter~0))} [133] L72-5-->L73: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet9#1=|v_ULTIMATE.start_main_#t~nondet9#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet9#1] {2381#(and (<= ~counter~0 1) (<= 1 ~counter~0))} is VALID [2022-02-20 20:56:17,242 INFO L290 TraceCheckUtils]: 46: Hoare triple {2381#(and (<= ~counter~0 1) (<= 1 ~counter~0))} [168] L73-->L73-1: Formula: (= |v_ULTIMATE.start_main_#t~mem10#1_2| (select (select |v_#memory_int_7| |v_ULTIMATE.start_main_~#t1~0#1.base_4|) |v_ULTIMATE.start_main_~#t1~0#1.offset_4|)) InVars {#memory_int=|v_#memory_int_7|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_4|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_4|} OutVars{#memory_int=|v_#memory_int_7|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_4|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_4|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10#1] {2381#(and (<= ~counter~0 1) (<= 1 ~counter~0))} is VALID [2022-02-20 20:56:17,243 INFO L290 TraceCheckUtils]: 47: Hoare triple {2381#(and (<= ~counter~0 1) (<= 1 ~counter~0))} [231] thread1EXIT-->L73-2: Formula: (and (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem10#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ .cse0 (- 4294967296)))) v_thread1Thread1of1ForFork0_thidvar0_4) (= v_thread1Thread1of1ForFork0_thidvar1_4 0)) InVars {thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|} OutVars{thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|} AuxVars[] AssignedVars[] {2381#(and (<= ~counter~0 1) (<= 1 ~counter~0))} is VALID [2022-02-20 20:56:17,243 INFO L290 TraceCheckUtils]: 48: Hoare triple {2381#(and (<= ~counter~0 1) (<= 1 ~counter~0))} [220] thread2ENTRY-->L54-1: Formula: (= v_thread2Thread1of1ForFork1_~i~1_1 0) InVars {} OutVars{thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_~i~1] {2381#(and (<= ~counter~0 1) (<= 1 ~counter~0))} is VALID [2022-02-20 20:56:17,243 INFO L290 TraceCheckUtils]: 49: Hoare triple {2381#(and (<= ~counter~0 1) (<= 1 ~counter~0))} [223] L54-1-->L53: Formula: (< v_thread2Thread1of1ForFork1_~i~1_5 v_~M~0_4) InVars {~M~0=v_~M~0_4, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_5} OutVars{~M~0=v_~M~0_4, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_5} AuxVars[] AssignedVars[] {2381#(and (<= ~counter~0 1) (<= 1 ~counter~0))} is VALID [2022-02-20 20:56:17,244 INFO L290 TraceCheckUtils]: 50: Hoare triple {2381#(and (<= ~counter~0 1) (<= 1 ~counter~0))} [225] L53-->L54-1: Formula: (let ((.cse0 (< 0 v_~counter~0_In_1))) (or (and .cse0 (= v_~counter~0_In_1 (+ v_~counter~0_Out_2 1)) (= (+ v_thread2Thread1of1ForFork1_~i~1_7 1) v_thread2Thread1of1ForFork1_~i~1_8)) (and (= v_~counter~0_Out_2 v_~counter~0_In_1) (= v_thread2Thread1of1ForFork1_~i~1_8 v_thread2Thread1of1ForFork1_~i~1_7) (not .cse0) (= |v_thread2Thread1of1ForFork1_#t~post3_1| |v_thread2Thread1of1ForFork1_#t~post3_2|) (= |v_thread2Thread1of1ForFork1_#t~post4_2| |v_thread2Thread1of1ForFork1_#t~post4_1|)))) InVars {~counter~0=v_~counter~0_In_1, thread2Thread1of1ForFork1_#t~post4=|v_thread2Thread1of1ForFork1_#t~post4_1|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_7, thread2Thread1of1ForFork1_#t~post3=|v_thread2Thread1of1ForFork1_#t~post3_1|} OutVars{~counter~0=v_~counter~0_Out_2, thread2Thread1of1ForFork1_#t~post4=|v_thread2Thread1of1ForFork1_#t~post4_2|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_8, thread2Thread1of1ForFork1_#t~post3=|v_thread2Thread1of1ForFork1_#t~post3_2|} AuxVars[] AssignedVars[~counter~0, thread2Thread1of1ForFork1_#t~post4, thread2Thread1of1ForFork1_~i~1, thread2Thread1of1ForFork1_#t~post3] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,244 INFO L290 TraceCheckUtils]: 51: Hoare triple {2380#(= ~counter~0 0)} [222] L54-1-->L52-2: Formula: (not (< v_thread2Thread1of1ForFork1_~i~1_3 v_~M~0_3)) InVars {~M~0=v_~M~0_3, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_3} OutVars{~M~0=v_~M~0_3, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_3} AuxVars[] AssignedVars[] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,245 INFO L290 TraceCheckUtils]: 52: Hoare triple {2380#(= ~counter~0 0)} [224] L52-2-->thread2FINAL: Formula: (and (= |v_thread2Thread1of1ForFork1_#res.base_1| 0) (= |v_thread2Thread1of1ForFork1_#res.offset_1| 0)) InVars {} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_1|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_1|} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_#res.base] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,245 INFO L290 TraceCheckUtils]: 53: Hoare triple {2380#(= ~counter~0 0)} [226] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,245 INFO L290 TraceCheckUtils]: 54: Hoare triple {2380#(= ~counter~0 0)} [169] L73-2-->L74: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10#1] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,246 INFO L290 TraceCheckUtils]: 55: Hoare triple {2380#(= ~counter~0 0)} [131] L74-->L74-1: Formula: (= (select (select |v_#memory_int_8| |v_ULTIMATE.start_main_~#t2~0#1.base_4|) |v_ULTIMATE.start_main_~#t2~0#1.offset_4|) |v_ULTIMATE.start_main_#t~mem11#1_2|) InVars {#memory_int=|v_#memory_int_8|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_4|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_2|, #memory_int=|v_#memory_int_8|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_4|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem11#1] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,246 INFO L290 TraceCheckUtils]: 56: Hoare triple {2380#(= ~counter~0 0)} [232] thread2EXIT-->L74-2: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar2_4) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem11#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ (- 4294967296) .cse0))) v_thread2Thread1of1ForFork1_thidvar0_4) (= 0 v_thread2Thread1of1ForFork1_thidvar1_4)) InVars {ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_5|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_5|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} AuxVars[] AssignedVars[] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,246 INFO L290 TraceCheckUtils]: 57: Hoare triple {2380#(= ~counter~0 0)} [173] L74-2-->L76: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem11#1] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,246 INFO L290 TraceCheckUtils]: 58: Hoare triple {2380#(= ~counter~0 0)} [207] L76-->L76-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,247 INFO L290 TraceCheckUtils]: 59: Hoare triple {2380#(= ~counter~0 0)} [186] L76-1-->L76-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3| (ite (not (= v_~counter~0_8 0)) 1 0)) InVars {~counter~0=v_~counter~0_8} OutVars{~counter~0=v_~counter~0_8, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] {2382#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} is VALID [2022-02-20 20:56:17,247 INFO L290 TraceCheckUtils]: 60: Hoare triple {2382#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} [193] L76-2-->L34-2: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_5|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {2382#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} is VALID [2022-02-20 20:56:17,248 INFO L290 TraceCheckUtils]: 61: Hoare triple {2382#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} [174] L34-2-->L35-3: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {2383#(= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0)} is VALID [2022-02-20 20:56:17,248 INFO L290 TraceCheckUtils]: 62: Hoare triple {2383#(= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0)} [145] L35-3-->L34-3: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_8| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_8|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_8|} AuxVars[] AssignedVars[] {2379#false} is VALID [2022-02-20 20:56:17,248 INFO L290 TraceCheckUtils]: 63: Hoare triple {2379#false} [154] L34-3-->L77: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2379#false} is VALID [2022-02-20 20:56:17,248 INFO L290 TraceCheckUtils]: 64: Hoare triple {2379#false} [146] L77-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2379#false} is VALID [2022-02-20 20:56:17,248 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 20:56:17,249 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 20:56:17,249 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1091664563] [2022-02-20 20:56:17,249 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1091664563] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 20:56:17,249 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1064518724] [2022-02-20 20:56:17,249 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:56:17,249 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 20:56:17,250 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 20:56:17,264 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 20:56:17,265 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-02-20 20:56:17,313 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:56:17,314 INFO L263 TraceCheckSpWp]: Trace formula consists of 148 conjuncts, 10 conjunts are in the unsatisfiable core [2022-02-20 20:56:17,324 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:56:17,325 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 20:56:17,539 INFO L290 TraceCheckUtils]: 0: Hoare triple {2378#true} [191] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2378#true} is VALID [2022-02-20 20:56:17,539 INFO L290 TraceCheckUtils]: 1: Hoare triple {2378#true} [172] 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] {2378#true} is VALID [2022-02-20 20:56:17,539 INFO L290 TraceCheckUtils]: 2: Hoare triple {2378#true} [197] L-1-1-->L-1-2: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] {2378#true} is VALID [2022-02-20 20:56:17,539 INFO L290 TraceCheckUtils]: 3: Hoare triple {2378#true} [199] L-1-2-->L21: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {2378#true} is VALID [2022-02-20 20:56:17,539 INFO L290 TraceCheckUtils]: 4: Hoare triple {2378#true} [165] L21-->L21-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[] {2378#true} is VALID [2022-02-20 20:56:17,539 INFO L290 TraceCheckUtils]: 5: Hoare triple {2378#true} [187] L21-1-->L21-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[] {2378#true} is VALID [2022-02-20 20:56:17,540 INFO L290 TraceCheckUtils]: 6: Hoare triple {2378#true} [184] L21-2-->L21-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[] {2378#true} is VALID [2022-02-20 20:56:17,540 INFO L290 TraceCheckUtils]: 7: Hoare triple {2378#true} [156] L21-3-->L21-4: Formula: (and (= 30 (select |v_#length_2| 2)) (= (select |v_#valid_3| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {2378#true} is VALID [2022-02-20 20:56:17,540 INFO L290 TraceCheckUtils]: 8: Hoare triple {2378#true} [204] L21-4-->L38: Formula: (= v_~M~0_5 0) InVars {} OutVars{~M~0=v_~M~0_5} AuxVars[] AssignedVars[~M~0] {2378#true} is VALID [2022-02-20 20:56:17,540 INFO L290 TraceCheckUtils]: 9: Hoare triple {2378#true} [205] L38-->L-1-3: Formula: (= v_~counter~0_7 0) InVars {} OutVars{~counter~0=v_~counter~0_7} AuxVars[] AssignedVars[~counter~0] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,541 INFO L290 TraceCheckUtils]: 10: Hoare triple {2380#(= ~counter~0 0)} [201] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,541 INFO L290 TraceCheckUtils]: 11: Hoare triple {2380#(= ~counter~0 0)} [181] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,541 INFO L290 TraceCheckUtils]: 12: Hoare triple {2380#(= ~counter~0 0)} [151] L-1-5-->L-1-6: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,541 INFO L290 TraceCheckUtils]: 13: Hoare triple {2380#(= ~counter~0 0)} [178] L-1-6-->L65: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_1|, ULTIMATE.start_main_#t~nondet9#1=|v_ULTIMATE.start_main_#t~nondet9#1_1|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_1|, ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_1|, ULTIMATE.start_main_#t~nondet7#1=|v_ULTIMATE.start_main_#t~nondet7#1_1|, ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_1|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_1|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_1|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_1|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_1|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1, ULTIMATE.start_main_#t~nondet9#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_#t~nondet5#1, ULTIMATE.start_main_#t~nondet7#1, ULTIMATE.start_main_#t~mem11#1, ULTIMATE.start_main_#t~pre8#1, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset, ULTIMATE.start_main_#t~mem10#1, ULTIMATE.start_main_~#t2~0#1.base] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,542 INFO L290 TraceCheckUtils]: 14: Hoare triple {2380#(= ~counter~0 0)} [208] L65-->L65-1: Formula: (and (= |v_ULTIMATE.start_main_~#t1~0#1.offset_2| 0) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) 0) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 4)) (not (= |v_ULTIMATE.start_main_~#t1~0#1.base_2| 0)) (= (store |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 1) |v_#valid_4|)) 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_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_2|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[#valid, #length, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,542 INFO L290 TraceCheckUtils]: 15: Hoare triple {2380#(= ~counter~0 0)} [194] L65-1-->L65-2: Formula: (and (= |v_#length_5| (store |v_#length_6| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 4)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2|) 0) (= (store |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 1) |v_#valid_6|) (not (= |v_ULTIMATE.start_main_~#t2~0#1.base_2| 0)) (= 0 |v_ULTIMATE.start_main_~#t2~0#1.offset_2|) (< |v_#StackHeapBarrier_3| |v_ULTIMATE.start_main_~#t2~0#1.base_2|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_7|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_5|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_2|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t2~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t2~0#1.base] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,542 INFO L290 TraceCheckUtils]: 16: Hoare triple {2380#(= ~counter~0 0)} [171] L65-2-->L67: Formula: (and (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet5#1_2| 2147483648)) (<= |v_ULTIMATE.start_main_#t~nondet5#1_2| 2147483647)) InVars {ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_2|} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_2|} AuxVars[] AssignedVars[] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,543 INFO L290 TraceCheckUtils]: 17: Hoare triple {2380#(= ~counter~0 0)} [190] L67-->L67-1: Formula: (= |v_ULTIMATE.start_main_#t~nondet5#1_3| v_~M~0_6) InVars {ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_3|} OutVars{~M~0=v_~M~0_6, ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_3|} AuxVars[] AssignedVars[~M~0] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,543 INFO L290 TraceCheckUtils]: 18: Hoare triple {2380#(= ~counter~0 0)} [162] L67-1-->L68: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet5#1] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,543 INFO L290 TraceCheckUtils]: 19: Hoare triple {2380#(= ~counter~0 0)} [196] L68-->L68-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,544 INFO L290 TraceCheckUtils]: 20: Hoare triple {2380#(= ~counter~0 0)} [160] L68-1-->L68-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1| (ite (< 0 v_~M~0_7) 1 0)) InVars {~M~0=v_~M~0_7} OutVars{~M~0=v_~M~0_7, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,544 INFO L290 TraceCheckUtils]: 21: Hoare triple {2380#(= ~counter~0 0)} [143] L68-2-->L34: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,544 INFO L290 TraceCheckUtils]: 22: Hoare triple {2380#(= ~counter~0 0)} [164] L34-->L35: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_2|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_2|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,545 INFO L290 TraceCheckUtils]: 23: Hoare triple {2380#(= ~counter~0 0)} [189] L35-->L34-1: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_4| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_4|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_4|} AuxVars[] AssignedVars[] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,545 INFO L290 TraceCheckUtils]: 24: Hoare triple {2380#(= ~counter~0 0)} [182] L34-1-->L71: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,545 INFO L290 TraceCheckUtils]: 25: Hoare triple {2380#(= ~counter~0 0)} [135] L71-->L71-1: Formula: (= |v_ULTIMATE.start_main_#t~pre6#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,546 INFO L290 TraceCheckUtils]: 26: Hoare triple {2380#(= ~counter~0 0)} [159] L71-1-->L71-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,546 INFO L290 TraceCheckUtils]: 27: Hoare triple {2380#(= ~counter~0 0)} [198] L71-2-->L71-3: Formula: (= (store |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3| (store (select |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3|) |v_ULTIMATE.start_main_~#t1~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre6#1_3|)) |v_#memory_int_3|) InVars {#memory_int=|v_#memory_int_4|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} OutVars{#memory_int=|v_#memory_int_3|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} AuxVars[] AssignedVars[#memory_int] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,546 INFO L290 TraceCheckUtils]: 28: Hoare triple {2380#(= ~counter~0 0)} [228] L71-3-->thread1ENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre6#1_6| v_thread1Thread1of1ForFork0_thidvar0_2) (= v_thread1Thread1of1ForFork0_thidvar1_2 0)) InVars {ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_6|} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_6|, thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_4|, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_8|, thread1Thread1of1ForFork0_#t~post2=|v_thread1Thread1of1ForFork0_#t~post2_4|, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_12, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_2, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_4|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_2} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#t~post1, thread1Thread1of1ForFork0_#t~post2, thread1Thread1of1ForFork0_~i~0, thread1Thread1of1ForFork0_thidvar0, thread1Thread1of1ForFork0_#res.offset, thread1Thread1of1ForFork0_thidvar1] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,547 INFO L290 TraceCheckUtils]: 29: Hoare triple {2380#(= ~counter~0 0)} [210] thread1ENTRY-->L41-4: Formula: (= v_thread1Thread1of1ForFork0_~i~0_1 0) InVars {} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_1} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_~i~0] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,547 INFO L290 TraceCheckUtils]: 30: Hoare triple {2380#(= ~counter~0 0)} [150] L71-4-->L71-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,547 INFO L290 TraceCheckUtils]: 31: Hoare triple {2380#(= ~counter~0 0)} [177] L71-5-->L72: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet7#1=|v_ULTIMATE.start_main_#t~nondet7#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet7#1] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,548 INFO L290 TraceCheckUtils]: 32: Hoare triple {2380#(= ~counter~0 0)} [206] L72-->L72-1: Formula: (= |v_ULTIMATE.start_main_#t~pre8#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre8#1] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,548 INFO L290 TraceCheckUtils]: 33: Hoare triple {2380#(= ~counter~0 0)} [130] L72-1-->L72-2: Formula: (= (+ 1 |v_#pthreadsForks_6|) |v_#pthreadsForks_5|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_5|} AuxVars[] AssignedVars[#pthreadsForks] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,548 INFO L290 TraceCheckUtils]: 34: Hoare triple {2380#(= ~counter~0 0)} [139] L72-2-->L72-3: Formula: (= (store |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3| (store (select |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3|) |v_ULTIMATE.start_main_~#t2~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre8#1_3|)) |v_#memory_int_5|) InVars {#memory_int=|v_#memory_int_6|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} OutVars{#memory_int=|v_#memory_int_5|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} AuxVars[] AssignedVars[#memory_int] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,548 INFO L290 TraceCheckUtils]: 35: Hoare triple {2380#(= ~counter~0 0)} [230] L72-3-->thread2ENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre8#1_6| v_thread2Thread1of1ForFork1_thidvar0_2) (= 0 v_thread2Thread1of1ForFork1_thidvar1_2) (= 0 v_thread2Thread1of1ForFork1_thidvar2_2)) InVars {ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_6|} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_4|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_12, thread2Thread1of1ForFork1_#t~post4=|v_thread2Thread1of1ForFork1_#t~post4_6|, thread2Thread1of1ForFork1_#t~post3=|v_thread2Thread1of1ForFork1_#t~post3_6|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_4|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_6|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_2, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_2, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_2} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_~i~1, thread2Thread1of1ForFork1_#t~post4, thread2Thread1of1ForFork1_#t~post3, thread2Thread1of1ForFork1_#res.base, thread2Thread1of1ForFork1_thidvar2, thread2Thread1of1ForFork1_thidvar0, thread2Thread1of1ForFork1_thidvar1] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,549 INFO L290 TraceCheckUtils]: 36: Hoare triple {2380#(= ~counter~0 0)} [213] L41-4-->L42: Formula: (< v_thread1Thread1of1ForFork0_~i~0_5 v_~M~0_2) InVars {~M~0=v_~M~0_2, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_5} OutVars{~M~0=v_~M~0_2, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_5} AuxVars[] AssignedVars[] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,549 INFO L290 TraceCheckUtils]: 37: Hoare triple {2380#(= ~counter~0 0)} [215] L42-->L44: Formula: (= (+ v_~counter~0_26 1) v_~counter~0_25) InVars {~counter~0=v_~counter~0_26} OutVars{~counter~0=v_~counter~0_25, thread1Thread1of1ForFork0_#t~post2=|v_thread1Thread1of1ForFork0_#t~post2_1|} AuxVars[] AssignedVars[~counter~0, thread1Thread1of1ForFork0_#t~post2] {2381#(and (<= ~counter~0 1) (<= 1 ~counter~0))} is VALID [2022-02-20 20:56:17,550 INFO L290 TraceCheckUtils]: 38: Hoare triple {2381#(and (<= ~counter~0 1) (<= 1 ~counter~0))} [217] L44-->L41-2: Formula: (= v_thread1Thread1of1ForFork0_~i~0_7 |v_thread1Thread1of1ForFork0_#t~post1_1|) InVars {thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_7} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_7, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1] {2381#(and (<= ~counter~0 1) (<= 1 ~counter~0))} is VALID [2022-02-20 20:56:17,550 INFO L290 TraceCheckUtils]: 39: Hoare triple {2381#(and (<= ~counter~0 1) (<= 1 ~counter~0))} [218] L41-2-->L41-3: Formula: (= v_thread1Thread1of1ForFork0_~i~0_9 (+ |v_thread1Thread1of1ForFork0_#t~post1_3| 1)) InVars {thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_3|} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_9, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_3|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_~i~0] {2381#(and (<= ~counter~0 1) (<= 1 ~counter~0))} is VALID [2022-02-20 20:56:17,550 INFO L290 TraceCheckUtils]: 40: Hoare triple {2381#(and (<= ~counter~0 1) (<= 1 ~counter~0))} [219] L41-3-->L41-4: Formula: true InVars {} OutVars{thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_5|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1] {2381#(and (<= ~counter~0 1) (<= 1 ~counter~0))} is VALID [2022-02-20 20:56:17,551 INFO L290 TraceCheckUtils]: 41: Hoare triple {2381#(and (<= ~counter~0 1) (<= 1 ~counter~0))} [212] L41-4-->L41-5: Formula: (not (< v_thread1Thread1of1ForFork0_~i~0_3 v_~M~0_1)) InVars {~M~0=v_~M~0_1, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_3} OutVars{~M~0=v_~M~0_1, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_3} AuxVars[] AssignedVars[] {2381#(and (<= ~counter~0 1) (<= 1 ~counter~0))} is VALID [2022-02-20 20:56:17,551 INFO L290 TraceCheckUtils]: 42: Hoare triple {2381#(and (<= ~counter~0 1) (<= 1 ~counter~0))} [214] L41-5-->thread1FINAL: Formula: (and (= |v_thread1Thread1of1ForFork0_#res.base_1| 0) (= |v_thread1Thread1of1ForFork0_#res.offset_1| 0)) InVars {} OutVars{thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_1|, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#res.offset] {2381#(and (<= ~counter~0 1) (<= 1 ~counter~0))} is VALID [2022-02-20 20:56:17,551 INFO L290 TraceCheckUtils]: 43: Hoare triple {2381#(and (<= ~counter~0 1) (<= 1 ~counter~0))} [216] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2381#(and (<= ~counter~0 1) (<= 1 ~counter~0))} is VALID [2022-02-20 20:56:17,552 INFO L290 TraceCheckUtils]: 44: Hoare triple {2381#(and (<= ~counter~0 1) (<= 1 ~counter~0))} [200] L72-4-->L72-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre8#1] {2381#(and (<= ~counter~0 1) (<= 1 ~counter~0))} is VALID [2022-02-20 20:56:17,552 INFO L290 TraceCheckUtils]: 45: Hoare triple {2381#(and (<= ~counter~0 1) (<= 1 ~counter~0))} [133] L72-5-->L73: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet9#1=|v_ULTIMATE.start_main_#t~nondet9#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet9#1] {2381#(and (<= ~counter~0 1) (<= 1 ~counter~0))} is VALID [2022-02-20 20:56:17,552 INFO L290 TraceCheckUtils]: 46: Hoare triple {2381#(and (<= ~counter~0 1) (<= 1 ~counter~0))} [168] L73-->L73-1: Formula: (= |v_ULTIMATE.start_main_#t~mem10#1_2| (select (select |v_#memory_int_7| |v_ULTIMATE.start_main_~#t1~0#1.base_4|) |v_ULTIMATE.start_main_~#t1~0#1.offset_4|)) InVars {#memory_int=|v_#memory_int_7|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_4|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_4|} OutVars{#memory_int=|v_#memory_int_7|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_4|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_4|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10#1] {2381#(and (<= ~counter~0 1) (<= 1 ~counter~0))} is VALID [2022-02-20 20:56:17,553 INFO L290 TraceCheckUtils]: 47: Hoare triple {2381#(and (<= ~counter~0 1) (<= 1 ~counter~0))} [231] thread1EXIT-->L73-2: Formula: (and (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem10#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ .cse0 (- 4294967296)))) v_thread1Thread1of1ForFork0_thidvar0_4) (= v_thread1Thread1of1ForFork0_thidvar1_4 0)) InVars {thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|} OutVars{thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|} AuxVars[] AssignedVars[] {2381#(and (<= ~counter~0 1) (<= 1 ~counter~0))} is VALID [2022-02-20 20:56:17,553 INFO L290 TraceCheckUtils]: 48: Hoare triple {2381#(and (<= ~counter~0 1) (<= 1 ~counter~0))} [220] thread2ENTRY-->L54-1: Formula: (= v_thread2Thread1of1ForFork1_~i~1_1 0) InVars {} OutVars{thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_~i~1] {2381#(and (<= ~counter~0 1) (<= 1 ~counter~0))} is VALID [2022-02-20 20:56:17,554 INFO L290 TraceCheckUtils]: 49: Hoare triple {2381#(and (<= ~counter~0 1) (<= 1 ~counter~0))} [223] L54-1-->L53: Formula: (< v_thread2Thread1of1ForFork1_~i~1_5 v_~M~0_4) InVars {~M~0=v_~M~0_4, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_5} OutVars{~M~0=v_~M~0_4, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_5} AuxVars[] AssignedVars[] {2381#(and (<= ~counter~0 1) (<= 1 ~counter~0))} is VALID [2022-02-20 20:56:17,554 INFO L290 TraceCheckUtils]: 50: Hoare triple {2381#(and (<= ~counter~0 1) (<= 1 ~counter~0))} [225] L53-->L54-1: Formula: (let ((.cse0 (< 0 v_~counter~0_In_1))) (or (and .cse0 (= v_~counter~0_In_1 (+ v_~counter~0_Out_2 1)) (= (+ v_thread2Thread1of1ForFork1_~i~1_7 1) v_thread2Thread1of1ForFork1_~i~1_8)) (and (= v_~counter~0_Out_2 v_~counter~0_In_1) (= v_thread2Thread1of1ForFork1_~i~1_8 v_thread2Thread1of1ForFork1_~i~1_7) (not .cse0) (= |v_thread2Thread1of1ForFork1_#t~post3_1| |v_thread2Thread1of1ForFork1_#t~post3_2|) (= |v_thread2Thread1of1ForFork1_#t~post4_2| |v_thread2Thread1of1ForFork1_#t~post4_1|)))) InVars {~counter~0=v_~counter~0_In_1, thread2Thread1of1ForFork1_#t~post4=|v_thread2Thread1of1ForFork1_#t~post4_1|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_7, thread2Thread1of1ForFork1_#t~post3=|v_thread2Thread1of1ForFork1_#t~post3_1|} OutVars{~counter~0=v_~counter~0_Out_2, thread2Thread1of1ForFork1_#t~post4=|v_thread2Thread1of1ForFork1_#t~post4_2|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_8, thread2Thread1of1ForFork1_#t~post3=|v_thread2Thread1of1ForFork1_#t~post3_2|} AuxVars[] AssignedVars[~counter~0, thread2Thread1of1ForFork1_#t~post4, thread2Thread1of1ForFork1_~i~1, thread2Thread1of1ForFork1_#t~post3] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,555 INFO L290 TraceCheckUtils]: 51: Hoare triple {2380#(= ~counter~0 0)} [222] L54-1-->L52-2: Formula: (not (< v_thread2Thread1of1ForFork1_~i~1_3 v_~M~0_3)) InVars {~M~0=v_~M~0_3, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_3} OutVars{~M~0=v_~M~0_3, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_3} AuxVars[] AssignedVars[] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,555 INFO L290 TraceCheckUtils]: 52: Hoare triple {2380#(= ~counter~0 0)} [224] L52-2-->thread2FINAL: Formula: (and (= |v_thread2Thread1of1ForFork1_#res.base_1| 0) (= |v_thread2Thread1of1ForFork1_#res.offset_1| 0)) InVars {} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_1|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_1|} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_#res.base] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,555 INFO L290 TraceCheckUtils]: 53: Hoare triple {2380#(= ~counter~0 0)} [226] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,555 INFO L290 TraceCheckUtils]: 54: Hoare triple {2380#(= ~counter~0 0)} [169] L73-2-->L74: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10#1] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,556 INFO L290 TraceCheckUtils]: 55: Hoare triple {2380#(= ~counter~0 0)} [131] L74-->L74-1: Formula: (= (select (select |v_#memory_int_8| |v_ULTIMATE.start_main_~#t2~0#1.base_4|) |v_ULTIMATE.start_main_~#t2~0#1.offset_4|) |v_ULTIMATE.start_main_#t~mem11#1_2|) InVars {#memory_int=|v_#memory_int_8|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_4|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_2|, #memory_int=|v_#memory_int_8|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_4|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem11#1] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,556 INFO L290 TraceCheckUtils]: 56: Hoare triple {2380#(= ~counter~0 0)} [232] thread2EXIT-->L74-2: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar2_4) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem11#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ (- 4294967296) .cse0))) v_thread2Thread1of1ForFork1_thidvar0_4) (= 0 v_thread2Thread1of1ForFork1_thidvar1_4)) InVars {ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_5|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_5|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} AuxVars[] AssignedVars[] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,556 INFO L290 TraceCheckUtils]: 57: Hoare triple {2380#(= ~counter~0 0)} [173] L74-2-->L76: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem11#1] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,557 INFO L290 TraceCheckUtils]: 58: Hoare triple {2380#(= ~counter~0 0)} [207] L76-->L76-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:17,557 INFO L290 TraceCheckUtils]: 59: Hoare triple {2380#(= ~counter~0 0)} [186] L76-1-->L76-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3| (ite (not (= v_~counter~0_8 0)) 1 0)) InVars {~counter~0=v_~counter~0_8} OutVars{~counter~0=v_~counter~0_8, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] {2382#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} is VALID [2022-02-20 20:56:17,557 INFO L290 TraceCheckUtils]: 60: Hoare triple {2382#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} [193] L76-2-->L34-2: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_5|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {2382#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} is VALID [2022-02-20 20:56:17,558 INFO L290 TraceCheckUtils]: 61: Hoare triple {2382#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} [174] L34-2-->L35-3: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {2383#(= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0)} is VALID [2022-02-20 20:56:17,558 INFO L290 TraceCheckUtils]: 62: Hoare triple {2383#(= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0)} [145] L35-3-->L34-3: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_8| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_8|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_8|} AuxVars[] AssignedVars[] {2379#false} is VALID [2022-02-20 20:56:17,558 INFO L290 TraceCheckUtils]: 63: Hoare triple {2379#false} [154] L34-3-->L77: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2379#false} is VALID [2022-02-20 20:56:17,558 INFO L290 TraceCheckUtils]: 64: Hoare triple {2379#false} [146] L77-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2379#false} is VALID [2022-02-20 20:56:17,559 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 20:56:17,559 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 20:56:18,131 INFO L290 TraceCheckUtils]: 64: Hoare triple {2379#false} [146] L77-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2379#false} is VALID [2022-02-20 20:56:18,131 INFO L290 TraceCheckUtils]: 63: Hoare triple {2379#false} [154] L34-3-->L77: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2379#false} is VALID [2022-02-20 20:56:18,131 INFO L290 TraceCheckUtils]: 62: Hoare triple {2383#(= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0)} [145] L35-3-->L34-3: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_8| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_8|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_8|} AuxVars[] AssignedVars[] {2379#false} is VALID [2022-02-20 20:56:18,132 INFO L290 TraceCheckUtils]: 61: Hoare triple {2382#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} [174] L34-2-->L35-3: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {2383#(= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0)} is VALID [2022-02-20 20:56:18,132 INFO L290 TraceCheckUtils]: 60: Hoare triple {2382#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} [193] L76-2-->L34-2: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_5|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {2382#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} is VALID [2022-02-20 20:56:18,132 INFO L290 TraceCheckUtils]: 59: Hoare triple {2380#(= ~counter~0 0)} [186] L76-1-->L76-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3| (ite (not (= v_~counter~0_8 0)) 1 0)) InVars {~counter~0=v_~counter~0_8} OutVars{~counter~0=v_~counter~0_8, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] {2382#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} is VALID [2022-02-20 20:56:18,133 INFO L290 TraceCheckUtils]: 58: Hoare triple {2380#(= ~counter~0 0)} [207] L76-->L76-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:18,133 INFO L290 TraceCheckUtils]: 57: Hoare triple {2380#(= ~counter~0 0)} [173] L74-2-->L76: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem11#1] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:18,133 INFO L290 TraceCheckUtils]: 56: Hoare triple {2380#(= ~counter~0 0)} [232] thread2EXIT-->L74-2: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar2_4) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem11#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ (- 4294967296) .cse0))) v_thread2Thread1of1ForFork1_thidvar0_4) (= 0 v_thread2Thread1of1ForFork1_thidvar1_4)) InVars {ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_5|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_5|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} AuxVars[] AssignedVars[] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:18,134 INFO L290 TraceCheckUtils]: 55: Hoare triple {2380#(= ~counter~0 0)} [131] L74-->L74-1: Formula: (= (select (select |v_#memory_int_8| |v_ULTIMATE.start_main_~#t2~0#1.base_4|) |v_ULTIMATE.start_main_~#t2~0#1.offset_4|) |v_ULTIMATE.start_main_#t~mem11#1_2|) InVars {#memory_int=|v_#memory_int_8|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_4|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_2|, #memory_int=|v_#memory_int_8|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_4|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem11#1] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:18,134 INFO L290 TraceCheckUtils]: 54: Hoare triple {2380#(= ~counter~0 0)} [169] L73-2-->L74: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10#1] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:18,134 INFO L290 TraceCheckUtils]: 53: Hoare triple {2380#(= ~counter~0 0)} [226] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:18,135 INFO L290 TraceCheckUtils]: 52: Hoare triple {2380#(= ~counter~0 0)} [224] L52-2-->thread2FINAL: Formula: (and (= |v_thread2Thread1of1ForFork1_#res.base_1| 0) (= |v_thread2Thread1of1ForFork1_#res.offset_1| 0)) InVars {} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_1|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_1|} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_#res.base] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:18,135 INFO L290 TraceCheckUtils]: 51: Hoare triple {2380#(= ~counter~0 0)} [222] L54-1-->L52-2: Formula: (not (< v_thread2Thread1of1ForFork1_~i~1_3 v_~M~0_3)) InVars {~M~0=v_~M~0_3, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_3} OutVars{~M~0=v_~M~0_3, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_3} AuxVars[] AssignedVars[] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:18,136 INFO L290 TraceCheckUtils]: 50: Hoare triple {2621#(and (or (< 0 ~counter~0) (= ~counter~0 0)) (or (not (< 0 ~counter~0)) (= (+ ~counter~0 (- 1)) 0)))} [225] L53-->L54-1: Formula: (let ((.cse0 (< 0 v_~counter~0_In_1))) (or (and .cse0 (= v_~counter~0_In_1 (+ v_~counter~0_Out_2 1)) (= (+ v_thread2Thread1of1ForFork1_~i~1_7 1) v_thread2Thread1of1ForFork1_~i~1_8)) (and (= v_~counter~0_Out_2 v_~counter~0_In_1) (= v_thread2Thread1of1ForFork1_~i~1_8 v_thread2Thread1of1ForFork1_~i~1_7) (not .cse0) (= |v_thread2Thread1of1ForFork1_#t~post3_1| |v_thread2Thread1of1ForFork1_#t~post3_2|) (= |v_thread2Thread1of1ForFork1_#t~post4_2| |v_thread2Thread1of1ForFork1_#t~post4_1|)))) InVars {~counter~0=v_~counter~0_In_1, thread2Thread1of1ForFork1_#t~post4=|v_thread2Thread1of1ForFork1_#t~post4_1|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_7, thread2Thread1of1ForFork1_#t~post3=|v_thread2Thread1of1ForFork1_#t~post3_1|} OutVars{~counter~0=v_~counter~0_Out_2, thread2Thread1of1ForFork1_#t~post4=|v_thread2Thread1of1ForFork1_#t~post4_2|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_8, thread2Thread1of1ForFork1_#t~post3=|v_thread2Thread1of1ForFork1_#t~post3_2|} AuxVars[] AssignedVars[~counter~0, thread2Thread1of1ForFork1_#t~post4, thread2Thread1of1ForFork1_~i~1, thread2Thread1of1ForFork1_#t~post3] {2380#(= ~counter~0 0)} is VALID [2022-02-20 20:56:18,136 INFO L290 TraceCheckUtils]: 49: Hoare triple {2621#(and (or (< 0 ~counter~0) (= ~counter~0 0)) (or (not (< 0 ~counter~0)) (= (+ ~counter~0 (- 1)) 0)))} [223] L54-1-->L53: Formula: (< v_thread2Thread1of1ForFork1_~i~1_5 v_~M~0_4) InVars {~M~0=v_~M~0_4, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_5} OutVars{~M~0=v_~M~0_4, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_5} AuxVars[] AssignedVars[] {2621#(and (or (< 0 ~counter~0) (= ~counter~0 0)) (or (not (< 0 ~counter~0)) (= (+ ~counter~0 (- 1)) 0)))} is VALID [2022-02-20 20:56:18,137 INFO L290 TraceCheckUtils]: 48: Hoare triple {2621#(and (or (< 0 ~counter~0) (= ~counter~0 0)) (or (not (< 0 ~counter~0)) (= (+ ~counter~0 (- 1)) 0)))} [220] thread2ENTRY-->L54-1: Formula: (= v_thread2Thread1of1ForFork1_~i~1_1 0) InVars {} OutVars{thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_~i~1] {2621#(and (or (< 0 ~counter~0) (= ~counter~0 0)) (or (not (< 0 ~counter~0)) (= (+ ~counter~0 (- 1)) 0)))} is VALID [2022-02-20 20:56:18,137 INFO L290 TraceCheckUtils]: 47: Hoare triple {2621#(and (or (< 0 ~counter~0) (= ~counter~0 0)) (or (not (< 0 ~counter~0)) (= (+ ~counter~0 (- 1)) 0)))} [231] thread1EXIT-->L73-2: Formula: (and (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem10#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ .cse0 (- 4294967296)))) v_thread1Thread1of1ForFork0_thidvar0_4) (= v_thread1Thread1of1ForFork0_thidvar1_4 0)) InVars {thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|} OutVars{thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|} AuxVars[] AssignedVars[] {2621#(and (or (< 0 ~counter~0) (= ~counter~0 0)) (or (not (< 0 ~counter~0)) (= (+ ~counter~0 (- 1)) 0)))} is VALID [2022-02-20 20:56:18,138 INFO L290 TraceCheckUtils]: 46: Hoare triple {2621#(and (or (< 0 ~counter~0) (= ~counter~0 0)) (or (not (< 0 ~counter~0)) (= (+ ~counter~0 (- 1)) 0)))} [168] L73-->L73-1: Formula: (= |v_ULTIMATE.start_main_#t~mem10#1_2| (select (select |v_#memory_int_7| |v_ULTIMATE.start_main_~#t1~0#1.base_4|) |v_ULTIMATE.start_main_~#t1~0#1.offset_4|)) InVars {#memory_int=|v_#memory_int_7|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_4|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_4|} OutVars{#memory_int=|v_#memory_int_7|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_4|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_4|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10#1] {2621#(and (or (< 0 ~counter~0) (= ~counter~0 0)) (or (not (< 0 ~counter~0)) (= (+ ~counter~0 (- 1)) 0)))} is VALID [2022-02-20 20:56:18,138 INFO L290 TraceCheckUtils]: 45: Hoare triple {2621#(and (or (< 0 ~counter~0) (= ~counter~0 0)) (or (not (< 0 ~counter~0)) (= (+ ~counter~0 (- 1)) 0)))} [133] L72-5-->L73: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet9#1=|v_ULTIMATE.start_main_#t~nondet9#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet9#1] {2621#(and (or (< 0 ~counter~0) (= ~counter~0 0)) (or (not (< 0 ~counter~0)) (= (+ ~counter~0 (- 1)) 0)))} is VALID [2022-02-20 20:56:18,138 INFO L290 TraceCheckUtils]: 44: Hoare triple {2621#(and (or (< 0 ~counter~0) (= ~counter~0 0)) (or (not (< 0 ~counter~0)) (= (+ ~counter~0 (- 1)) 0)))} [200] L72-4-->L72-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre8#1] {2621#(and (or (< 0 ~counter~0) (= ~counter~0 0)) (or (not (< 0 ~counter~0)) (= (+ ~counter~0 (- 1)) 0)))} is VALID [2022-02-20 20:56:18,139 INFO L290 TraceCheckUtils]: 43: Hoare triple {2621#(and (or (< 0 ~counter~0) (= ~counter~0 0)) (or (not (< 0 ~counter~0)) (= (+ ~counter~0 (- 1)) 0)))} [216] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2621#(and (or (< 0 ~counter~0) (= ~counter~0 0)) (or (not (< 0 ~counter~0)) (= (+ ~counter~0 (- 1)) 0)))} is VALID [2022-02-20 20:56:18,139 INFO L290 TraceCheckUtils]: 42: Hoare triple {2621#(and (or (< 0 ~counter~0) (= ~counter~0 0)) (or (not (< 0 ~counter~0)) (= (+ ~counter~0 (- 1)) 0)))} [214] L41-5-->thread1FINAL: Formula: (and (= |v_thread1Thread1of1ForFork0_#res.base_1| 0) (= |v_thread1Thread1of1ForFork0_#res.offset_1| 0)) InVars {} OutVars{thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_1|, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#res.offset] {2621#(and (or (< 0 ~counter~0) (= ~counter~0 0)) (or (not (< 0 ~counter~0)) (= (+ ~counter~0 (- 1)) 0)))} is VALID [2022-02-20 20:56:18,140 INFO L290 TraceCheckUtils]: 41: Hoare triple {2621#(and (or (< 0 ~counter~0) (= ~counter~0 0)) (or (not (< 0 ~counter~0)) (= (+ ~counter~0 (- 1)) 0)))} [212] L41-4-->L41-5: Formula: (not (< v_thread1Thread1of1ForFork0_~i~0_3 v_~M~0_1)) InVars {~M~0=v_~M~0_1, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_3} OutVars{~M~0=v_~M~0_1, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_3} AuxVars[] AssignedVars[] {2621#(and (or (< 0 ~counter~0) (= ~counter~0 0)) (or (not (< 0 ~counter~0)) (= (+ ~counter~0 (- 1)) 0)))} is VALID [2022-02-20 20:56:18,140 INFO L290 TraceCheckUtils]: 40: Hoare triple {2621#(and (or (< 0 ~counter~0) (= ~counter~0 0)) (or (not (< 0 ~counter~0)) (= (+ ~counter~0 (- 1)) 0)))} [219] L41-3-->L41-4: Formula: true InVars {} OutVars{thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_5|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1] {2621#(and (or (< 0 ~counter~0) (= ~counter~0 0)) (or (not (< 0 ~counter~0)) (= (+ ~counter~0 (- 1)) 0)))} is VALID [2022-02-20 20:56:18,140 INFO L290 TraceCheckUtils]: 39: Hoare triple {2621#(and (or (< 0 ~counter~0) (= ~counter~0 0)) (or (not (< 0 ~counter~0)) (= (+ ~counter~0 (- 1)) 0)))} [218] L41-2-->L41-3: Formula: (= v_thread1Thread1of1ForFork0_~i~0_9 (+ |v_thread1Thread1of1ForFork0_#t~post1_3| 1)) InVars {thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_3|} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_9, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_3|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_~i~0] {2621#(and (or (< 0 ~counter~0) (= ~counter~0 0)) (or (not (< 0 ~counter~0)) (= (+ ~counter~0 (- 1)) 0)))} is VALID [2022-02-20 20:56:18,141 INFO L290 TraceCheckUtils]: 38: Hoare triple {2621#(and (or (< 0 ~counter~0) (= ~counter~0 0)) (or (not (< 0 ~counter~0)) (= (+ ~counter~0 (- 1)) 0)))} [217] L44-->L41-2: Formula: (= v_thread1Thread1of1ForFork0_~i~0_7 |v_thread1Thread1of1ForFork0_#t~post1_1|) InVars {thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_7} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_7, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1] {2621#(and (or (< 0 ~counter~0) (= ~counter~0 0)) (or (not (< 0 ~counter~0)) (= (+ ~counter~0 (- 1)) 0)))} is VALID [2022-02-20 20:56:18,141 INFO L290 TraceCheckUtils]: 37: Hoare triple {2661#(and (or (< 0 (+ ~counter~0 1)) (= (+ ~counter~0 1) 0)) (or (= ~counter~0 0) (not (< 0 (+ ~counter~0 1)))))} [215] L42-->L44: Formula: (= (+ v_~counter~0_26 1) v_~counter~0_25) InVars {~counter~0=v_~counter~0_26} OutVars{~counter~0=v_~counter~0_25, thread1Thread1of1ForFork0_#t~post2=|v_thread1Thread1of1ForFork0_#t~post2_1|} AuxVars[] AssignedVars[~counter~0, thread1Thread1of1ForFork0_#t~post2] {2621#(and (or (< 0 ~counter~0) (= ~counter~0 0)) (or (not (< 0 ~counter~0)) (= (+ ~counter~0 (- 1)) 0)))} is VALID [2022-02-20 20:56:18,142 INFO L290 TraceCheckUtils]: 36: Hoare triple {2661#(and (or (< 0 (+ ~counter~0 1)) (= (+ ~counter~0 1) 0)) (or (= ~counter~0 0) (not (< 0 (+ ~counter~0 1)))))} [213] L41-4-->L42: Formula: (< v_thread1Thread1of1ForFork0_~i~0_5 v_~M~0_2) InVars {~M~0=v_~M~0_2, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_5} OutVars{~M~0=v_~M~0_2, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_5} AuxVars[] AssignedVars[] {2661#(and (or (< 0 (+ ~counter~0 1)) (= (+ ~counter~0 1) 0)) (or (= ~counter~0 0) (not (< 0 (+ ~counter~0 1)))))} is VALID [2022-02-20 20:56:18,142 INFO L290 TraceCheckUtils]: 35: Hoare triple {2661#(and (or (< 0 (+ ~counter~0 1)) (= (+ ~counter~0 1) 0)) (or (= ~counter~0 0) (not (< 0 (+ ~counter~0 1)))))} [230] L72-3-->thread2ENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre8#1_6| v_thread2Thread1of1ForFork1_thidvar0_2) (= 0 v_thread2Thread1of1ForFork1_thidvar1_2) (= 0 v_thread2Thread1of1ForFork1_thidvar2_2)) InVars {ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_6|} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_4|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_12, thread2Thread1of1ForFork1_#t~post4=|v_thread2Thread1of1ForFork1_#t~post4_6|, thread2Thread1of1ForFork1_#t~post3=|v_thread2Thread1of1ForFork1_#t~post3_6|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_4|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_6|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_2, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_2, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_2} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_~i~1, thread2Thread1of1ForFork1_#t~post4, thread2Thread1of1ForFork1_#t~post3, thread2Thread1of1ForFork1_#res.base, thread2Thread1of1ForFork1_thidvar2, thread2Thread1of1ForFork1_thidvar0, thread2Thread1of1ForFork1_thidvar1] {2661#(and (or (< 0 (+ ~counter~0 1)) (= (+ ~counter~0 1) 0)) (or (= ~counter~0 0) (not (< 0 (+ ~counter~0 1)))))} is VALID [2022-02-20 20:56:18,143 INFO L290 TraceCheckUtils]: 34: Hoare triple {2661#(and (or (< 0 (+ ~counter~0 1)) (= (+ ~counter~0 1) 0)) (or (= ~counter~0 0) (not (< 0 (+ ~counter~0 1)))))} [139] L72-2-->L72-3: Formula: (= (store |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3| (store (select |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3|) |v_ULTIMATE.start_main_~#t2~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre8#1_3|)) |v_#memory_int_5|) InVars {#memory_int=|v_#memory_int_6|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} OutVars{#memory_int=|v_#memory_int_5|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} AuxVars[] AssignedVars[#memory_int] {2661#(and (or (< 0 (+ ~counter~0 1)) (= (+ ~counter~0 1) 0)) (or (= ~counter~0 0) (not (< 0 (+ ~counter~0 1)))))} is VALID [2022-02-20 20:56:18,143 INFO L290 TraceCheckUtils]: 33: Hoare triple {2661#(and (or (< 0 (+ ~counter~0 1)) (= (+ ~counter~0 1) 0)) (or (= ~counter~0 0) (not (< 0 (+ ~counter~0 1)))))} [130] L72-1-->L72-2: Formula: (= (+ 1 |v_#pthreadsForks_6|) |v_#pthreadsForks_5|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_5|} AuxVars[] AssignedVars[#pthreadsForks] {2661#(and (or (< 0 (+ ~counter~0 1)) (= (+ ~counter~0 1) 0)) (or (= ~counter~0 0) (not (< 0 (+ ~counter~0 1)))))} is VALID [2022-02-20 20:56:18,144 INFO L290 TraceCheckUtils]: 32: Hoare triple {2661#(and (or (< 0 (+ ~counter~0 1)) (= (+ ~counter~0 1) 0)) (or (= ~counter~0 0) (not (< 0 (+ ~counter~0 1)))))} [206] L72-->L72-1: Formula: (= |v_ULTIMATE.start_main_#t~pre8#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre8#1] {2661#(and (or (< 0 (+ ~counter~0 1)) (= (+ ~counter~0 1) 0)) (or (= ~counter~0 0) (not (< 0 (+ ~counter~0 1)))))} is VALID [2022-02-20 20:56:18,144 INFO L290 TraceCheckUtils]: 31: Hoare triple {2661#(and (or (< 0 (+ ~counter~0 1)) (= (+ ~counter~0 1) 0)) (or (= ~counter~0 0) (not (< 0 (+ ~counter~0 1)))))} [177] L71-5-->L72: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet7#1=|v_ULTIMATE.start_main_#t~nondet7#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet7#1] {2661#(and (or (< 0 (+ ~counter~0 1)) (= (+ ~counter~0 1) 0)) (or (= ~counter~0 0) (not (< 0 (+ ~counter~0 1)))))} is VALID [2022-02-20 20:56:18,145 INFO L290 TraceCheckUtils]: 30: Hoare triple {2661#(and (or (< 0 (+ ~counter~0 1)) (= (+ ~counter~0 1) 0)) (or (= ~counter~0 0) (not (< 0 (+ ~counter~0 1)))))} [150] L71-4-->L71-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1] {2661#(and (or (< 0 (+ ~counter~0 1)) (= (+ ~counter~0 1) 0)) (or (= ~counter~0 0) (not (< 0 (+ ~counter~0 1)))))} is VALID [2022-02-20 20:56:18,145 INFO L290 TraceCheckUtils]: 29: Hoare triple {2661#(and (or (< 0 (+ ~counter~0 1)) (= (+ ~counter~0 1) 0)) (or (= ~counter~0 0) (not (< 0 (+ ~counter~0 1)))))} [210] thread1ENTRY-->L41-4: Formula: (= v_thread1Thread1of1ForFork0_~i~0_1 0) InVars {} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_1} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_~i~0] {2661#(and (or (< 0 (+ ~counter~0 1)) (= (+ ~counter~0 1) 0)) (or (= ~counter~0 0) (not (< 0 (+ ~counter~0 1)))))} is VALID [2022-02-20 20:56:18,146 INFO L290 TraceCheckUtils]: 28: Hoare triple {2661#(and (or (< 0 (+ ~counter~0 1)) (= (+ ~counter~0 1) 0)) (or (= ~counter~0 0) (not (< 0 (+ ~counter~0 1)))))} [228] L71-3-->thread1ENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre6#1_6| v_thread1Thread1of1ForFork0_thidvar0_2) (= v_thread1Thread1of1ForFork0_thidvar1_2 0)) InVars {ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_6|} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_6|, thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_4|, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_8|, thread1Thread1of1ForFork0_#t~post2=|v_thread1Thread1of1ForFork0_#t~post2_4|, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_12, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_2, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_4|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_2} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#t~post1, thread1Thread1of1ForFork0_#t~post2, thread1Thread1of1ForFork0_~i~0, thread1Thread1of1ForFork0_thidvar0, thread1Thread1of1ForFork0_#res.offset, thread1Thread1of1ForFork0_thidvar1] {2661#(and (or (< 0 (+ ~counter~0 1)) (= (+ ~counter~0 1) 0)) (or (= ~counter~0 0) (not (< 0 (+ ~counter~0 1)))))} is VALID [2022-02-20 20:56:18,146 INFO L290 TraceCheckUtils]: 27: Hoare triple {2661#(and (or (< 0 (+ ~counter~0 1)) (= (+ ~counter~0 1) 0)) (or (= ~counter~0 0) (not (< 0 (+ ~counter~0 1)))))} [198] L71-2-->L71-3: Formula: (= (store |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3| (store (select |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3|) |v_ULTIMATE.start_main_~#t1~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre6#1_3|)) |v_#memory_int_3|) InVars {#memory_int=|v_#memory_int_4|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} OutVars{#memory_int=|v_#memory_int_3|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} AuxVars[] AssignedVars[#memory_int] {2661#(and (or (< 0 (+ ~counter~0 1)) (= (+ ~counter~0 1) 0)) (or (= ~counter~0 0) (not (< 0 (+ ~counter~0 1)))))} is VALID [2022-02-20 20:56:18,147 INFO L290 TraceCheckUtils]: 26: Hoare triple {2661#(and (or (< 0 (+ ~counter~0 1)) (= (+ ~counter~0 1) 0)) (or (= ~counter~0 0) (not (< 0 (+ ~counter~0 1)))))} [159] L71-1-->L71-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {2661#(and (or (< 0 (+ ~counter~0 1)) (= (+ ~counter~0 1) 0)) (or (= ~counter~0 0) (not (< 0 (+ ~counter~0 1)))))} is VALID [2022-02-20 20:56:18,147 INFO L290 TraceCheckUtils]: 25: Hoare triple {2661#(and (or (< 0 (+ ~counter~0 1)) (= (+ ~counter~0 1) 0)) (or (= ~counter~0 0) (not (< 0 (+ ~counter~0 1)))))} [135] L71-->L71-1: Formula: (= |v_ULTIMATE.start_main_#t~pre6#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1] {2661#(and (or (< 0 (+ ~counter~0 1)) (= (+ ~counter~0 1) 0)) (or (= ~counter~0 0) (not (< 0 (+ ~counter~0 1)))))} is VALID [2022-02-20 20:56:18,147 INFO L290 TraceCheckUtils]: 24: Hoare triple {2661#(and (or (< 0 (+ ~counter~0 1)) (= (+ ~counter~0 1) 0)) (or (= ~counter~0 0) (not (< 0 (+ ~counter~0 1)))))} [182] L34-1-->L71: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2661#(and (or (< 0 (+ ~counter~0 1)) (= (+ ~counter~0 1) 0)) (or (= ~counter~0 0) (not (< 0 (+ ~counter~0 1)))))} is VALID [2022-02-20 20:56:18,148 INFO L290 TraceCheckUtils]: 23: Hoare triple {2661#(and (or (< 0 (+ ~counter~0 1)) (= (+ ~counter~0 1) 0)) (or (= ~counter~0 0) (not (< 0 (+ ~counter~0 1)))))} [189] L35-->L34-1: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_4| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_4|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_4|} AuxVars[] AssignedVars[] {2661#(and (or (< 0 (+ ~counter~0 1)) (= (+ ~counter~0 1) 0)) (or (= ~counter~0 0) (not (< 0 (+ ~counter~0 1)))))} is VALID [2022-02-20 20:56:18,149 INFO L290 TraceCheckUtils]: 22: Hoare triple {2661#(and (or (< 0 (+ ~counter~0 1)) (= (+ ~counter~0 1) 0)) (or (= ~counter~0 0) (not (< 0 (+ ~counter~0 1)))))} [164] L34-->L35: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_2|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_2|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {2661#(and (or (< 0 (+ ~counter~0 1)) (= (+ ~counter~0 1) 0)) (or (= ~counter~0 0) (not (< 0 (+ ~counter~0 1)))))} is VALID [2022-02-20 20:56:18,149 INFO L290 TraceCheckUtils]: 21: Hoare triple {2661#(and (or (< 0 (+ ~counter~0 1)) (= (+ ~counter~0 1) 0)) (or (= ~counter~0 0) (not (< 0 (+ ~counter~0 1)))))} [143] L68-2-->L34: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {2661#(and (or (< 0 (+ ~counter~0 1)) (= (+ ~counter~0 1) 0)) (or (= ~counter~0 0) (not (< 0 (+ ~counter~0 1)))))} is VALID [2022-02-20 20:56:18,150 INFO L290 TraceCheckUtils]: 20: Hoare triple {2661#(and (or (< 0 (+ ~counter~0 1)) (= (+ ~counter~0 1) 0)) (or (= ~counter~0 0) (not (< 0 (+ ~counter~0 1)))))} [160] L68-1-->L68-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1| (ite (< 0 v_~M~0_7) 1 0)) InVars {~M~0=v_~M~0_7} OutVars{~M~0=v_~M~0_7, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] {2661#(and (or (< 0 (+ ~counter~0 1)) (= (+ ~counter~0 1) 0)) (or (= ~counter~0 0) (not (< 0 (+ ~counter~0 1)))))} is VALID [2022-02-20 20:56:18,150 INFO L290 TraceCheckUtils]: 19: Hoare triple {2661#(and (or (< 0 (+ ~counter~0 1)) (= (+ ~counter~0 1) 0)) (or (= ~counter~0 0) (not (< 0 (+ ~counter~0 1)))))} [196] L68-->L68-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2661#(and (or (< 0 (+ ~counter~0 1)) (= (+ ~counter~0 1) 0)) (or (= ~counter~0 0) (not (< 0 (+ ~counter~0 1)))))} is VALID [2022-02-20 20:56:18,150 INFO L290 TraceCheckUtils]: 18: Hoare triple {2661#(and (or (< 0 (+ ~counter~0 1)) (= (+ ~counter~0 1) 0)) (or (= ~counter~0 0) (not (< 0 (+ ~counter~0 1)))))} [162] L67-1-->L68: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet5#1] {2661#(and (or (< 0 (+ ~counter~0 1)) (= (+ ~counter~0 1) 0)) (or (= ~counter~0 0) (not (< 0 (+ ~counter~0 1)))))} is VALID [2022-02-20 20:56:18,151 INFO L290 TraceCheckUtils]: 17: Hoare triple {2661#(and (or (< 0 (+ ~counter~0 1)) (= (+ ~counter~0 1) 0)) (or (= ~counter~0 0) (not (< 0 (+ ~counter~0 1)))))} [190] L67-->L67-1: Formula: (= |v_ULTIMATE.start_main_#t~nondet5#1_3| v_~M~0_6) InVars {ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_3|} OutVars{~M~0=v_~M~0_6, ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_3|} AuxVars[] AssignedVars[~M~0] {2661#(and (or (< 0 (+ ~counter~0 1)) (= (+ ~counter~0 1) 0)) (or (= ~counter~0 0) (not (< 0 (+ ~counter~0 1)))))} is VALID [2022-02-20 20:56:18,151 INFO L290 TraceCheckUtils]: 16: Hoare triple {2661#(and (or (< 0 (+ ~counter~0 1)) (= (+ ~counter~0 1) 0)) (or (= ~counter~0 0) (not (< 0 (+ ~counter~0 1)))))} [171] L65-2-->L67: Formula: (and (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet5#1_2| 2147483648)) (<= |v_ULTIMATE.start_main_#t~nondet5#1_2| 2147483647)) InVars {ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_2|} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_2|} AuxVars[] AssignedVars[] {2661#(and (or (< 0 (+ ~counter~0 1)) (= (+ ~counter~0 1) 0)) (or (= ~counter~0 0) (not (< 0 (+ ~counter~0 1)))))} is VALID [2022-02-20 20:56:18,152 INFO L290 TraceCheckUtils]: 15: Hoare triple {2661#(and (or (< 0 (+ ~counter~0 1)) (= (+ ~counter~0 1) 0)) (or (= ~counter~0 0) (not (< 0 (+ ~counter~0 1)))))} [194] L65-1-->L65-2: Formula: (and (= |v_#length_5| (store |v_#length_6| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 4)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2|) 0) (= (store |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 1) |v_#valid_6|) (not (= |v_ULTIMATE.start_main_~#t2~0#1.base_2| 0)) (= 0 |v_ULTIMATE.start_main_~#t2~0#1.offset_2|) (< |v_#StackHeapBarrier_3| |v_ULTIMATE.start_main_~#t2~0#1.base_2|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_7|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_5|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_2|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t2~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t2~0#1.base] {2661#(and (or (< 0 (+ ~counter~0 1)) (= (+ ~counter~0 1) 0)) (or (= ~counter~0 0) (not (< 0 (+ ~counter~0 1)))))} is VALID [2022-02-20 20:56:18,153 INFO L290 TraceCheckUtils]: 14: Hoare triple {2661#(and (or (< 0 (+ ~counter~0 1)) (= (+ ~counter~0 1) 0)) (or (= ~counter~0 0) (not (< 0 (+ ~counter~0 1)))))} [208] L65-->L65-1: Formula: (and (= |v_ULTIMATE.start_main_~#t1~0#1.offset_2| 0) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) 0) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 4)) (not (= |v_ULTIMATE.start_main_~#t1~0#1.base_2| 0)) (= (store |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 1) |v_#valid_4|)) 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_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_2|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[#valid, #length, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset] {2661#(and (or (< 0 (+ ~counter~0 1)) (= (+ ~counter~0 1) 0)) (or (= ~counter~0 0) (not (< 0 (+ ~counter~0 1)))))} is VALID [2022-02-20 20:56:18,153 INFO L290 TraceCheckUtils]: 13: Hoare triple {2661#(and (or (< 0 (+ ~counter~0 1)) (= (+ ~counter~0 1) 0)) (or (= ~counter~0 0) (not (< 0 (+ ~counter~0 1)))))} [178] L-1-6-->L65: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_1|, ULTIMATE.start_main_#t~nondet9#1=|v_ULTIMATE.start_main_#t~nondet9#1_1|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_1|, ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_1|, ULTIMATE.start_main_#t~nondet7#1=|v_ULTIMATE.start_main_#t~nondet7#1_1|, ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_1|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_1|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_1|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_1|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_1|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1, ULTIMATE.start_main_#t~nondet9#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_#t~nondet5#1, ULTIMATE.start_main_#t~nondet7#1, ULTIMATE.start_main_#t~mem11#1, ULTIMATE.start_main_#t~pre8#1, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset, ULTIMATE.start_main_#t~mem10#1, ULTIMATE.start_main_~#t2~0#1.base] {2661#(and (or (< 0 (+ ~counter~0 1)) (= (+ ~counter~0 1) 0)) (or (= ~counter~0 0) (not (< 0 (+ ~counter~0 1)))))} is VALID [2022-02-20 20:56:18,153 INFO L290 TraceCheckUtils]: 12: Hoare triple {2661#(and (or (< 0 (+ ~counter~0 1)) (= (+ ~counter~0 1) 0)) (or (= ~counter~0 0) (not (< 0 (+ ~counter~0 1)))))} [151] L-1-5-->L-1-6: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {2661#(and (or (< 0 (+ ~counter~0 1)) (= (+ ~counter~0 1) 0)) (or (= ~counter~0 0) (not (< 0 (+ ~counter~0 1)))))} is VALID [2022-02-20 20:56:18,154 INFO L290 TraceCheckUtils]: 11: Hoare triple {2661#(and (or (< 0 (+ ~counter~0 1)) (= (+ ~counter~0 1) 0)) (or (= ~counter~0 0) (not (< 0 (+ ~counter~0 1)))))} [181] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2661#(and (or (< 0 (+ ~counter~0 1)) (= (+ ~counter~0 1) 0)) (or (= ~counter~0 0) (not (< 0 (+ ~counter~0 1)))))} is VALID [2022-02-20 20:56:18,154 INFO L290 TraceCheckUtils]: 10: Hoare triple {2661#(and (or (< 0 (+ ~counter~0 1)) (= (+ ~counter~0 1) 0)) (or (= ~counter~0 0) (not (< 0 (+ ~counter~0 1)))))} [201] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2661#(and (or (< 0 (+ ~counter~0 1)) (= (+ ~counter~0 1) 0)) (or (= ~counter~0 0) (not (< 0 (+ ~counter~0 1)))))} is VALID [2022-02-20 20:56:18,155 INFO L290 TraceCheckUtils]: 9: Hoare triple {2378#true} [205] L38-->L-1-3: Formula: (= v_~counter~0_7 0) InVars {} OutVars{~counter~0=v_~counter~0_7} AuxVars[] AssignedVars[~counter~0] {2661#(and (or (< 0 (+ ~counter~0 1)) (= (+ ~counter~0 1) 0)) (or (= ~counter~0 0) (not (< 0 (+ ~counter~0 1)))))} is VALID [2022-02-20 20:56:18,155 INFO L290 TraceCheckUtils]: 8: Hoare triple {2378#true} [204] L21-4-->L38: Formula: (= v_~M~0_5 0) InVars {} OutVars{~M~0=v_~M~0_5} AuxVars[] AssignedVars[~M~0] {2378#true} is VALID [2022-02-20 20:56:18,155 INFO L290 TraceCheckUtils]: 7: Hoare triple {2378#true} [156] L21-3-->L21-4: Formula: (and (= 30 (select |v_#length_2| 2)) (= (select |v_#valid_3| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {2378#true} is VALID [2022-02-20 20:56:18,155 INFO L290 TraceCheckUtils]: 6: Hoare triple {2378#true} [184] L21-2-->L21-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[] {2378#true} is VALID [2022-02-20 20:56:18,155 INFO L290 TraceCheckUtils]: 5: Hoare triple {2378#true} [187] L21-1-->L21-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[] {2378#true} is VALID [2022-02-20 20:56:18,155 INFO L290 TraceCheckUtils]: 4: Hoare triple {2378#true} [165] L21-->L21-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[] {2378#true} is VALID [2022-02-20 20:56:18,156 INFO L290 TraceCheckUtils]: 3: Hoare triple {2378#true} [199] L-1-2-->L21: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {2378#true} is VALID [2022-02-20 20:56:18,156 INFO L290 TraceCheckUtils]: 2: Hoare triple {2378#true} [197] L-1-1-->L-1-2: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] {2378#true} is VALID [2022-02-20 20:56:18,156 INFO L290 TraceCheckUtils]: 1: Hoare triple {2378#true} [172] 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] {2378#true} is VALID [2022-02-20 20:56:18,156 INFO L290 TraceCheckUtils]: 0: Hoare triple {2378#true} [191] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2378#true} is VALID [2022-02-20 20:56:18,156 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 20:56:18,157 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1064518724] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 20:56:18,157 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 20:56:18,157 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6, 7] total 8 [2022-02-20 20:56:18,157 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1572056258] [2022-02-20 20:56:18,157 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 20:56:18,158 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 13.375) internal successors, (107), 8 states have internal predecessors, (107), 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 65 [2022-02-20 20:56:18,158 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 20:56:18,158 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 13.375) internal successors, (107), 8 states have internal predecessors, (107), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:18,231 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 107 edges. 107 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 20:56:18,232 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-02-20 20:56:18,232 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 20:56:18,232 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-02-20 20:56:18,232 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-02-20 20:56:18,233 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 60 out of 82 [2022-02-20 20:56:18,234 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 78 places, 67 transitions, 168 flow. Second operand has 8 states, 8 states have (on average 63.125) internal successors, (505), 8 states have internal predecessors, (505), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:18,234 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 20:56:18,234 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 60 of 82 [2022-02-20 20:56:18,234 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 20:56:18,375 INFO L129 PetriNetUnfolder]: 17/162 cut-off events. [2022-02-20 20:56:18,375 INFO L130 PetriNetUnfolder]: For 38/44 co-relation queries the response was YES. [2022-02-20 20:56:18,376 INFO L84 FinitePrefix]: Finished finitePrefix Result has 272 conditions, 162 events. 17/162 cut-off events. For 38/44 co-relation queries the response was YES. Maximal size of possible extension queue 10. Compared 428 event pairs, 1 based on Foata normal form. 4/164 useless extension candidates. Maximal degree in co-relation 266. Up to 21 conditions per place. [2022-02-20 20:56:18,376 INFO L132 encePairwiseOnDemand]: 76/82 looper letters, 25 selfloop transitions, 5 changer transitions 5/86 dead transitions. [2022-02-20 20:56:18,376 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 83 places, 86 transitions, 302 flow [2022-02-20 20:56:18,376 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 20:56:18,376 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2022-02-20 20:56:18,380 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 393 transitions. [2022-02-20 20:56:18,380 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.7987804878048781 [2022-02-20 20:56:18,380 INFO L72 ComplementDD]: Start complementDD. Operand 6 states and 393 transitions. [2022-02-20 20:56:18,380 INFO L73 IsDeterministic]: Start isDeterministic. Operand 6 states and 393 transitions. [2022-02-20 20:56:18,380 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 20:56:18,380 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 6 states and 393 transitions. [2022-02-20 20:56:18,381 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 7 states, 6 states have (on average 65.5) internal successors, (393), 6 states have internal predecessors, (393), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:18,382 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 7 states, 7 states have (on average 82.0) internal successors, (574), 7 states have internal predecessors, (574), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:18,382 INFO L81 ComplementDD]: Finished complementDD. Result has 7 states, 7 states have (on average 82.0) internal successors, (574), 7 states have internal predecessors, (574), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:18,382 INFO L186 Difference]: Start difference. First operand has 78 places, 67 transitions, 168 flow. Second operand 6 states and 393 transitions. [2022-02-20 20:56:18,383 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 83 places, 86 transitions, 302 flow [2022-02-20 20:56:18,385 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 77 places, 86 transitions, 279 flow, removed 0 selfloop flow, removed 6 redundant places. [2022-02-20 20:56:18,386 INFO L242 Difference]: Finished difference. Result has 81 places, 71 transitions, 197 flow [2022-02-20 20:56:18,386 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=82, PETRI_DIFFERENCE_MINUEND_FLOW=155, PETRI_DIFFERENCE_MINUEND_PLACES=72, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=67, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=2, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=63, PETRI_DIFFERENCE_SUBTRAHEND_STATES=6, PETRI_FLOW=197, PETRI_PLACES=81, PETRI_TRANSITIONS=71} [2022-02-20 20:56:18,387 INFO L334 CegarLoopForPetriNet]: 72 programPoint places, 9 predicate places. [2022-02-20 20:56:18,387 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 81 places, 71 transitions, 197 flow [2022-02-20 20:56:18,408 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 1075 states, 1072 states have (on average 2.5522388059701493) internal successors, (2736), 1074 states have internal predecessors, (2736), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:18,410 INFO L78 Accepts]: Start accepts. Automaton has has 1075 states, 1072 states have (on average 2.5522388059701493) internal successors, (2736), 1074 states have internal predecessors, (2736), 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 65 [2022-02-20 20:56:18,410 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 20:56:18,410 INFO L470 AbstractCegarLoop]: Abstraction has has 81 places, 71 transitions, 197 flow [2022-02-20 20:56:18,411 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 63.125) internal successors, (505), 8 states have internal predecessors, (505), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:18,411 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:56:18,411 INFO L254 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 20:56:18,428 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-02-20 20:56:18,626 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 20:56:18,627 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION] === [2022-02-20 20:56:18,627 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:56:18,627 INFO L85 PathProgramCache]: Analyzing trace with hash -652714467, now seen corresponding path program 2 times [2022-02-20 20:56:18,628 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:56:18,628 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2118777659] [2022-02-20 20:56:18,628 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:56:18,628 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:56:18,645 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:56:18,676 INFO L290 TraceCheckUtils]: 0: Hoare triple {3855#true} [191] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3855#true} is VALID [2022-02-20 20:56:18,676 INFO L290 TraceCheckUtils]: 1: Hoare triple {3855#true} [172] 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] {3855#true} is VALID [2022-02-20 20:56:18,676 INFO L290 TraceCheckUtils]: 2: Hoare triple {3855#true} [197] L-1-1-->L-1-2: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] {3855#true} is VALID [2022-02-20 20:56:18,676 INFO L290 TraceCheckUtils]: 3: Hoare triple {3855#true} [199] L-1-2-->L21: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {3855#true} is VALID [2022-02-20 20:56:18,677 INFO L290 TraceCheckUtils]: 4: Hoare triple {3855#true} [165] L21-->L21-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[] {3855#true} is VALID [2022-02-20 20:56:18,677 INFO L290 TraceCheckUtils]: 5: Hoare triple {3855#true} [187] L21-1-->L21-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[] {3855#true} is VALID [2022-02-20 20:56:18,677 INFO L290 TraceCheckUtils]: 6: Hoare triple {3855#true} [184] L21-2-->L21-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[] {3855#true} is VALID [2022-02-20 20:56:18,677 INFO L290 TraceCheckUtils]: 7: Hoare triple {3855#true} [156] L21-3-->L21-4: Formula: (and (= 30 (select |v_#length_2| 2)) (= (select |v_#valid_3| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {3855#true} is VALID [2022-02-20 20:56:18,677 INFO L290 TraceCheckUtils]: 8: Hoare triple {3855#true} [204] L21-4-->L38: Formula: (= v_~M~0_5 0) InVars {} OutVars{~M~0=v_~M~0_5} AuxVars[] AssignedVars[~M~0] {3855#true} is VALID [2022-02-20 20:56:18,677 INFO L290 TraceCheckUtils]: 9: Hoare triple {3855#true} [205] L38-->L-1-3: Formula: (= v_~counter~0_7 0) InVars {} OutVars{~counter~0=v_~counter~0_7} AuxVars[] AssignedVars[~counter~0] {3857#(= ~counter~0 0)} is VALID [2022-02-20 20:56:18,678 INFO L290 TraceCheckUtils]: 10: Hoare triple {3857#(= ~counter~0 0)} [201] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3857#(= ~counter~0 0)} is VALID [2022-02-20 20:56:18,678 INFO L290 TraceCheckUtils]: 11: Hoare triple {3857#(= ~counter~0 0)} [181] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3857#(= ~counter~0 0)} is VALID [2022-02-20 20:56:18,678 INFO L290 TraceCheckUtils]: 12: Hoare triple {3857#(= ~counter~0 0)} [151] L-1-5-->L-1-6: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {3857#(= ~counter~0 0)} is VALID [2022-02-20 20:56:18,679 INFO L290 TraceCheckUtils]: 13: Hoare triple {3857#(= ~counter~0 0)} [178] L-1-6-->L65: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_1|, ULTIMATE.start_main_#t~nondet9#1=|v_ULTIMATE.start_main_#t~nondet9#1_1|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_1|, ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_1|, ULTIMATE.start_main_#t~nondet7#1=|v_ULTIMATE.start_main_#t~nondet7#1_1|, ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_1|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_1|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_1|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_1|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_1|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1, ULTIMATE.start_main_#t~nondet9#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_#t~nondet5#1, ULTIMATE.start_main_#t~nondet7#1, ULTIMATE.start_main_#t~mem11#1, ULTIMATE.start_main_#t~pre8#1, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset, ULTIMATE.start_main_#t~mem10#1, ULTIMATE.start_main_~#t2~0#1.base] {3857#(= ~counter~0 0)} is VALID [2022-02-20 20:56:18,679 INFO L290 TraceCheckUtils]: 14: Hoare triple {3857#(= ~counter~0 0)} [208] L65-->L65-1: Formula: (and (= |v_ULTIMATE.start_main_~#t1~0#1.offset_2| 0) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) 0) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 4)) (not (= |v_ULTIMATE.start_main_~#t1~0#1.base_2| 0)) (= (store |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 1) |v_#valid_4|)) 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_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_2|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[#valid, #length, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset] {3857#(= ~counter~0 0)} is VALID [2022-02-20 20:56:18,679 INFO L290 TraceCheckUtils]: 15: Hoare triple {3857#(= ~counter~0 0)} [194] L65-1-->L65-2: Formula: (and (= |v_#length_5| (store |v_#length_6| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 4)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2|) 0) (= (store |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 1) |v_#valid_6|) (not (= |v_ULTIMATE.start_main_~#t2~0#1.base_2| 0)) (= 0 |v_ULTIMATE.start_main_~#t2~0#1.offset_2|) (< |v_#StackHeapBarrier_3| |v_ULTIMATE.start_main_~#t2~0#1.base_2|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_7|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_5|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_2|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t2~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t2~0#1.base] {3857#(= ~counter~0 0)} is VALID [2022-02-20 20:56:18,680 INFO L290 TraceCheckUtils]: 16: Hoare triple {3857#(= ~counter~0 0)} [171] L65-2-->L67: Formula: (and (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet5#1_2| 2147483648)) (<= |v_ULTIMATE.start_main_#t~nondet5#1_2| 2147483647)) InVars {ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_2|} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_2|} AuxVars[] AssignedVars[] {3857#(= ~counter~0 0)} is VALID [2022-02-20 20:56:18,680 INFO L290 TraceCheckUtils]: 17: Hoare triple {3857#(= ~counter~0 0)} [190] L67-->L67-1: Formula: (= |v_ULTIMATE.start_main_#t~nondet5#1_3| v_~M~0_6) InVars {ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_3|} OutVars{~M~0=v_~M~0_6, ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_3|} AuxVars[] AssignedVars[~M~0] {3857#(= ~counter~0 0)} is VALID [2022-02-20 20:56:18,680 INFO L290 TraceCheckUtils]: 18: Hoare triple {3857#(= ~counter~0 0)} [162] L67-1-->L68: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet5#1] {3857#(= ~counter~0 0)} is VALID [2022-02-20 20:56:18,680 INFO L290 TraceCheckUtils]: 19: Hoare triple {3857#(= ~counter~0 0)} [196] L68-->L68-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3857#(= ~counter~0 0)} is VALID [2022-02-20 20:56:18,681 INFO L290 TraceCheckUtils]: 20: Hoare triple {3857#(= ~counter~0 0)} [160] L68-1-->L68-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1| (ite (< 0 v_~M~0_7) 1 0)) InVars {~M~0=v_~M~0_7} OutVars{~M~0=v_~M~0_7, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] {3857#(= ~counter~0 0)} is VALID [2022-02-20 20:56:18,681 INFO L290 TraceCheckUtils]: 21: Hoare triple {3857#(= ~counter~0 0)} [143] L68-2-->L34: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {3857#(= ~counter~0 0)} is VALID [2022-02-20 20:56:18,681 INFO L290 TraceCheckUtils]: 22: Hoare triple {3857#(= ~counter~0 0)} [164] L34-->L35: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_2|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_2|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {3857#(= ~counter~0 0)} is VALID [2022-02-20 20:56:18,682 INFO L290 TraceCheckUtils]: 23: Hoare triple {3857#(= ~counter~0 0)} [189] L35-->L34-1: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_4| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_4|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_4|} AuxVars[] AssignedVars[] {3857#(= ~counter~0 0)} is VALID [2022-02-20 20:56:18,682 INFO L290 TraceCheckUtils]: 24: Hoare triple {3857#(= ~counter~0 0)} [182] L34-1-->L71: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3857#(= ~counter~0 0)} is VALID [2022-02-20 20:56:18,682 INFO L290 TraceCheckUtils]: 25: Hoare triple {3857#(= ~counter~0 0)} [135] L71-->L71-1: Formula: (= |v_ULTIMATE.start_main_#t~pre6#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1] {3857#(= ~counter~0 0)} is VALID [2022-02-20 20:56:18,682 INFO L290 TraceCheckUtils]: 26: Hoare triple {3857#(= ~counter~0 0)} [159] L71-1-->L71-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {3857#(= ~counter~0 0)} is VALID [2022-02-20 20:56:18,683 INFO L290 TraceCheckUtils]: 27: Hoare triple {3857#(= ~counter~0 0)} [198] L71-2-->L71-3: Formula: (= (store |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3| (store (select |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3|) |v_ULTIMATE.start_main_~#t1~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre6#1_3|)) |v_#memory_int_3|) InVars {#memory_int=|v_#memory_int_4|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} OutVars{#memory_int=|v_#memory_int_3|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} AuxVars[] AssignedVars[#memory_int] {3857#(= ~counter~0 0)} is VALID [2022-02-20 20:56:18,683 INFO L290 TraceCheckUtils]: 28: Hoare triple {3857#(= ~counter~0 0)} [228] L71-3-->thread1ENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre6#1_6| v_thread1Thread1of1ForFork0_thidvar0_2) (= v_thread1Thread1of1ForFork0_thidvar1_2 0)) InVars {ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_6|} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_6|, thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_4|, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_8|, thread1Thread1of1ForFork0_#t~post2=|v_thread1Thread1of1ForFork0_#t~post2_4|, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_12, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_2, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_4|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_2} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#t~post1, thread1Thread1of1ForFork0_#t~post2, thread1Thread1of1ForFork0_~i~0, thread1Thread1of1ForFork0_thidvar0, thread1Thread1of1ForFork0_#res.offset, thread1Thread1of1ForFork0_thidvar1] {3857#(= ~counter~0 0)} is VALID [2022-02-20 20:56:18,683 INFO L290 TraceCheckUtils]: 29: Hoare triple {3857#(= ~counter~0 0)} [150] L71-4-->L71-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1] {3857#(= ~counter~0 0)} is VALID [2022-02-20 20:56:18,684 INFO L290 TraceCheckUtils]: 30: Hoare triple {3857#(= ~counter~0 0)} [177] L71-5-->L72: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet7#1=|v_ULTIMATE.start_main_#t~nondet7#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet7#1] {3857#(= ~counter~0 0)} is VALID [2022-02-20 20:56:18,684 INFO L290 TraceCheckUtils]: 31: Hoare triple {3857#(= ~counter~0 0)} [206] L72-->L72-1: Formula: (= |v_ULTIMATE.start_main_#t~pre8#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre8#1] {3857#(= ~counter~0 0)} is VALID [2022-02-20 20:56:18,684 INFO L290 TraceCheckUtils]: 32: Hoare triple {3857#(= ~counter~0 0)} [130] L72-1-->L72-2: Formula: (= (+ 1 |v_#pthreadsForks_6|) |v_#pthreadsForks_5|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_5|} AuxVars[] AssignedVars[#pthreadsForks] {3857#(= ~counter~0 0)} is VALID [2022-02-20 20:56:18,685 INFO L290 TraceCheckUtils]: 33: Hoare triple {3857#(= ~counter~0 0)} [139] L72-2-->L72-3: Formula: (= (store |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3| (store (select |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3|) |v_ULTIMATE.start_main_~#t2~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre8#1_3|)) |v_#memory_int_5|) InVars {#memory_int=|v_#memory_int_6|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} OutVars{#memory_int=|v_#memory_int_5|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} AuxVars[] AssignedVars[#memory_int] {3857#(= ~counter~0 0)} is VALID [2022-02-20 20:56:18,685 INFO L290 TraceCheckUtils]: 34: Hoare triple {3857#(= ~counter~0 0)} [230] L72-3-->thread2ENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre8#1_6| v_thread2Thread1of1ForFork1_thidvar0_2) (= 0 v_thread2Thread1of1ForFork1_thidvar1_2) (= 0 v_thread2Thread1of1ForFork1_thidvar2_2)) InVars {ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_6|} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_4|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_12, thread2Thread1of1ForFork1_#t~post4=|v_thread2Thread1of1ForFork1_#t~post4_6|, thread2Thread1of1ForFork1_#t~post3=|v_thread2Thread1of1ForFork1_#t~post3_6|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_4|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_6|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_2, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_2, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_2} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_~i~1, thread2Thread1of1ForFork1_#t~post4, thread2Thread1of1ForFork1_#t~post3, thread2Thread1of1ForFork1_#res.base, thread2Thread1of1ForFork1_thidvar2, thread2Thread1of1ForFork1_thidvar0, thread2Thread1of1ForFork1_thidvar1] {3857#(= ~counter~0 0)} is VALID [2022-02-20 20:56:18,685 INFO L290 TraceCheckUtils]: 35: Hoare triple {3857#(= ~counter~0 0)} [220] thread2ENTRY-->L54-1: Formula: (= v_thread2Thread1of1ForFork1_~i~1_1 0) InVars {} OutVars{thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_~i~1] {3857#(= ~counter~0 0)} is VALID [2022-02-20 20:56:18,686 INFO L290 TraceCheckUtils]: 36: Hoare triple {3857#(= ~counter~0 0)} [223] L54-1-->L53: Formula: (< v_thread2Thread1of1ForFork1_~i~1_5 v_~M~0_4) InVars {~M~0=v_~M~0_4, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_5} OutVars{~M~0=v_~M~0_4, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_5} AuxVars[] AssignedVars[] {3858#(and (<= (+ thread2Thread1of1ForFork1_~i~1 1) ~M~0) (= ~counter~0 0))} is VALID [2022-02-20 20:56:18,686 INFO L290 TraceCheckUtils]: 37: Hoare triple {3858#(and (<= (+ thread2Thread1of1ForFork1_~i~1 1) ~M~0) (= ~counter~0 0))} [225] L53-->L54-1: Formula: (let ((.cse0 (< 0 v_~counter~0_In_1))) (or (and .cse0 (= v_~counter~0_In_1 (+ v_~counter~0_Out_2 1)) (= (+ v_thread2Thread1of1ForFork1_~i~1_7 1) v_thread2Thread1of1ForFork1_~i~1_8)) (and (= v_~counter~0_Out_2 v_~counter~0_In_1) (= v_thread2Thread1of1ForFork1_~i~1_8 v_thread2Thread1of1ForFork1_~i~1_7) (not .cse0) (= |v_thread2Thread1of1ForFork1_#t~post3_1| |v_thread2Thread1of1ForFork1_#t~post3_2|) (= |v_thread2Thread1of1ForFork1_#t~post4_2| |v_thread2Thread1of1ForFork1_#t~post4_1|)))) InVars {~counter~0=v_~counter~0_In_1, thread2Thread1of1ForFork1_#t~post4=|v_thread2Thread1of1ForFork1_#t~post4_1|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_7, thread2Thread1of1ForFork1_#t~post3=|v_thread2Thread1of1ForFork1_#t~post3_1|} OutVars{~counter~0=v_~counter~0_Out_2, thread2Thread1of1ForFork1_#t~post4=|v_thread2Thread1of1ForFork1_#t~post4_2|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_8, thread2Thread1of1ForFork1_#t~post3=|v_thread2Thread1of1ForFork1_#t~post3_2|} AuxVars[] AssignedVars[~counter~0, thread2Thread1of1ForFork1_#t~post4, thread2Thread1of1ForFork1_~i~1, thread2Thread1of1ForFork1_#t~post3] {3859#(<= (+ thread2Thread1of1ForFork1_~i~1 1) ~M~0)} is VALID [2022-02-20 20:56:18,687 INFO L290 TraceCheckUtils]: 38: Hoare triple {3859#(<= (+ thread2Thread1of1ForFork1_~i~1 1) ~M~0)} [222] L54-1-->L52-2: Formula: (not (< v_thread2Thread1of1ForFork1_~i~1_3 v_~M~0_3)) InVars {~M~0=v_~M~0_3, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_3} OutVars{~M~0=v_~M~0_3, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_3} AuxVars[] AssignedVars[] {3856#false} is VALID [2022-02-20 20:56:18,687 INFO L290 TraceCheckUtils]: 39: Hoare triple {3856#false} [224] L52-2-->thread2FINAL: Formula: (and (= |v_thread2Thread1of1ForFork1_#res.base_1| 0) (= |v_thread2Thread1of1ForFork1_#res.offset_1| 0)) InVars {} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_1|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_1|} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_#res.base] {3856#false} is VALID [2022-02-20 20:56:18,687 INFO L290 TraceCheckUtils]: 40: Hoare triple {3856#false} [226] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3856#false} is VALID [2022-02-20 20:56:18,687 INFO L290 TraceCheckUtils]: 41: Hoare triple {3856#false} [210] thread1ENTRY-->L41-4: Formula: (= v_thread1Thread1of1ForFork0_~i~0_1 0) InVars {} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_1} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_~i~0] {3856#false} is VALID [2022-02-20 20:56:18,687 INFO L290 TraceCheckUtils]: 42: Hoare triple {3856#false} [213] L41-4-->L42: Formula: (< v_thread1Thread1of1ForFork0_~i~0_5 v_~M~0_2) InVars {~M~0=v_~M~0_2, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_5} OutVars{~M~0=v_~M~0_2, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_5} AuxVars[] AssignedVars[] {3856#false} is VALID [2022-02-20 20:56:18,687 INFO L290 TraceCheckUtils]: 43: Hoare triple {3856#false} [215] L42-->L44: Formula: (= (+ v_~counter~0_26 1) v_~counter~0_25) InVars {~counter~0=v_~counter~0_26} OutVars{~counter~0=v_~counter~0_25, thread1Thread1of1ForFork0_#t~post2=|v_thread1Thread1of1ForFork0_#t~post2_1|} AuxVars[] AssignedVars[~counter~0, thread1Thread1of1ForFork0_#t~post2] {3856#false} is VALID [2022-02-20 20:56:18,687 INFO L290 TraceCheckUtils]: 44: Hoare triple {3856#false} [217] L44-->L41-2: Formula: (= v_thread1Thread1of1ForFork0_~i~0_7 |v_thread1Thread1of1ForFork0_#t~post1_1|) InVars {thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_7} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_7, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1] {3856#false} is VALID [2022-02-20 20:56:18,688 INFO L290 TraceCheckUtils]: 45: Hoare triple {3856#false} [218] L41-2-->L41-3: Formula: (= v_thread1Thread1of1ForFork0_~i~0_9 (+ |v_thread1Thread1of1ForFork0_#t~post1_3| 1)) InVars {thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_3|} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_9, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_3|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_~i~0] {3856#false} is VALID [2022-02-20 20:56:18,688 INFO L290 TraceCheckUtils]: 46: Hoare triple {3856#false} [219] L41-3-->L41-4: Formula: true InVars {} OutVars{thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_5|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1] {3856#false} is VALID [2022-02-20 20:56:18,688 INFO L290 TraceCheckUtils]: 47: Hoare triple {3856#false} [212] L41-4-->L41-5: Formula: (not (< v_thread1Thread1of1ForFork0_~i~0_3 v_~M~0_1)) InVars {~M~0=v_~M~0_1, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_3} OutVars{~M~0=v_~M~0_1, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_3} AuxVars[] AssignedVars[] {3856#false} is VALID [2022-02-20 20:56:18,688 INFO L290 TraceCheckUtils]: 48: Hoare triple {3856#false} [214] L41-5-->thread1FINAL: Formula: (and (= |v_thread1Thread1of1ForFork0_#res.base_1| 0) (= |v_thread1Thread1of1ForFork0_#res.offset_1| 0)) InVars {} OutVars{thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_1|, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#res.offset] {3856#false} is VALID [2022-02-20 20:56:18,688 INFO L290 TraceCheckUtils]: 49: Hoare triple {3856#false} [216] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3856#false} is VALID [2022-02-20 20:56:18,688 INFO L290 TraceCheckUtils]: 50: Hoare triple {3856#false} [200] L72-4-->L72-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre8#1] {3856#false} is VALID [2022-02-20 20:56:18,688 INFO L290 TraceCheckUtils]: 51: Hoare triple {3856#false} [133] L72-5-->L73: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet9#1=|v_ULTIMATE.start_main_#t~nondet9#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet9#1] {3856#false} is VALID [2022-02-20 20:56:18,688 INFO L290 TraceCheckUtils]: 52: Hoare triple {3856#false} [168] L73-->L73-1: Formula: (= |v_ULTIMATE.start_main_#t~mem10#1_2| (select (select |v_#memory_int_7| |v_ULTIMATE.start_main_~#t1~0#1.base_4|) |v_ULTIMATE.start_main_~#t1~0#1.offset_4|)) InVars {#memory_int=|v_#memory_int_7|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_4|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_4|} OutVars{#memory_int=|v_#memory_int_7|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_4|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_4|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10#1] {3856#false} is VALID [2022-02-20 20:56:18,689 INFO L290 TraceCheckUtils]: 53: Hoare triple {3856#false} [231] thread1EXIT-->L73-2: Formula: (and (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem10#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ .cse0 (- 4294967296)))) v_thread1Thread1of1ForFork0_thidvar0_4) (= v_thread1Thread1of1ForFork0_thidvar1_4 0)) InVars {thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|} OutVars{thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|} AuxVars[] AssignedVars[] {3856#false} is VALID [2022-02-20 20:56:18,689 INFO L290 TraceCheckUtils]: 54: Hoare triple {3856#false} [169] L73-2-->L74: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10#1] {3856#false} is VALID [2022-02-20 20:56:18,689 INFO L290 TraceCheckUtils]: 55: Hoare triple {3856#false} [131] L74-->L74-1: Formula: (= (select (select |v_#memory_int_8| |v_ULTIMATE.start_main_~#t2~0#1.base_4|) |v_ULTIMATE.start_main_~#t2~0#1.offset_4|) |v_ULTIMATE.start_main_#t~mem11#1_2|) InVars {#memory_int=|v_#memory_int_8|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_4|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_2|, #memory_int=|v_#memory_int_8|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_4|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem11#1] {3856#false} is VALID [2022-02-20 20:56:18,689 INFO L290 TraceCheckUtils]: 56: Hoare triple {3856#false} [232] thread2EXIT-->L74-2: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar2_4) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem11#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ (- 4294967296) .cse0))) v_thread2Thread1of1ForFork1_thidvar0_4) (= 0 v_thread2Thread1of1ForFork1_thidvar1_4)) InVars {ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_5|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_5|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} AuxVars[] AssignedVars[] {3856#false} is VALID [2022-02-20 20:56:18,689 INFO L290 TraceCheckUtils]: 57: Hoare triple {3856#false} [173] L74-2-->L76: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem11#1] {3856#false} is VALID [2022-02-20 20:56:18,689 INFO L290 TraceCheckUtils]: 58: Hoare triple {3856#false} [207] L76-->L76-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3856#false} is VALID [2022-02-20 20:56:18,689 INFO L290 TraceCheckUtils]: 59: Hoare triple {3856#false} [186] L76-1-->L76-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3| (ite (not (= v_~counter~0_8 0)) 1 0)) InVars {~counter~0=v_~counter~0_8} OutVars{~counter~0=v_~counter~0_8, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] {3856#false} is VALID [2022-02-20 20:56:18,690 INFO L290 TraceCheckUtils]: 60: Hoare triple {3856#false} [193] L76-2-->L34-2: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_5|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {3856#false} is VALID [2022-02-20 20:56:18,690 INFO L290 TraceCheckUtils]: 61: Hoare triple {3856#false} [174] L34-2-->L35-3: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {3856#false} is VALID [2022-02-20 20:56:18,690 INFO L290 TraceCheckUtils]: 62: Hoare triple {3856#false} [145] L35-3-->L34-3: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_8| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_8|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_8|} AuxVars[] AssignedVars[] {3856#false} is VALID [2022-02-20 20:56:18,690 INFO L290 TraceCheckUtils]: 63: Hoare triple {3856#false} [154] L34-3-->L77: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3856#false} is VALID [2022-02-20 20:56:18,690 INFO L290 TraceCheckUtils]: 64: Hoare triple {3856#false} [146] L77-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3856#false} is VALID [2022-02-20 20:56:18,690 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 20:56:18,690 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 20:56:18,691 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2118777659] [2022-02-20 20:56:18,698 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2118777659] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 20:56:18,698 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1915139667] [2022-02-20 20:56:18,698 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 20:56:18,698 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 20:56:18,698 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 20:56:18,699 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 20:56:18,737 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-02-20 20:56:18,779 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 20:56:18,779 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 20:56:18,780 INFO L263 TraceCheckSpWp]: Trace formula consists of 148 conjuncts, 6 conjunts are in the unsatisfiable core [2022-02-20 20:56:18,791 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:56:18,792 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 20:56:18,995 INFO L290 TraceCheckUtils]: 0: Hoare triple {3855#true} [191] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3855#true} is VALID [2022-02-20 20:56:18,995 INFO L290 TraceCheckUtils]: 1: Hoare triple {3855#true} [172] 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] {3855#true} is VALID [2022-02-20 20:56:18,996 INFO L290 TraceCheckUtils]: 2: Hoare triple {3855#true} [197] L-1-1-->L-1-2: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] {3855#true} is VALID [2022-02-20 20:56:18,996 INFO L290 TraceCheckUtils]: 3: Hoare triple {3855#true} [199] L-1-2-->L21: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {3855#true} is VALID [2022-02-20 20:56:18,996 INFO L290 TraceCheckUtils]: 4: Hoare triple {3855#true} [165] L21-->L21-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[] {3855#true} is VALID [2022-02-20 20:56:18,996 INFO L290 TraceCheckUtils]: 5: Hoare triple {3855#true} [187] L21-1-->L21-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[] {3855#true} is VALID [2022-02-20 20:56:18,996 INFO L290 TraceCheckUtils]: 6: Hoare triple {3855#true} [184] L21-2-->L21-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[] {3855#true} is VALID [2022-02-20 20:56:18,996 INFO L290 TraceCheckUtils]: 7: Hoare triple {3855#true} [156] L21-3-->L21-4: Formula: (and (= 30 (select |v_#length_2| 2)) (= (select |v_#valid_3| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {3855#true} is VALID [2022-02-20 20:56:18,996 INFO L290 TraceCheckUtils]: 8: Hoare triple {3855#true} [204] L21-4-->L38: Formula: (= v_~M~0_5 0) InVars {} OutVars{~M~0=v_~M~0_5} AuxVars[] AssignedVars[~M~0] {3855#true} is VALID [2022-02-20 20:56:18,997 INFO L290 TraceCheckUtils]: 9: Hoare triple {3855#true} [205] L38-->L-1-3: Formula: (= v_~counter~0_7 0) InVars {} OutVars{~counter~0=v_~counter~0_7} AuxVars[] AssignedVars[~counter~0] {3890#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:18,997 INFO L290 TraceCheckUtils]: 10: Hoare triple {3890#(<= ~counter~0 0)} [201] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3890#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:18,997 INFO L290 TraceCheckUtils]: 11: Hoare triple {3890#(<= ~counter~0 0)} [181] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3890#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:18,998 INFO L290 TraceCheckUtils]: 12: Hoare triple {3890#(<= ~counter~0 0)} [151] L-1-5-->L-1-6: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {3890#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:18,998 INFO L290 TraceCheckUtils]: 13: Hoare triple {3890#(<= ~counter~0 0)} [178] L-1-6-->L65: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_1|, ULTIMATE.start_main_#t~nondet9#1=|v_ULTIMATE.start_main_#t~nondet9#1_1|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_1|, ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_1|, ULTIMATE.start_main_#t~nondet7#1=|v_ULTIMATE.start_main_#t~nondet7#1_1|, ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_1|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_1|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_1|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_1|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_1|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1, ULTIMATE.start_main_#t~nondet9#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_#t~nondet5#1, ULTIMATE.start_main_#t~nondet7#1, ULTIMATE.start_main_#t~mem11#1, ULTIMATE.start_main_#t~pre8#1, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset, ULTIMATE.start_main_#t~mem10#1, ULTIMATE.start_main_~#t2~0#1.base] {3890#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:18,998 INFO L290 TraceCheckUtils]: 14: Hoare triple {3890#(<= ~counter~0 0)} [208] L65-->L65-1: Formula: (and (= |v_ULTIMATE.start_main_~#t1~0#1.offset_2| 0) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) 0) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 4)) (not (= |v_ULTIMATE.start_main_~#t1~0#1.base_2| 0)) (= (store |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 1) |v_#valid_4|)) 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_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_2|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[#valid, #length, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset] {3890#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:18,999 INFO L290 TraceCheckUtils]: 15: Hoare triple {3890#(<= ~counter~0 0)} [194] L65-1-->L65-2: Formula: (and (= |v_#length_5| (store |v_#length_6| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 4)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2|) 0) (= (store |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 1) |v_#valid_6|) (not (= |v_ULTIMATE.start_main_~#t2~0#1.base_2| 0)) (= 0 |v_ULTIMATE.start_main_~#t2~0#1.offset_2|) (< |v_#StackHeapBarrier_3| |v_ULTIMATE.start_main_~#t2~0#1.base_2|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_7|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_5|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_2|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t2~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t2~0#1.base] {3890#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:18,999 INFO L290 TraceCheckUtils]: 16: Hoare triple {3890#(<= ~counter~0 0)} [171] L65-2-->L67: Formula: (and (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet5#1_2| 2147483648)) (<= |v_ULTIMATE.start_main_#t~nondet5#1_2| 2147483647)) InVars {ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_2|} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_2|} AuxVars[] AssignedVars[] {3890#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:19,000 INFO L290 TraceCheckUtils]: 17: Hoare triple {3890#(<= ~counter~0 0)} [190] L67-->L67-1: Formula: (= |v_ULTIMATE.start_main_#t~nondet5#1_3| v_~M~0_6) InVars {ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_3|} OutVars{~M~0=v_~M~0_6, ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_3|} AuxVars[] AssignedVars[~M~0] {3890#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:19,000 INFO L290 TraceCheckUtils]: 18: Hoare triple {3890#(<= ~counter~0 0)} [162] L67-1-->L68: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet5#1] {3890#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:19,000 INFO L290 TraceCheckUtils]: 19: Hoare triple {3890#(<= ~counter~0 0)} [196] L68-->L68-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3890#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:19,001 INFO L290 TraceCheckUtils]: 20: Hoare triple {3890#(<= ~counter~0 0)} [160] L68-1-->L68-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1| (ite (< 0 v_~M~0_7) 1 0)) InVars {~M~0=v_~M~0_7} OutVars{~M~0=v_~M~0_7, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] {3890#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:19,001 INFO L290 TraceCheckUtils]: 21: Hoare triple {3890#(<= ~counter~0 0)} [143] L68-2-->L34: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {3890#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:19,001 INFO L290 TraceCheckUtils]: 22: Hoare triple {3890#(<= ~counter~0 0)} [164] L34-->L35: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_2|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_2|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {3890#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:19,001 INFO L290 TraceCheckUtils]: 23: Hoare triple {3890#(<= ~counter~0 0)} [189] L35-->L34-1: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_4| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_4|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_4|} AuxVars[] AssignedVars[] {3890#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:19,002 INFO L290 TraceCheckUtils]: 24: Hoare triple {3890#(<= ~counter~0 0)} [182] L34-1-->L71: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3890#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:19,002 INFO L290 TraceCheckUtils]: 25: Hoare triple {3890#(<= ~counter~0 0)} [135] L71-->L71-1: Formula: (= |v_ULTIMATE.start_main_#t~pre6#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1] {3890#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:19,002 INFO L290 TraceCheckUtils]: 26: Hoare triple {3890#(<= ~counter~0 0)} [159] L71-1-->L71-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {3890#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:19,003 INFO L290 TraceCheckUtils]: 27: Hoare triple {3890#(<= ~counter~0 0)} [198] L71-2-->L71-3: Formula: (= (store |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3| (store (select |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3|) |v_ULTIMATE.start_main_~#t1~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre6#1_3|)) |v_#memory_int_3|) InVars {#memory_int=|v_#memory_int_4|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} OutVars{#memory_int=|v_#memory_int_3|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} AuxVars[] AssignedVars[#memory_int] {3890#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:19,003 INFO L290 TraceCheckUtils]: 28: Hoare triple {3890#(<= ~counter~0 0)} [228] L71-3-->thread1ENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre6#1_6| v_thread1Thread1of1ForFork0_thidvar0_2) (= v_thread1Thread1of1ForFork0_thidvar1_2 0)) InVars {ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_6|} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_6|, thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_4|, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_8|, thread1Thread1of1ForFork0_#t~post2=|v_thread1Thread1of1ForFork0_#t~post2_4|, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_12, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_2, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_4|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_2} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#t~post1, thread1Thread1of1ForFork0_#t~post2, thread1Thread1of1ForFork0_~i~0, thread1Thread1of1ForFork0_thidvar0, thread1Thread1of1ForFork0_#res.offset, thread1Thread1of1ForFork0_thidvar1] {3890#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:19,003 INFO L290 TraceCheckUtils]: 29: Hoare triple {3890#(<= ~counter~0 0)} [150] L71-4-->L71-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1] {3890#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:19,004 INFO L290 TraceCheckUtils]: 30: Hoare triple {3890#(<= ~counter~0 0)} [177] L71-5-->L72: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet7#1=|v_ULTIMATE.start_main_#t~nondet7#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet7#1] {3890#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:19,004 INFO L290 TraceCheckUtils]: 31: Hoare triple {3890#(<= ~counter~0 0)} [206] L72-->L72-1: Formula: (= |v_ULTIMATE.start_main_#t~pre8#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre8#1] {3890#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:19,004 INFO L290 TraceCheckUtils]: 32: Hoare triple {3890#(<= ~counter~0 0)} [130] L72-1-->L72-2: Formula: (= (+ 1 |v_#pthreadsForks_6|) |v_#pthreadsForks_5|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_5|} AuxVars[] AssignedVars[#pthreadsForks] {3890#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:19,005 INFO L290 TraceCheckUtils]: 33: Hoare triple {3890#(<= ~counter~0 0)} [139] L72-2-->L72-3: Formula: (= (store |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3| (store (select |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3|) |v_ULTIMATE.start_main_~#t2~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre8#1_3|)) |v_#memory_int_5|) InVars {#memory_int=|v_#memory_int_6|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} OutVars{#memory_int=|v_#memory_int_5|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} AuxVars[] AssignedVars[#memory_int] {3890#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:19,005 INFO L290 TraceCheckUtils]: 34: Hoare triple {3890#(<= ~counter~0 0)} [230] L72-3-->thread2ENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre8#1_6| v_thread2Thread1of1ForFork1_thidvar0_2) (= 0 v_thread2Thread1of1ForFork1_thidvar1_2) (= 0 v_thread2Thread1of1ForFork1_thidvar2_2)) InVars {ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_6|} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_4|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_12, thread2Thread1of1ForFork1_#t~post4=|v_thread2Thread1of1ForFork1_#t~post4_6|, thread2Thread1of1ForFork1_#t~post3=|v_thread2Thread1of1ForFork1_#t~post3_6|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_4|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_6|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_2, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_2, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_2} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_~i~1, thread2Thread1of1ForFork1_#t~post4, thread2Thread1of1ForFork1_#t~post3, thread2Thread1of1ForFork1_#res.base, thread2Thread1of1ForFork1_thidvar2, thread2Thread1of1ForFork1_thidvar0, thread2Thread1of1ForFork1_thidvar1] {3890#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:19,005 INFO L290 TraceCheckUtils]: 35: Hoare triple {3890#(<= ~counter~0 0)} [220] thread2ENTRY-->L54-1: Formula: (= v_thread2Thread1of1ForFork1_~i~1_1 0) InVars {} OutVars{thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_~i~1] {3969#(and (<= ~counter~0 0) (= thread2Thread1of1ForFork1_~i~1 0))} is VALID [2022-02-20 20:56:19,006 INFO L290 TraceCheckUtils]: 36: Hoare triple {3969#(and (<= ~counter~0 0) (= thread2Thread1of1ForFork1_~i~1 0))} [223] L54-1-->L53: Formula: (< v_thread2Thread1of1ForFork1_~i~1_5 v_~M~0_4) InVars {~M~0=v_~M~0_4, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_5} OutVars{~M~0=v_~M~0_4, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_5} AuxVars[] AssignedVars[] {3973#(and (< thread2Thread1of1ForFork1_~i~1 ~M~0) (<= ~counter~0 0) (= thread2Thread1of1ForFork1_~i~1 0))} is VALID [2022-02-20 20:56:19,007 INFO L290 TraceCheckUtils]: 37: Hoare triple {3973#(and (< thread2Thread1of1ForFork1_~i~1 ~M~0) (<= ~counter~0 0) (= thread2Thread1of1ForFork1_~i~1 0))} [225] L53-->L54-1: Formula: (let ((.cse0 (< 0 v_~counter~0_In_1))) (or (and .cse0 (= v_~counter~0_In_1 (+ v_~counter~0_Out_2 1)) (= (+ v_thread2Thread1of1ForFork1_~i~1_7 1) v_thread2Thread1of1ForFork1_~i~1_8)) (and (= v_~counter~0_Out_2 v_~counter~0_In_1) (= v_thread2Thread1of1ForFork1_~i~1_8 v_thread2Thread1of1ForFork1_~i~1_7) (not .cse0) (= |v_thread2Thread1of1ForFork1_#t~post3_1| |v_thread2Thread1of1ForFork1_#t~post3_2|) (= |v_thread2Thread1of1ForFork1_#t~post4_2| |v_thread2Thread1of1ForFork1_#t~post4_1|)))) InVars {~counter~0=v_~counter~0_In_1, thread2Thread1of1ForFork1_#t~post4=|v_thread2Thread1of1ForFork1_#t~post4_1|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_7, thread2Thread1of1ForFork1_#t~post3=|v_thread2Thread1of1ForFork1_#t~post3_1|} OutVars{~counter~0=v_~counter~0_Out_2, thread2Thread1of1ForFork1_#t~post4=|v_thread2Thread1of1ForFork1_#t~post4_2|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_8, thread2Thread1of1ForFork1_#t~post3=|v_thread2Thread1of1ForFork1_#t~post3_2|} AuxVars[] AssignedVars[~counter~0, thread2Thread1of1ForFork1_#t~post4, thread2Thread1of1ForFork1_~i~1, thread2Thread1of1ForFork1_#t~post3] {3977#(and (< 0 ~M~0) (= thread2Thread1of1ForFork1_~i~1 0))} is VALID [2022-02-20 20:56:19,007 INFO L290 TraceCheckUtils]: 38: Hoare triple {3977#(and (< 0 ~M~0) (= thread2Thread1of1ForFork1_~i~1 0))} [222] L54-1-->L52-2: Formula: (not (< v_thread2Thread1of1ForFork1_~i~1_3 v_~M~0_3)) InVars {~M~0=v_~M~0_3, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_3} OutVars{~M~0=v_~M~0_3, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_3} AuxVars[] AssignedVars[] {3856#false} is VALID [2022-02-20 20:56:19,007 INFO L290 TraceCheckUtils]: 39: Hoare triple {3856#false} [224] L52-2-->thread2FINAL: Formula: (and (= |v_thread2Thread1of1ForFork1_#res.base_1| 0) (= |v_thread2Thread1of1ForFork1_#res.offset_1| 0)) InVars {} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_1|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_1|} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_#res.base] {3856#false} is VALID [2022-02-20 20:56:19,007 INFO L290 TraceCheckUtils]: 40: Hoare triple {3856#false} [226] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3856#false} is VALID [2022-02-20 20:56:19,007 INFO L290 TraceCheckUtils]: 41: Hoare triple {3856#false} [210] thread1ENTRY-->L41-4: Formula: (= v_thread1Thread1of1ForFork0_~i~0_1 0) InVars {} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_1} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_~i~0] {3856#false} is VALID [2022-02-20 20:56:19,007 INFO L290 TraceCheckUtils]: 42: Hoare triple {3856#false} [213] L41-4-->L42: Formula: (< v_thread1Thread1of1ForFork0_~i~0_5 v_~M~0_2) InVars {~M~0=v_~M~0_2, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_5} OutVars{~M~0=v_~M~0_2, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_5} AuxVars[] AssignedVars[] {3856#false} is VALID [2022-02-20 20:56:19,008 INFO L290 TraceCheckUtils]: 43: Hoare triple {3856#false} [215] L42-->L44: Formula: (= (+ v_~counter~0_26 1) v_~counter~0_25) InVars {~counter~0=v_~counter~0_26} OutVars{~counter~0=v_~counter~0_25, thread1Thread1of1ForFork0_#t~post2=|v_thread1Thread1of1ForFork0_#t~post2_1|} AuxVars[] AssignedVars[~counter~0, thread1Thread1of1ForFork0_#t~post2] {3856#false} is VALID [2022-02-20 20:56:19,008 INFO L290 TraceCheckUtils]: 44: Hoare triple {3856#false} [217] L44-->L41-2: Formula: (= v_thread1Thread1of1ForFork0_~i~0_7 |v_thread1Thread1of1ForFork0_#t~post1_1|) InVars {thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_7} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_7, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1] {3856#false} is VALID [2022-02-20 20:56:19,008 INFO L290 TraceCheckUtils]: 45: Hoare triple {3856#false} [218] L41-2-->L41-3: Formula: (= v_thread1Thread1of1ForFork0_~i~0_9 (+ |v_thread1Thread1of1ForFork0_#t~post1_3| 1)) InVars {thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_3|} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_9, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_3|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_~i~0] {3856#false} is VALID [2022-02-20 20:56:19,008 INFO L290 TraceCheckUtils]: 46: Hoare triple {3856#false} [219] L41-3-->L41-4: Formula: true InVars {} OutVars{thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_5|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1] {3856#false} is VALID [2022-02-20 20:56:19,008 INFO L290 TraceCheckUtils]: 47: Hoare triple {3856#false} [212] L41-4-->L41-5: Formula: (not (< v_thread1Thread1of1ForFork0_~i~0_3 v_~M~0_1)) InVars {~M~0=v_~M~0_1, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_3} OutVars{~M~0=v_~M~0_1, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_3} AuxVars[] AssignedVars[] {3856#false} is VALID [2022-02-20 20:56:19,008 INFO L290 TraceCheckUtils]: 48: Hoare triple {3856#false} [214] L41-5-->thread1FINAL: Formula: (and (= |v_thread1Thread1of1ForFork0_#res.base_1| 0) (= |v_thread1Thread1of1ForFork0_#res.offset_1| 0)) InVars {} OutVars{thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_1|, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#res.offset] {3856#false} is VALID [2022-02-20 20:56:19,008 INFO L290 TraceCheckUtils]: 49: Hoare triple {3856#false} [216] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3856#false} is VALID [2022-02-20 20:56:19,008 INFO L290 TraceCheckUtils]: 50: Hoare triple {3856#false} [200] L72-4-->L72-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre8#1] {3856#false} is VALID [2022-02-20 20:56:19,009 INFO L290 TraceCheckUtils]: 51: Hoare triple {3856#false} [133] L72-5-->L73: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet9#1=|v_ULTIMATE.start_main_#t~nondet9#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet9#1] {3856#false} is VALID [2022-02-20 20:56:19,009 INFO L290 TraceCheckUtils]: 52: Hoare triple {3856#false} [168] L73-->L73-1: Formula: (= |v_ULTIMATE.start_main_#t~mem10#1_2| (select (select |v_#memory_int_7| |v_ULTIMATE.start_main_~#t1~0#1.base_4|) |v_ULTIMATE.start_main_~#t1~0#1.offset_4|)) InVars {#memory_int=|v_#memory_int_7|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_4|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_4|} OutVars{#memory_int=|v_#memory_int_7|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_4|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_4|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10#1] {3856#false} is VALID [2022-02-20 20:56:19,009 INFO L290 TraceCheckUtils]: 53: Hoare triple {3856#false} [231] thread1EXIT-->L73-2: Formula: (and (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem10#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ .cse0 (- 4294967296)))) v_thread1Thread1of1ForFork0_thidvar0_4) (= v_thread1Thread1of1ForFork0_thidvar1_4 0)) InVars {thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|} OutVars{thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|} AuxVars[] AssignedVars[] {3856#false} is VALID [2022-02-20 20:56:19,009 INFO L290 TraceCheckUtils]: 54: Hoare triple {3856#false} [169] L73-2-->L74: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10#1] {3856#false} is VALID [2022-02-20 20:56:19,009 INFO L290 TraceCheckUtils]: 55: Hoare triple {3856#false} [131] L74-->L74-1: Formula: (= (select (select |v_#memory_int_8| |v_ULTIMATE.start_main_~#t2~0#1.base_4|) |v_ULTIMATE.start_main_~#t2~0#1.offset_4|) |v_ULTIMATE.start_main_#t~mem11#1_2|) InVars {#memory_int=|v_#memory_int_8|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_4|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_2|, #memory_int=|v_#memory_int_8|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_4|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem11#1] {3856#false} is VALID [2022-02-20 20:56:19,009 INFO L290 TraceCheckUtils]: 56: Hoare triple {3856#false} [232] thread2EXIT-->L74-2: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar2_4) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem11#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ (- 4294967296) .cse0))) v_thread2Thread1of1ForFork1_thidvar0_4) (= 0 v_thread2Thread1of1ForFork1_thidvar1_4)) InVars {ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_5|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_5|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} AuxVars[] AssignedVars[] {3856#false} is VALID [2022-02-20 20:56:19,009 INFO L290 TraceCheckUtils]: 57: Hoare triple {3856#false} [173] L74-2-->L76: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem11#1] {3856#false} is VALID [2022-02-20 20:56:19,010 INFO L290 TraceCheckUtils]: 58: Hoare triple {3856#false} [207] L76-->L76-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3856#false} is VALID [2022-02-20 20:56:19,010 INFO L290 TraceCheckUtils]: 59: Hoare triple {3856#false} [186] L76-1-->L76-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3| (ite (not (= v_~counter~0_8 0)) 1 0)) InVars {~counter~0=v_~counter~0_8} OutVars{~counter~0=v_~counter~0_8, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] {3856#false} is VALID [2022-02-20 20:56:19,010 INFO L290 TraceCheckUtils]: 60: Hoare triple {3856#false} [193] L76-2-->L34-2: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_5|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {3856#false} is VALID [2022-02-20 20:56:19,010 INFO L290 TraceCheckUtils]: 61: Hoare triple {3856#false} [174] L34-2-->L35-3: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {3856#false} is VALID [2022-02-20 20:56:19,010 INFO L290 TraceCheckUtils]: 62: Hoare triple {3856#false} [145] L35-3-->L34-3: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_8| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_8|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_8|} AuxVars[] AssignedVars[] {3856#false} is VALID [2022-02-20 20:56:19,010 INFO L290 TraceCheckUtils]: 63: Hoare triple {3856#false} [154] L34-3-->L77: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3856#false} is VALID [2022-02-20 20:56:19,010 INFO L290 TraceCheckUtils]: 64: Hoare triple {3856#false} [146] L77-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3856#false} is VALID [2022-02-20 20:56:19,011 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 20:56:19,011 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 20:56:19,279 INFO L290 TraceCheckUtils]: 64: Hoare triple {3856#false} [146] L77-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3856#false} is VALID [2022-02-20 20:56:19,279 INFO L290 TraceCheckUtils]: 63: Hoare triple {3856#false} [154] L34-3-->L77: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3856#false} is VALID [2022-02-20 20:56:19,279 INFO L290 TraceCheckUtils]: 62: Hoare triple {3856#false} [145] L35-3-->L34-3: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_8| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_8|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_8|} AuxVars[] AssignedVars[] {3856#false} is VALID [2022-02-20 20:56:19,279 INFO L290 TraceCheckUtils]: 61: Hoare triple {3856#false} [174] L34-2-->L35-3: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {3856#false} is VALID [2022-02-20 20:56:19,280 INFO L290 TraceCheckUtils]: 60: Hoare triple {3856#false} [193] L76-2-->L34-2: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_5|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {3856#false} is VALID [2022-02-20 20:56:19,280 INFO L290 TraceCheckUtils]: 59: Hoare triple {3856#false} [186] L76-1-->L76-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3| (ite (not (= v_~counter~0_8 0)) 1 0)) InVars {~counter~0=v_~counter~0_8} OutVars{~counter~0=v_~counter~0_8, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] {3856#false} is VALID [2022-02-20 20:56:19,280 INFO L290 TraceCheckUtils]: 58: Hoare triple {3856#false} [207] L76-->L76-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3856#false} is VALID [2022-02-20 20:56:19,280 INFO L290 TraceCheckUtils]: 57: Hoare triple {3856#false} [173] L74-2-->L76: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem11#1] {3856#false} is VALID [2022-02-20 20:56:19,280 INFO L290 TraceCheckUtils]: 56: Hoare triple {3856#false} [232] thread2EXIT-->L74-2: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar2_4) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem11#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ (- 4294967296) .cse0))) v_thread2Thread1of1ForFork1_thidvar0_4) (= 0 v_thread2Thread1of1ForFork1_thidvar1_4)) InVars {ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_5|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_5|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} AuxVars[] AssignedVars[] {3856#false} is VALID [2022-02-20 20:56:19,280 INFO L290 TraceCheckUtils]: 55: Hoare triple {3856#false} [131] L74-->L74-1: Formula: (= (select (select |v_#memory_int_8| |v_ULTIMATE.start_main_~#t2~0#1.base_4|) |v_ULTIMATE.start_main_~#t2~0#1.offset_4|) |v_ULTIMATE.start_main_#t~mem11#1_2|) InVars {#memory_int=|v_#memory_int_8|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_4|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_2|, #memory_int=|v_#memory_int_8|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_4|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem11#1] {3856#false} is VALID [2022-02-20 20:56:19,280 INFO L290 TraceCheckUtils]: 54: Hoare triple {3856#false} [169] L73-2-->L74: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10#1] {3856#false} is VALID [2022-02-20 20:56:19,281 INFO L290 TraceCheckUtils]: 53: Hoare triple {3856#false} [231] thread1EXIT-->L73-2: Formula: (and (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem10#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ .cse0 (- 4294967296)))) v_thread1Thread1of1ForFork0_thidvar0_4) (= v_thread1Thread1of1ForFork0_thidvar1_4 0)) InVars {thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|} OutVars{thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|} AuxVars[] AssignedVars[] {3856#false} is VALID [2022-02-20 20:56:19,281 INFO L290 TraceCheckUtils]: 52: Hoare triple {3856#false} [168] L73-->L73-1: Formula: (= |v_ULTIMATE.start_main_#t~mem10#1_2| (select (select |v_#memory_int_7| |v_ULTIMATE.start_main_~#t1~0#1.base_4|) |v_ULTIMATE.start_main_~#t1~0#1.offset_4|)) InVars {#memory_int=|v_#memory_int_7|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_4|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_4|} OutVars{#memory_int=|v_#memory_int_7|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_4|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_4|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10#1] {3856#false} is VALID [2022-02-20 20:56:19,281 INFO L290 TraceCheckUtils]: 51: Hoare triple {3856#false} [133] L72-5-->L73: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet9#1=|v_ULTIMATE.start_main_#t~nondet9#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet9#1] {3856#false} is VALID [2022-02-20 20:56:19,281 INFO L290 TraceCheckUtils]: 50: Hoare triple {3856#false} [200] L72-4-->L72-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre8#1] {3856#false} is VALID [2022-02-20 20:56:19,281 INFO L290 TraceCheckUtils]: 49: Hoare triple {3856#false} [216] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3856#false} is VALID [2022-02-20 20:56:19,281 INFO L290 TraceCheckUtils]: 48: Hoare triple {3856#false} [214] L41-5-->thread1FINAL: Formula: (and (= |v_thread1Thread1of1ForFork0_#res.base_1| 0) (= |v_thread1Thread1of1ForFork0_#res.offset_1| 0)) InVars {} OutVars{thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_1|, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#res.offset] {3856#false} is VALID [2022-02-20 20:56:19,281 INFO L290 TraceCheckUtils]: 47: Hoare triple {3856#false} [212] L41-4-->L41-5: Formula: (not (< v_thread1Thread1of1ForFork0_~i~0_3 v_~M~0_1)) InVars {~M~0=v_~M~0_1, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_3} OutVars{~M~0=v_~M~0_1, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_3} AuxVars[] AssignedVars[] {3856#false} is VALID [2022-02-20 20:56:19,282 INFO L290 TraceCheckUtils]: 46: Hoare triple {3856#false} [219] L41-3-->L41-4: Formula: true InVars {} OutVars{thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_5|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1] {3856#false} is VALID [2022-02-20 20:56:19,282 INFO L290 TraceCheckUtils]: 45: Hoare triple {3856#false} [218] L41-2-->L41-3: Formula: (= v_thread1Thread1of1ForFork0_~i~0_9 (+ |v_thread1Thread1of1ForFork0_#t~post1_3| 1)) InVars {thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_3|} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_9, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_3|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_~i~0] {3856#false} is VALID [2022-02-20 20:56:19,282 INFO L290 TraceCheckUtils]: 44: Hoare triple {3856#false} [217] L44-->L41-2: Formula: (= v_thread1Thread1of1ForFork0_~i~0_7 |v_thread1Thread1of1ForFork0_#t~post1_1|) InVars {thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_7} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_7, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1] {3856#false} is VALID [2022-02-20 20:56:19,282 INFO L290 TraceCheckUtils]: 43: Hoare triple {3856#false} [215] L42-->L44: Formula: (= (+ v_~counter~0_26 1) v_~counter~0_25) InVars {~counter~0=v_~counter~0_26} OutVars{~counter~0=v_~counter~0_25, thread1Thread1of1ForFork0_#t~post2=|v_thread1Thread1of1ForFork0_#t~post2_1|} AuxVars[] AssignedVars[~counter~0, thread1Thread1of1ForFork0_#t~post2] {3856#false} is VALID [2022-02-20 20:56:19,282 INFO L290 TraceCheckUtils]: 42: Hoare triple {3856#false} [213] L41-4-->L42: Formula: (< v_thread1Thread1of1ForFork0_~i~0_5 v_~M~0_2) InVars {~M~0=v_~M~0_2, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_5} OutVars{~M~0=v_~M~0_2, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_5} AuxVars[] AssignedVars[] {3856#false} is VALID [2022-02-20 20:56:19,282 INFO L290 TraceCheckUtils]: 41: Hoare triple {3856#false} [210] thread1ENTRY-->L41-4: Formula: (= v_thread1Thread1of1ForFork0_~i~0_1 0) InVars {} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_1} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_~i~0] {3856#false} is VALID [2022-02-20 20:56:19,283 INFO L290 TraceCheckUtils]: 40: Hoare triple {3856#false} [226] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3856#false} is VALID [2022-02-20 20:56:19,283 INFO L290 TraceCheckUtils]: 39: Hoare triple {3856#false} [224] L52-2-->thread2FINAL: Formula: (and (= |v_thread2Thread1of1ForFork1_#res.base_1| 0) (= |v_thread2Thread1of1ForFork1_#res.offset_1| 0)) InVars {} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_1|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_1|} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_#res.base] {3856#false} is VALID [2022-02-20 20:56:19,283 INFO L290 TraceCheckUtils]: 38: Hoare triple {3859#(<= (+ thread2Thread1of1ForFork1_~i~1 1) ~M~0)} [222] L54-1-->L52-2: Formula: (not (< v_thread2Thread1of1ForFork1_~i~1_3 v_~M~0_3)) InVars {~M~0=v_~M~0_3, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_3} OutVars{~M~0=v_~M~0_3, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_3} AuxVars[] AssignedVars[] {3856#false} is VALID [2022-02-20 20:56:19,284 INFO L290 TraceCheckUtils]: 37: Hoare triple {4140#(and (<= (+ thread2Thread1of1ForFork1_~i~1 1) ~M~0) (or (not (< 0 ~counter~0)) (<= (+ 2 thread2Thread1of1ForFork1_~i~1) ~M~0)))} [225] L53-->L54-1: Formula: (let ((.cse0 (< 0 v_~counter~0_In_1))) (or (and .cse0 (= v_~counter~0_In_1 (+ v_~counter~0_Out_2 1)) (= (+ v_thread2Thread1of1ForFork1_~i~1_7 1) v_thread2Thread1of1ForFork1_~i~1_8)) (and (= v_~counter~0_Out_2 v_~counter~0_In_1) (= v_thread2Thread1of1ForFork1_~i~1_8 v_thread2Thread1of1ForFork1_~i~1_7) (not .cse0) (= |v_thread2Thread1of1ForFork1_#t~post3_1| |v_thread2Thread1of1ForFork1_#t~post3_2|) (= |v_thread2Thread1of1ForFork1_#t~post4_2| |v_thread2Thread1of1ForFork1_#t~post4_1|)))) InVars {~counter~0=v_~counter~0_In_1, thread2Thread1of1ForFork1_#t~post4=|v_thread2Thread1of1ForFork1_#t~post4_1|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_7, thread2Thread1of1ForFork1_#t~post3=|v_thread2Thread1of1ForFork1_#t~post3_1|} OutVars{~counter~0=v_~counter~0_Out_2, thread2Thread1of1ForFork1_#t~post4=|v_thread2Thread1of1ForFork1_#t~post4_2|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_8, thread2Thread1of1ForFork1_#t~post3=|v_thread2Thread1of1ForFork1_#t~post3_2|} AuxVars[] AssignedVars[~counter~0, thread2Thread1of1ForFork1_#t~post4, thread2Thread1of1ForFork1_~i~1, thread2Thread1of1ForFork1_#t~post3] {3859#(<= (+ thread2Thread1of1ForFork1_~i~1 1) ~M~0)} is VALID [2022-02-20 20:56:19,284 INFO L290 TraceCheckUtils]: 36: Hoare triple {3890#(<= ~counter~0 0)} [223] L54-1-->L53: Formula: (< v_thread2Thread1of1ForFork1_~i~1_5 v_~M~0_4) InVars {~M~0=v_~M~0_4, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_5} OutVars{~M~0=v_~M~0_4, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_5} AuxVars[] AssignedVars[] {4140#(and (<= (+ thread2Thread1of1ForFork1_~i~1 1) ~M~0) (or (not (< 0 ~counter~0)) (<= (+ 2 thread2Thread1of1ForFork1_~i~1) ~M~0)))} is VALID [2022-02-20 20:56:19,285 INFO L290 TraceCheckUtils]: 35: Hoare triple {3890#(<= ~counter~0 0)} [220] thread2ENTRY-->L54-1: Formula: (= v_thread2Thread1of1ForFork1_~i~1_1 0) InVars {} OutVars{thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_~i~1] {3890#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:19,285 INFO L290 TraceCheckUtils]: 34: Hoare triple {3890#(<= ~counter~0 0)} [230] L72-3-->thread2ENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre8#1_6| v_thread2Thread1of1ForFork1_thidvar0_2) (= 0 v_thread2Thread1of1ForFork1_thidvar1_2) (= 0 v_thread2Thread1of1ForFork1_thidvar2_2)) InVars {ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_6|} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_4|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_12, thread2Thread1of1ForFork1_#t~post4=|v_thread2Thread1of1ForFork1_#t~post4_6|, thread2Thread1of1ForFork1_#t~post3=|v_thread2Thread1of1ForFork1_#t~post3_6|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_4|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_6|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_2, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_2, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_2} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_~i~1, thread2Thread1of1ForFork1_#t~post4, thread2Thread1of1ForFork1_#t~post3, thread2Thread1of1ForFork1_#res.base, thread2Thread1of1ForFork1_thidvar2, thread2Thread1of1ForFork1_thidvar0, thread2Thread1of1ForFork1_thidvar1] {3890#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:19,285 INFO L290 TraceCheckUtils]: 33: Hoare triple {3890#(<= ~counter~0 0)} [139] L72-2-->L72-3: Formula: (= (store |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3| (store (select |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3|) |v_ULTIMATE.start_main_~#t2~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre8#1_3|)) |v_#memory_int_5|) InVars {#memory_int=|v_#memory_int_6|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} OutVars{#memory_int=|v_#memory_int_5|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} AuxVars[] AssignedVars[#memory_int] {3890#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:19,286 INFO L290 TraceCheckUtils]: 32: Hoare triple {3890#(<= ~counter~0 0)} [130] L72-1-->L72-2: Formula: (= (+ 1 |v_#pthreadsForks_6|) |v_#pthreadsForks_5|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_5|} AuxVars[] AssignedVars[#pthreadsForks] {3890#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:19,286 INFO L290 TraceCheckUtils]: 31: Hoare triple {3890#(<= ~counter~0 0)} [206] L72-->L72-1: Formula: (= |v_ULTIMATE.start_main_#t~pre8#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre8#1] {3890#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:19,286 INFO L290 TraceCheckUtils]: 30: Hoare triple {3890#(<= ~counter~0 0)} [177] L71-5-->L72: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet7#1=|v_ULTIMATE.start_main_#t~nondet7#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet7#1] {3890#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:19,287 INFO L290 TraceCheckUtils]: 29: Hoare triple {3890#(<= ~counter~0 0)} [150] L71-4-->L71-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1] {3890#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:19,287 INFO L290 TraceCheckUtils]: 28: Hoare triple {3890#(<= ~counter~0 0)} [228] L71-3-->thread1ENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre6#1_6| v_thread1Thread1of1ForFork0_thidvar0_2) (= v_thread1Thread1of1ForFork0_thidvar1_2 0)) InVars {ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_6|} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_6|, thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_4|, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_8|, thread1Thread1of1ForFork0_#t~post2=|v_thread1Thread1of1ForFork0_#t~post2_4|, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_12, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_2, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_4|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_2} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#t~post1, thread1Thread1of1ForFork0_#t~post2, thread1Thread1of1ForFork0_~i~0, thread1Thread1of1ForFork0_thidvar0, thread1Thread1of1ForFork0_#res.offset, thread1Thread1of1ForFork0_thidvar1] {3890#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:19,287 INFO L290 TraceCheckUtils]: 27: Hoare triple {3890#(<= ~counter~0 0)} [198] L71-2-->L71-3: Formula: (= (store |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3| (store (select |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3|) |v_ULTIMATE.start_main_~#t1~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre6#1_3|)) |v_#memory_int_3|) InVars {#memory_int=|v_#memory_int_4|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} OutVars{#memory_int=|v_#memory_int_3|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} AuxVars[] AssignedVars[#memory_int] {3890#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:19,287 INFO L290 TraceCheckUtils]: 26: Hoare triple {3890#(<= ~counter~0 0)} [159] L71-1-->L71-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {3890#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:19,288 INFO L290 TraceCheckUtils]: 25: Hoare triple {3890#(<= ~counter~0 0)} [135] L71-->L71-1: Formula: (= |v_ULTIMATE.start_main_#t~pre6#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1] {3890#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:19,288 INFO L290 TraceCheckUtils]: 24: Hoare triple {3890#(<= ~counter~0 0)} [182] L34-1-->L71: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3890#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:19,288 INFO L290 TraceCheckUtils]: 23: Hoare triple {3890#(<= ~counter~0 0)} [189] L35-->L34-1: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_4| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_4|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_4|} AuxVars[] AssignedVars[] {3890#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:19,289 INFO L290 TraceCheckUtils]: 22: Hoare triple {3890#(<= ~counter~0 0)} [164] L34-->L35: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_2|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_2|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {3890#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:19,289 INFO L290 TraceCheckUtils]: 21: Hoare triple {3890#(<= ~counter~0 0)} [143] L68-2-->L34: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {3890#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:19,289 INFO L290 TraceCheckUtils]: 20: Hoare triple {3890#(<= ~counter~0 0)} [160] L68-1-->L68-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1| (ite (< 0 v_~M~0_7) 1 0)) InVars {~M~0=v_~M~0_7} OutVars{~M~0=v_~M~0_7, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] {3890#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:19,289 INFO L290 TraceCheckUtils]: 19: Hoare triple {3890#(<= ~counter~0 0)} [196] L68-->L68-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3890#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:19,290 INFO L290 TraceCheckUtils]: 18: Hoare triple {3890#(<= ~counter~0 0)} [162] L67-1-->L68: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet5#1] {3890#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:19,290 INFO L290 TraceCheckUtils]: 17: Hoare triple {3890#(<= ~counter~0 0)} [190] L67-->L67-1: Formula: (= |v_ULTIMATE.start_main_#t~nondet5#1_3| v_~M~0_6) InVars {ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_3|} OutVars{~M~0=v_~M~0_6, ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_3|} AuxVars[] AssignedVars[~M~0] {3890#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:19,290 INFO L290 TraceCheckUtils]: 16: Hoare triple {3890#(<= ~counter~0 0)} [171] L65-2-->L67: Formula: (and (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet5#1_2| 2147483648)) (<= |v_ULTIMATE.start_main_#t~nondet5#1_2| 2147483647)) InVars {ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_2|} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_2|} AuxVars[] AssignedVars[] {3890#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:19,291 INFO L290 TraceCheckUtils]: 15: Hoare triple {3890#(<= ~counter~0 0)} [194] L65-1-->L65-2: Formula: (and (= |v_#length_5| (store |v_#length_6| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 4)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2|) 0) (= (store |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 1) |v_#valid_6|) (not (= |v_ULTIMATE.start_main_~#t2~0#1.base_2| 0)) (= 0 |v_ULTIMATE.start_main_~#t2~0#1.offset_2|) (< |v_#StackHeapBarrier_3| |v_ULTIMATE.start_main_~#t2~0#1.base_2|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_7|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_5|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_2|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t2~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t2~0#1.base] {3890#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:19,291 INFO L290 TraceCheckUtils]: 14: Hoare triple {3890#(<= ~counter~0 0)} [208] L65-->L65-1: Formula: (and (= |v_ULTIMATE.start_main_~#t1~0#1.offset_2| 0) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) 0) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 4)) (not (= |v_ULTIMATE.start_main_~#t1~0#1.base_2| 0)) (= (store |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 1) |v_#valid_4|)) 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_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_2|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[#valid, #length, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset] {3890#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:19,291 INFO L290 TraceCheckUtils]: 13: Hoare triple {3890#(<= ~counter~0 0)} [178] L-1-6-->L65: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_1|, ULTIMATE.start_main_#t~nondet9#1=|v_ULTIMATE.start_main_#t~nondet9#1_1|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_1|, ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_1|, ULTIMATE.start_main_#t~nondet7#1=|v_ULTIMATE.start_main_#t~nondet7#1_1|, ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_1|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_1|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_1|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_1|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_1|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1, ULTIMATE.start_main_#t~nondet9#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_#t~nondet5#1, ULTIMATE.start_main_#t~nondet7#1, ULTIMATE.start_main_#t~mem11#1, ULTIMATE.start_main_#t~pre8#1, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset, ULTIMATE.start_main_#t~mem10#1, ULTIMATE.start_main_~#t2~0#1.base] {3890#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:19,292 INFO L290 TraceCheckUtils]: 12: Hoare triple {3890#(<= ~counter~0 0)} [151] L-1-5-->L-1-6: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {3890#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:19,292 INFO L290 TraceCheckUtils]: 11: Hoare triple {3890#(<= ~counter~0 0)} [181] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3890#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:19,292 INFO L290 TraceCheckUtils]: 10: Hoare triple {3890#(<= ~counter~0 0)} [201] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3890#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:19,292 INFO L290 TraceCheckUtils]: 9: Hoare triple {3855#true} [205] L38-->L-1-3: Formula: (= v_~counter~0_7 0) InVars {} OutVars{~counter~0=v_~counter~0_7} AuxVars[] AssignedVars[~counter~0] {3890#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:19,293 INFO L290 TraceCheckUtils]: 8: Hoare triple {3855#true} [204] L21-4-->L38: Formula: (= v_~M~0_5 0) InVars {} OutVars{~M~0=v_~M~0_5} AuxVars[] AssignedVars[~M~0] {3855#true} is VALID [2022-02-20 20:56:19,293 INFO L290 TraceCheckUtils]: 7: Hoare triple {3855#true} [156] L21-3-->L21-4: Formula: (and (= 30 (select |v_#length_2| 2)) (= (select |v_#valid_3| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {3855#true} is VALID [2022-02-20 20:56:19,293 INFO L290 TraceCheckUtils]: 6: Hoare triple {3855#true} [184] L21-2-->L21-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[] {3855#true} is VALID [2022-02-20 20:56:19,293 INFO L290 TraceCheckUtils]: 5: Hoare triple {3855#true} [187] L21-1-->L21-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[] {3855#true} is VALID [2022-02-20 20:56:19,293 INFO L290 TraceCheckUtils]: 4: Hoare triple {3855#true} [165] L21-->L21-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[] {3855#true} is VALID [2022-02-20 20:56:19,293 INFO L290 TraceCheckUtils]: 3: Hoare triple {3855#true} [199] L-1-2-->L21: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {3855#true} is VALID [2022-02-20 20:56:19,293 INFO L290 TraceCheckUtils]: 2: Hoare triple {3855#true} [197] L-1-1-->L-1-2: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] {3855#true} is VALID [2022-02-20 20:56:19,293 INFO L290 TraceCheckUtils]: 1: Hoare triple {3855#true} [172] 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] {3855#true} is VALID [2022-02-20 20:56:19,294 INFO L290 TraceCheckUtils]: 0: Hoare triple {3855#true} [191] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3855#true} is VALID [2022-02-20 20:56:19,294 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 20:56:19,294 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1915139667] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 20:56:19,294 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 20:56:19,294 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 6, 5] total 10 [2022-02-20 20:56:19,294 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [903363700] [2022-02-20 20:56:19,295 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 20:56:19,295 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 9.8) internal successors, (98), 10 states have internal predecessors, (98), 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 65 [2022-02-20 20:56:19,295 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 20:56:19,295 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 9.8) internal successors, (98), 10 states have internal predecessors, (98), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:19,352 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 98 edges. 98 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 20:56:19,352 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-02-20 20:56:19,352 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 20:56:19,352 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-02-20 20:56:19,353 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=60, Unknown=0, NotChecked=0, Total=90 [2022-02-20 20:56:19,353 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 61 out of 82 [2022-02-20 20:56:19,354 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 81 places, 71 transitions, 197 flow. Second operand has 10 states, 10 states have (on average 63.8) internal successors, (638), 10 states have internal predecessors, (638), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:19,354 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 20:56:19,354 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 61 of 82 [2022-02-20 20:56:19,354 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 20:56:19,629 INFO L129 PetriNetUnfolder]: 109/374 cut-off events. [2022-02-20 20:56:19,629 INFO L130 PetriNetUnfolder]: For 197/207 co-relation queries the response was YES. [2022-02-20 20:56:19,630 INFO L84 FinitePrefix]: Finished finitePrefix Result has 832 conditions, 374 events. 109/374 cut-off events. For 197/207 co-relation queries the response was YES. Maximal size of possible extension queue 30. Compared 1803 event pairs, 29 based on Foata normal form. 15/382 useless extension candidates. Maximal degree in co-relation 822. Up to 124 conditions per place. [2022-02-20 20:56:19,631 INFO L132 encePairwiseOnDemand]: 76/82 looper letters, 34 selfloop transitions, 15 changer transitions 0/99 dead transitions. [2022-02-20 20:56:19,631 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 85 places, 99 transitions, 414 flow [2022-02-20 20:56:19,631 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 20:56:19,631 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2022-02-20 20:56:19,634 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 466 transitions. [2022-02-20 20:56:19,635 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.8118466898954704 [2022-02-20 20:56:19,635 INFO L72 ComplementDD]: Start complementDD. Operand 7 states and 466 transitions. [2022-02-20 20:56:19,635 INFO L73 IsDeterministic]: Start isDeterministic. Operand 7 states and 466 transitions. [2022-02-20 20:56:19,635 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 20:56:19,635 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 7 states and 466 transitions. [2022-02-20 20:56:19,636 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 8 states, 7 states have (on average 66.57142857142857) internal successors, (466), 7 states have internal predecessors, (466), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:19,637 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 8 states, 8 states have (on average 82.0) internal successors, (656), 8 states have internal predecessors, (656), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:19,637 INFO L81 ComplementDD]: Finished complementDD. Result has 8 states, 8 states have (on average 82.0) internal successors, (656), 8 states have internal predecessors, (656), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:19,637 INFO L186 Difference]: Start difference. First operand has 81 places, 71 transitions, 197 flow. Second operand 7 states and 466 transitions. [2022-02-20 20:56:19,637 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 85 places, 99 transitions, 414 flow [2022-02-20 20:56:19,644 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 83 places, 99 transitions, 410 flow, removed 2 selfloop flow, removed 2 redundant places. [2022-02-20 20:56:19,645 INFO L242 Difference]: Finished difference. Result has 88 places, 84 transitions, 338 flow [2022-02-20 20:56:19,645 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=82, PETRI_DIFFERENCE_MINUEND_FLOW=193, PETRI_DIFFERENCE_MINUEND_PLACES=77, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=71, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=6, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=63, PETRI_DIFFERENCE_SUBTRAHEND_STATES=7, PETRI_FLOW=338, PETRI_PLACES=88, PETRI_TRANSITIONS=84} [2022-02-20 20:56:19,646 INFO L334 CegarLoopForPetriNet]: 72 programPoint places, 16 predicate places. [2022-02-20 20:56:19,646 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 88 places, 84 transitions, 338 flow [2022-02-20 20:56:19,674 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 1209 states, 1206 states have (on average 2.5630182421227197) internal successors, (3091), 1208 states have internal predecessors, (3091), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:19,676 INFO L78 Accepts]: Start accepts. Automaton has has 1209 states, 1206 states have (on average 2.5630182421227197) internal successors, (3091), 1208 states have internal predecessors, (3091), 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 65 [2022-02-20 20:56:19,676 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 20:56:19,676 INFO L470 AbstractCegarLoop]: Abstraction has has 88 places, 84 transitions, 338 flow [2022-02-20 20:56:19,677 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 63.8) internal successors, (638), 10 states have internal predecessors, (638), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:19,677 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:56:19,677 INFO L254 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 20:56:19,700 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-02-20 20:56:19,897 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 20:56:19,897 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION] === [2022-02-20 20:56:19,897 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:56:19,898 INFO L85 PathProgramCache]: Analyzing trace with hash 1244151311, now seen corresponding path program 3 times [2022-02-20 20:56:19,898 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:56:19,898 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [422268640] [2022-02-20 20:56:19,898 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:56:19,898 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:56:19,913 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:56:20,049 INFO L290 TraceCheckUtils]: 0: Hoare triple {5469#true} [191] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5469#true} is VALID [2022-02-20 20:56:20,049 INFO L290 TraceCheckUtils]: 1: Hoare triple {5469#true} [172] 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] {5469#true} is VALID [2022-02-20 20:56:20,049 INFO L290 TraceCheckUtils]: 2: Hoare triple {5469#true} [197] L-1-1-->L-1-2: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] {5469#true} is VALID [2022-02-20 20:56:20,049 INFO L290 TraceCheckUtils]: 3: Hoare triple {5469#true} [199] L-1-2-->L21: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {5469#true} is VALID [2022-02-20 20:56:20,049 INFO L290 TraceCheckUtils]: 4: Hoare triple {5469#true} [165] L21-->L21-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[] {5469#true} is VALID [2022-02-20 20:56:20,049 INFO L290 TraceCheckUtils]: 5: Hoare triple {5469#true} [187] L21-1-->L21-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[] {5469#true} is VALID [2022-02-20 20:56:20,050 INFO L290 TraceCheckUtils]: 6: Hoare triple {5469#true} [184] L21-2-->L21-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[] {5469#true} is VALID [2022-02-20 20:56:20,050 INFO L290 TraceCheckUtils]: 7: Hoare triple {5469#true} [156] L21-3-->L21-4: Formula: (and (= 30 (select |v_#length_2| 2)) (= (select |v_#valid_3| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {5469#true} is VALID [2022-02-20 20:56:20,050 INFO L290 TraceCheckUtils]: 8: Hoare triple {5469#true} [204] L21-4-->L38: Formula: (= v_~M~0_5 0) InVars {} OutVars{~M~0=v_~M~0_5} AuxVars[] AssignedVars[~M~0] {5469#true} is VALID [2022-02-20 20:56:20,050 INFO L290 TraceCheckUtils]: 9: Hoare triple {5469#true} [205] L38-->L-1-3: Formula: (= v_~counter~0_7 0) InVars {} OutVars{~counter~0=v_~counter~0_7} AuxVars[] AssignedVars[~counter~0] {5471#(= ~counter~0 0)} is VALID [2022-02-20 20:56:20,051 INFO L290 TraceCheckUtils]: 10: Hoare triple {5471#(= ~counter~0 0)} [201] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5471#(= ~counter~0 0)} is VALID [2022-02-20 20:56:20,051 INFO L290 TraceCheckUtils]: 11: Hoare triple {5471#(= ~counter~0 0)} [181] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5471#(= ~counter~0 0)} is VALID [2022-02-20 20:56:20,051 INFO L290 TraceCheckUtils]: 12: Hoare triple {5471#(= ~counter~0 0)} [151] L-1-5-->L-1-6: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {5471#(= ~counter~0 0)} is VALID [2022-02-20 20:56:20,052 INFO L290 TraceCheckUtils]: 13: Hoare triple {5471#(= ~counter~0 0)} [178] L-1-6-->L65: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_1|, ULTIMATE.start_main_#t~nondet9#1=|v_ULTIMATE.start_main_#t~nondet9#1_1|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_1|, ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_1|, ULTIMATE.start_main_#t~nondet7#1=|v_ULTIMATE.start_main_#t~nondet7#1_1|, ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_1|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_1|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_1|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_1|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_1|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1, ULTIMATE.start_main_#t~nondet9#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_#t~nondet5#1, ULTIMATE.start_main_#t~nondet7#1, ULTIMATE.start_main_#t~mem11#1, ULTIMATE.start_main_#t~pre8#1, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset, ULTIMATE.start_main_#t~mem10#1, ULTIMATE.start_main_~#t2~0#1.base] {5471#(= ~counter~0 0)} is VALID [2022-02-20 20:56:20,052 INFO L290 TraceCheckUtils]: 14: Hoare triple {5471#(= ~counter~0 0)} [208] L65-->L65-1: Formula: (and (= |v_ULTIMATE.start_main_~#t1~0#1.offset_2| 0) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) 0) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 4)) (not (= |v_ULTIMATE.start_main_~#t1~0#1.base_2| 0)) (= (store |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 1) |v_#valid_4|)) 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_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_2|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[#valid, #length, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset] {5471#(= ~counter~0 0)} is VALID [2022-02-20 20:56:20,053 INFO L290 TraceCheckUtils]: 15: Hoare triple {5471#(= ~counter~0 0)} [194] L65-1-->L65-2: Formula: (and (= |v_#length_5| (store |v_#length_6| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 4)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2|) 0) (= (store |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 1) |v_#valid_6|) (not (= |v_ULTIMATE.start_main_~#t2~0#1.base_2| 0)) (= 0 |v_ULTIMATE.start_main_~#t2~0#1.offset_2|) (< |v_#StackHeapBarrier_3| |v_ULTIMATE.start_main_~#t2~0#1.base_2|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_7|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_5|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_2|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t2~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t2~0#1.base] {5471#(= ~counter~0 0)} is VALID [2022-02-20 20:56:20,053 INFO L290 TraceCheckUtils]: 16: Hoare triple {5471#(= ~counter~0 0)} [171] L65-2-->L67: Formula: (and (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet5#1_2| 2147483648)) (<= |v_ULTIMATE.start_main_#t~nondet5#1_2| 2147483647)) InVars {ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_2|} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_2|} AuxVars[] AssignedVars[] {5471#(= ~counter~0 0)} is VALID [2022-02-20 20:56:20,053 INFO L290 TraceCheckUtils]: 17: Hoare triple {5471#(= ~counter~0 0)} [190] L67-->L67-1: Formula: (= |v_ULTIMATE.start_main_#t~nondet5#1_3| v_~M~0_6) InVars {ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_3|} OutVars{~M~0=v_~M~0_6, ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_3|} AuxVars[] AssignedVars[~M~0] {5471#(= ~counter~0 0)} is VALID [2022-02-20 20:56:20,054 INFO L290 TraceCheckUtils]: 18: Hoare triple {5471#(= ~counter~0 0)} [162] L67-1-->L68: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet5#1] {5471#(= ~counter~0 0)} is VALID [2022-02-20 20:56:20,054 INFO L290 TraceCheckUtils]: 19: Hoare triple {5471#(= ~counter~0 0)} [196] L68-->L68-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5471#(= ~counter~0 0)} is VALID [2022-02-20 20:56:20,054 INFO L290 TraceCheckUtils]: 20: Hoare triple {5471#(= ~counter~0 0)} [160] L68-1-->L68-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1| (ite (< 0 v_~M~0_7) 1 0)) InVars {~M~0=v_~M~0_7} OutVars{~M~0=v_~M~0_7, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] {5471#(= ~counter~0 0)} is VALID [2022-02-20 20:56:20,055 INFO L290 TraceCheckUtils]: 21: Hoare triple {5471#(= ~counter~0 0)} [143] L68-2-->L34: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {5471#(= ~counter~0 0)} is VALID [2022-02-20 20:56:20,055 INFO L290 TraceCheckUtils]: 22: Hoare triple {5471#(= ~counter~0 0)} [164] L34-->L35: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_2|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_2|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {5471#(= ~counter~0 0)} is VALID [2022-02-20 20:56:20,055 INFO L290 TraceCheckUtils]: 23: Hoare triple {5471#(= ~counter~0 0)} [189] L35-->L34-1: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_4| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_4|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_4|} AuxVars[] AssignedVars[] {5471#(= ~counter~0 0)} is VALID [2022-02-20 20:56:20,056 INFO L290 TraceCheckUtils]: 24: Hoare triple {5471#(= ~counter~0 0)} [182] L34-1-->L71: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5471#(= ~counter~0 0)} is VALID [2022-02-20 20:56:20,056 INFO L290 TraceCheckUtils]: 25: Hoare triple {5471#(= ~counter~0 0)} [135] L71-->L71-1: Formula: (= |v_ULTIMATE.start_main_#t~pre6#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1] {5471#(= ~counter~0 0)} is VALID [2022-02-20 20:56:20,056 INFO L290 TraceCheckUtils]: 26: Hoare triple {5471#(= ~counter~0 0)} [159] L71-1-->L71-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {5471#(= ~counter~0 0)} is VALID [2022-02-20 20:56:20,057 INFO L290 TraceCheckUtils]: 27: Hoare triple {5471#(= ~counter~0 0)} [198] L71-2-->L71-3: Formula: (= (store |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3| (store (select |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3|) |v_ULTIMATE.start_main_~#t1~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre6#1_3|)) |v_#memory_int_3|) InVars {#memory_int=|v_#memory_int_4|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} OutVars{#memory_int=|v_#memory_int_3|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} AuxVars[] AssignedVars[#memory_int] {5471#(= ~counter~0 0)} is VALID [2022-02-20 20:56:20,057 INFO L290 TraceCheckUtils]: 28: Hoare triple {5471#(= ~counter~0 0)} [228] L71-3-->thread1ENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre6#1_6| v_thread1Thread1of1ForFork0_thidvar0_2) (= v_thread1Thread1of1ForFork0_thidvar1_2 0)) InVars {ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_6|} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_6|, thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_4|, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_8|, thread1Thread1of1ForFork0_#t~post2=|v_thread1Thread1of1ForFork0_#t~post2_4|, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_12, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_2, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_4|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_2} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#t~post1, thread1Thread1of1ForFork0_#t~post2, thread1Thread1of1ForFork0_~i~0, thread1Thread1of1ForFork0_thidvar0, thread1Thread1of1ForFork0_#res.offset, thread1Thread1of1ForFork0_thidvar1] {5471#(= ~counter~0 0)} is VALID [2022-02-20 20:56:20,057 INFO L290 TraceCheckUtils]: 29: Hoare triple {5471#(= ~counter~0 0)} [210] thread1ENTRY-->L41-4: Formula: (= v_thread1Thread1of1ForFork0_~i~0_1 0) InVars {} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_1} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_~i~0] {5472#(and (= thread1Thread1of1ForFork0_~i~0 0) (= ~counter~0 0))} is VALID [2022-02-20 20:56:20,058 INFO L290 TraceCheckUtils]: 30: Hoare triple {5472#(and (= thread1Thread1of1ForFork0_~i~0 0) (= ~counter~0 0))} [213] L41-4-->L42: Formula: (< v_thread1Thread1of1ForFork0_~i~0_5 v_~M~0_2) InVars {~M~0=v_~M~0_2, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_5} OutVars{~M~0=v_~M~0_2, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_5} AuxVars[] AssignedVars[] {5472#(and (= thread1Thread1of1ForFork0_~i~0 0) (= ~counter~0 0))} is VALID [2022-02-20 20:56:20,058 INFO L290 TraceCheckUtils]: 31: Hoare triple {5472#(and (= thread1Thread1of1ForFork0_~i~0 0) (= ~counter~0 0))} [215] L42-->L44: Formula: (= (+ v_~counter~0_26 1) v_~counter~0_25) InVars {~counter~0=v_~counter~0_26} OutVars{~counter~0=v_~counter~0_25, thread1Thread1of1ForFork0_#t~post2=|v_thread1Thread1of1ForFork0_#t~post2_1|} AuxVars[] AssignedVars[~counter~0, thread1Thread1of1ForFork0_#t~post2] {5473#(and (<= 1 ~counter~0) (= thread1Thread1of1ForFork0_~i~0 0))} is VALID [2022-02-20 20:56:20,059 INFO L290 TraceCheckUtils]: 32: Hoare triple {5473#(and (<= 1 ~counter~0) (= thread1Thread1of1ForFork0_~i~0 0))} [217] L44-->L41-2: Formula: (= v_thread1Thread1of1ForFork0_~i~0_7 |v_thread1Thread1of1ForFork0_#t~post1_1|) InVars {thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_7} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_7, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1] {5474#(and (<= 1 ~counter~0) (= |thread1Thread1of1ForFork0_#t~post1| 0))} is VALID [2022-02-20 20:56:20,059 INFO L290 TraceCheckUtils]: 33: Hoare triple {5474#(and (<= 1 ~counter~0) (= |thread1Thread1of1ForFork0_#t~post1| 0))} [218] L41-2-->L41-3: Formula: (= v_thread1Thread1of1ForFork0_~i~0_9 (+ |v_thread1Thread1of1ForFork0_#t~post1_3| 1)) InVars {thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_3|} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_9, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_3|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_~i~0] {5475#(and (<= 1 thread1Thread1of1ForFork0_~i~0) (<= 1 ~counter~0))} is VALID [2022-02-20 20:56:20,059 INFO L290 TraceCheckUtils]: 34: Hoare triple {5475#(and (<= 1 thread1Thread1of1ForFork0_~i~0) (<= 1 ~counter~0))} [219] L41-3-->L41-4: Formula: true InVars {} OutVars{thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_5|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1] {5475#(and (<= 1 thread1Thread1of1ForFork0_~i~0) (<= 1 ~counter~0))} is VALID [2022-02-20 20:56:20,060 INFO L290 TraceCheckUtils]: 35: Hoare triple {5475#(and (<= 1 thread1Thread1of1ForFork0_~i~0) (<= 1 ~counter~0))} [213] L41-4-->L42: Formula: (< v_thread1Thread1of1ForFork0_~i~0_5 v_~M~0_2) InVars {~M~0=v_~M~0_2, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_5} OutVars{~M~0=v_~M~0_2, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_5} AuxVars[] AssignedVars[] {5476#(and (<= 2 ~M~0) (<= 1 ~counter~0))} is VALID [2022-02-20 20:56:20,060 INFO L290 TraceCheckUtils]: 36: Hoare triple {5476#(and (<= 2 ~M~0) (<= 1 ~counter~0))} [150] L71-4-->L71-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1] {5476#(and (<= 2 ~M~0) (<= 1 ~counter~0))} is VALID [2022-02-20 20:56:20,061 INFO L290 TraceCheckUtils]: 37: Hoare triple {5476#(and (<= 2 ~M~0) (<= 1 ~counter~0))} [177] L71-5-->L72: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet7#1=|v_ULTIMATE.start_main_#t~nondet7#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet7#1] {5476#(and (<= 2 ~M~0) (<= 1 ~counter~0))} is VALID [2022-02-20 20:56:20,061 INFO L290 TraceCheckUtils]: 38: Hoare triple {5476#(and (<= 2 ~M~0) (<= 1 ~counter~0))} [206] L72-->L72-1: Formula: (= |v_ULTIMATE.start_main_#t~pre8#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre8#1] {5476#(and (<= 2 ~M~0) (<= 1 ~counter~0))} is VALID [2022-02-20 20:56:20,062 INFO L290 TraceCheckUtils]: 39: Hoare triple {5476#(and (<= 2 ~M~0) (<= 1 ~counter~0))} [130] L72-1-->L72-2: Formula: (= (+ 1 |v_#pthreadsForks_6|) |v_#pthreadsForks_5|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_5|} AuxVars[] AssignedVars[#pthreadsForks] {5476#(and (<= 2 ~M~0) (<= 1 ~counter~0))} is VALID [2022-02-20 20:56:20,062 INFO L290 TraceCheckUtils]: 40: Hoare triple {5476#(and (<= 2 ~M~0) (<= 1 ~counter~0))} [139] L72-2-->L72-3: Formula: (= (store |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3| (store (select |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3|) |v_ULTIMATE.start_main_~#t2~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre8#1_3|)) |v_#memory_int_5|) InVars {#memory_int=|v_#memory_int_6|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} OutVars{#memory_int=|v_#memory_int_5|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} AuxVars[] AssignedVars[#memory_int] {5476#(and (<= 2 ~M~0) (<= 1 ~counter~0))} is VALID [2022-02-20 20:56:20,062 INFO L290 TraceCheckUtils]: 41: Hoare triple {5476#(and (<= 2 ~M~0) (<= 1 ~counter~0))} [230] L72-3-->thread2ENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre8#1_6| v_thread2Thread1of1ForFork1_thidvar0_2) (= 0 v_thread2Thread1of1ForFork1_thidvar1_2) (= 0 v_thread2Thread1of1ForFork1_thidvar2_2)) InVars {ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_6|} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_4|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_12, thread2Thread1of1ForFork1_#t~post4=|v_thread2Thread1of1ForFork1_#t~post4_6|, thread2Thread1of1ForFork1_#t~post3=|v_thread2Thread1of1ForFork1_#t~post3_6|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_4|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_6|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_2, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_2, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_2} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_~i~1, thread2Thread1of1ForFork1_#t~post4, thread2Thread1of1ForFork1_#t~post3, thread2Thread1of1ForFork1_#res.base, thread2Thread1of1ForFork1_thidvar2, thread2Thread1of1ForFork1_thidvar0, thread2Thread1of1ForFork1_thidvar1] {5476#(and (<= 2 ~M~0) (<= 1 ~counter~0))} is VALID [2022-02-20 20:56:20,063 INFO L290 TraceCheckUtils]: 42: Hoare triple {5476#(and (<= 2 ~M~0) (<= 1 ~counter~0))} [215] L42-->L44: Formula: (= (+ v_~counter~0_26 1) v_~counter~0_25) InVars {~counter~0=v_~counter~0_26} OutVars{~counter~0=v_~counter~0_25, thread1Thread1of1ForFork0_#t~post2=|v_thread1Thread1of1ForFork0_#t~post2_1|} AuxVars[] AssignedVars[~counter~0, thread1Thread1of1ForFork0_#t~post2] {5477#(and (<= 2 ~counter~0) (<= 2 ~M~0))} is VALID [2022-02-20 20:56:20,063 INFO L290 TraceCheckUtils]: 43: Hoare triple {5477#(and (<= 2 ~counter~0) (<= 2 ~M~0))} [217] L44-->L41-2: Formula: (= v_thread1Thread1of1ForFork0_~i~0_7 |v_thread1Thread1of1ForFork0_#t~post1_1|) InVars {thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_7} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_7, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1] {5477#(and (<= 2 ~counter~0) (<= 2 ~M~0))} is VALID [2022-02-20 20:56:20,064 INFO L290 TraceCheckUtils]: 44: Hoare triple {5477#(and (<= 2 ~counter~0) (<= 2 ~M~0))} [218] L41-2-->L41-3: Formula: (= v_thread1Thread1of1ForFork0_~i~0_9 (+ |v_thread1Thread1of1ForFork0_#t~post1_3| 1)) InVars {thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_3|} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_9, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_3|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_~i~0] {5477#(and (<= 2 ~counter~0) (<= 2 ~M~0))} is VALID [2022-02-20 20:56:20,064 INFO L290 TraceCheckUtils]: 45: Hoare triple {5477#(and (<= 2 ~counter~0) (<= 2 ~M~0))} [219] L41-3-->L41-4: Formula: true InVars {} OutVars{thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_5|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1] {5477#(and (<= 2 ~counter~0) (<= 2 ~M~0))} is VALID [2022-02-20 20:56:20,065 INFO L290 TraceCheckUtils]: 46: Hoare triple {5477#(and (<= 2 ~counter~0) (<= 2 ~M~0))} [212] L41-4-->L41-5: Formula: (not (< v_thread1Thread1of1ForFork0_~i~0_3 v_~M~0_1)) InVars {~M~0=v_~M~0_1, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_3} OutVars{~M~0=v_~M~0_1, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_3} AuxVars[] AssignedVars[] {5477#(and (<= 2 ~counter~0) (<= 2 ~M~0))} is VALID [2022-02-20 20:56:20,065 INFO L290 TraceCheckUtils]: 47: Hoare triple {5477#(and (<= 2 ~counter~0) (<= 2 ~M~0))} [214] L41-5-->thread1FINAL: Formula: (and (= |v_thread1Thread1of1ForFork0_#res.base_1| 0) (= |v_thread1Thread1of1ForFork0_#res.offset_1| 0)) InVars {} OutVars{thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_1|, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#res.offset] {5477#(and (<= 2 ~counter~0) (<= 2 ~M~0))} is VALID [2022-02-20 20:56:20,065 INFO L290 TraceCheckUtils]: 48: Hoare triple {5477#(and (<= 2 ~counter~0) (<= 2 ~M~0))} [216] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5477#(and (<= 2 ~counter~0) (<= 2 ~M~0))} is VALID [2022-02-20 20:56:20,066 INFO L290 TraceCheckUtils]: 49: Hoare triple {5477#(and (<= 2 ~counter~0) (<= 2 ~M~0))} [200] L72-4-->L72-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre8#1] {5477#(and (<= 2 ~counter~0) (<= 2 ~M~0))} is VALID [2022-02-20 20:56:20,066 INFO L290 TraceCheckUtils]: 50: Hoare triple {5477#(and (<= 2 ~counter~0) (<= 2 ~M~0))} [133] L72-5-->L73: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet9#1=|v_ULTIMATE.start_main_#t~nondet9#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet9#1] {5477#(and (<= 2 ~counter~0) (<= 2 ~M~0))} is VALID [2022-02-20 20:56:20,067 INFO L290 TraceCheckUtils]: 51: Hoare triple {5477#(and (<= 2 ~counter~0) (<= 2 ~M~0))} [168] L73-->L73-1: Formula: (= |v_ULTIMATE.start_main_#t~mem10#1_2| (select (select |v_#memory_int_7| |v_ULTIMATE.start_main_~#t1~0#1.base_4|) |v_ULTIMATE.start_main_~#t1~0#1.offset_4|)) InVars {#memory_int=|v_#memory_int_7|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_4|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_4|} OutVars{#memory_int=|v_#memory_int_7|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_4|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_4|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10#1] {5477#(and (<= 2 ~counter~0) (<= 2 ~M~0))} is VALID [2022-02-20 20:56:20,067 INFO L290 TraceCheckUtils]: 52: Hoare triple {5477#(and (<= 2 ~counter~0) (<= 2 ~M~0))} [231] thread1EXIT-->L73-2: Formula: (and (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem10#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ .cse0 (- 4294967296)))) v_thread1Thread1of1ForFork0_thidvar0_4) (= v_thread1Thread1of1ForFork0_thidvar1_4 0)) InVars {thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|} OutVars{thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|} AuxVars[] AssignedVars[] {5477#(and (<= 2 ~counter~0) (<= 2 ~M~0))} is VALID [2022-02-20 20:56:20,067 INFO L290 TraceCheckUtils]: 53: Hoare triple {5477#(and (<= 2 ~counter~0) (<= 2 ~M~0))} [220] thread2ENTRY-->L54-1: Formula: (= v_thread2Thread1of1ForFork1_~i~1_1 0) InVars {} OutVars{thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_~i~1] {5478#(and (<= 2 ~counter~0) (<= 2 ~M~0) (= thread2Thread1of1ForFork1_~i~1 0))} is VALID [2022-02-20 20:56:20,068 INFO L290 TraceCheckUtils]: 54: Hoare triple {5478#(and (<= 2 ~counter~0) (<= 2 ~M~0) (= thread2Thread1of1ForFork1_~i~1 0))} [223] L54-1-->L53: Formula: (< v_thread2Thread1of1ForFork1_~i~1_5 v_~M~0_4) InVars {~M~0=v_~M~0_4, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_5} OutVars{~M~0=v_~M~0_4, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_5} AuxVars[] AssignedVars[] {5478#(and (<= 2 ~counter~0) (<= 2 ~M~0) (= thread2Thread1of1ForFork1_~i~1 0))} is VALID [2022-02-20 20:56:20,069 INFO L290 TraceCheckUtils]: 55: Hoare triple {5478#(and (<= 2 ~counter~0) (<= 2 ~M~0) (= thread2Thread1of1ForFork1_~i~1 0))} [225] L53-->L54-1: Formula: (let ((.cse0 (< 0 v_~counter~0_In_1))) (or (and .cse0 (= v_~counter~0_In_1 (+ v_~counter~0_Out_2 1)) (= (+ v_thread2Thread1of1ForFork1_~i~1_7 1) v_thread2Thread1of1ForFork1_~i~1_8)) (and (= v_~counter~0_Out_2 v_~counter~0_In_1) (= v_thread2Thread1of1ForFork1_~i~1_8 v_thread2Thread1of1ForFork1_~i~1_7) (not .cse0) (= |v_thread2Thread1of1ForFork1_#t~post3_1| |v_thread2Thread1of1ForFork1_#t~post3_2|) (= |v_thread2Thread1of1ForFork1_#t~post4_2| |v_thread2Thread1of1ForFork1_#t~post4_1|)))) InVars {~counter~0=v_~counter~0_In_1, thread2Thread1of1ForFork1_#t~post4=|v_thread2Thread1of1ForFork1_#t~post4_1|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_7, thread2Thread1of1ForFork1_#t~post3=|v_thread2Thread1of1ForFork1_#t~post3_1|} OutVars{~counter~0=v_~counter~0_Out_2, thread2Thread1of1ForFork1_#t~post4=|v_thread2Thread1of1ForFork1_#t~post4_2|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_8, thread2Thread1of1ForFork1_#t~post3=|v_thread2Thread1of1ForFork1_#t~post3_2|} AuxVars[] AssignedVars[~counter~0, thread2Thread1of1ForFork1_#t~post4, thread2Thread1of1ForFork1_~i~1, thread2Thread1of1ForFork1_#t~post3] {5479#(<= (+ thread2Thread1of1ForFork1_~i~1 1) ~M~0)} is VALID [2022-02-20 20:56:20,069 INFO L290 TraceCheckUtils]: 56: Hoare triple {5479#(<= (+ thread2Thread1of1ForFork1_~i~1 1) ~M~0)} [222] L54-1-->L52-2: Formula: (not (< v_thread2Thread1of1ForFork1_~i~1_3 v_~M~0_3)) InVars {~M~0=v_~M~0_3, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_3} OutVars{~M~0=v_~M~0_3, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_3} AuxVars[] AssignedVars[] {5470#false} is VALID [2022-02-20 20:56:20,069 INFO L290 TraceCheckUtils]: 57: Hoare triple {5470#false} [224] L52-2-->thread2FINAL: Formula: (and (= |v_thread2Thread1of1ForFork1_#res.base_1| 0) (= |v_thread2Thread1of1ForFork1_#res.offset_1| 0)) InVars {} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_1|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_1|} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_#res.base] {5470#false} is VALID [2022-02-20 20:56:20,069 INFO L290 TraceCheckUtils]: 58: Hoare triple {5470#false} [226] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5470#false} is VALID [2022-02-20 20:56:20,069 INFO L290 TraceCheckUtils]: 59: Hoare triple {5470#false} [169] L73-2-->L74: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10#1] {5470#false} is VALID [2022-02-20 20:56:20,070 INFO L290 TraceCheckUtils]: 60: Hoare triple {5470#false} [131] L74-->L74-1: Formula: (= (select (select |v_#memory_int_8| |v_ULTIMATE.start_main_~#t2~0#1.base_4|) |v_ULTIMATE.start_main_~#t2~0#1.offset_4|) |v_ULTIMATE.start_main_#t~mem11#1_2|) InVars {#memory_int=|v_#memory_int_8|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_4|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_2|, #memory_int=|v_#memory_int_8|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_4|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem11#1] {5470#false} is VALID [2022-02-20 20:56:20,070 INFO L290 TraceCheckUtils]: 61: Hoare triple {5470#false} [232] thread2EXIT-->L74-2: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar2_4) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem11#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ (- 4294967296) .cse0))) v_thread2Thread1of1ForFork1_thidvar0_4) (= 0 v_thread2Thread1of1ForFork1_thidvar1_4)) InVars {ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_5|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_5|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} AuxVars[] AssignedVars[] {5470#false} is VALID [2022-02-20 20:56:20,070 INFO L290 TraceCheckUtils]: 62: Hoare triple {5470#false} [173] L74-2-->L76: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem11#1] {5470#false} is VALID [2022-02-20 20:56:20,070 INFO L290 TraceCheckUtils]: 63: Hoare triple {5470#false} [207] L76-->L76-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5470#false} is VALID [2022-02-20 20:56:20,070 INFO L290 TraceCheckUtils]: 64: Hoare triple {5470#false} [186] L76-1-->L76-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3| (ite (not (= v_~counter~0_8 0)) 1 0)) InVars {~counter~0=v_~counter~0_8} OutVars{~counter~0=v_~counter~0_8, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] {5470#false} is VALID [2022-02-20 20:56:20,070 INFO L290 TraceCheckUtils]: 65: Hoare triple {5470#false} [193] L76-2-->L34-2: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_5|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {5470#false} is VALID [2022-02-20 20:56:20,070 INFO L290 TraceCheckUtils]: 66: Hoare triple {5470#false} [174] L34-2-->L35-3: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {5470#false} is VALID [2022-02-20 20:56:20,070 INFO L290 TraceCheckUtils]: 67: Hoare triple {5470#false} [145] L35-3-->L34-3: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_8| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_8|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_8|} AuxVars[] AssignedVars[] {5470#false} is VALID [2022-02-20 20:56:20,071 INFO L290 TraceCheckUtils]: 68: Hoare triple {5470#false} [154] L34-3-->L77: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5470#false} is VALID [2022-02-20 20:56:20,071 INFO L290 TraceCheckUtils]: 69: Hoare triple {5470#false} [146] L77-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5470#false} is VALID [2022-02-20 20:56:20,071 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 0 proven. 8 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 20:56:20,071 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 20:56:20,071 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [422268640] [2022-02-20 20:56:20,072 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [422268640] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 20:56:20,072 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1096096490] [2022-02-20 20:56:20,072 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-02-20 20:56:20,072 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 20:56:20,072 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 20:56:20,073 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 20:56:20,074 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-02-20 20:56:20,124 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2022-02-20 20:56:20,124 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 20:56:20,125 INFO L263 TraceCheckSpWp]: Trace formula consists of 156 conjuncts, 9 conjunts are in the unsatisfiable core [2022-02-20 20:56:20,137 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:56:20,138 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 20:56:20,399 INFO L290 TraceCheckUtils]: 0: Hoare triple {5469#true} [191] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5469#true} is VALID [2022-02-20 20:56:20,400 INFO L290 TraceCheckUtils]: 1: Hoare triple {5469#true} [172] 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] {5469#true} is VALID [2022-02-20 20:56:20,400 INFO L290 TraceCheckUtils]: 2: Hoare triple {5469#true} [197] L-1-1-->L-1-2: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] {5469#true} is VALID [2022-02-20 20:56:20,400 INFO L290 TraceCheckUtils]: 3: Hoare triple {5469#true} [199] L-1-2-->L21: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {5469#true} is VALID [2022-02-20 20:56:20,400 INFO L290 TraceCheckUtils]: 4: Hoare triple {5469#true} [165] L21-->L21-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[] {5469#true} is VALID [2022-02-20 20:56:20,400 INFO L290 TraceCheckUtils]: 5: Hoare triple {5469#true} [187] L21-1-->L21-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[] {5469#true} is VALID [2022-02-20 20:56:20,400 INFO L290 TraceCheckUtils]: 6: Hoare triple {5469#true} [184] L21-2-->L21-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[] {5469#true} is VALID [2022-02-20 20:56:20,400 INFO L290 TraceCheckUtils]: 7: Hoare triple {5469#true} [156] L21-3-->L21-4: Formula: (and (= 30 (select |v_#length_2| 2)) (= (select |v_#valid_3| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {5469#true} is VALID [2022-02-20 20:56:20,401 INFO L290 TraceCheckUtils]: 8: Hoare triple {5469#true} [204] L21-4-->L38: Formula: (= v_~M~0_5 0) InVars {} OutVars{~M~0=v_~M~0_5} AuxVars[] AssignedVars[~M~0] {5469#true} is VALID [2022-02-20 20:56:20,401 INFO L290 TraceCheckUtils]: 9: Hoare triple {5469#true} [205] L38-->L-1-3: Formula: (= v_~counter~0_7 0) InVars {} OutVars{~counter~0=v_~counter~0_7} AuxVars[] AssignedVars[~counter~0] {5469#true} is VALID [2022-02-20 20:56:20,401 INFO L290 TraceCheckUtils]: 10: Hoare triple {5469#true} [201] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5469#true} is VALID [2022-02-20 20:56:20,401 INFO L290 TraceCheckUtils]: 11: Hoare triple {5469#true} [181] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5469#true} is VALID [2022-02-20 20:56:20,401 INFO L290 TraceCheckUtils]: 12: Hoare triple {5469#true} [151] L-1-5-->L-1-6: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {5469#true} is VALID [2022-02-20 20:56:20,401 INFO L290 TraceCheckUtils]: 13: Hoare triple {5469#true} [178] L-1-6-->L65: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_1|, ULTIMATE.start_main_#t~nondet9#1=|v_ULTIMATE.start_main_#t~nondet9#1_1|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_1|, ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_1|, ULTIMATE.start_main_#t~nondet7#1=|v_ULTIMATE.start_main_#t~nondet7#1_1|, ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_1|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_1|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_1|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_1|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_1|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1, ULTIMATE.start_main_#t~nondet9#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_#t~nondet5#1, ULTIMATE.start_main_#t~nondet7#1, ULTIMATE.start_main_#t~mem11#1, ULTIMATE.start_main_#t~pre8#1, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset, ULTIMATE.start_main_#t~mem10#1, ULTIMATE.start_main_~#t2~0#1.base] {5469#true} is VALID [2022-02-20 20:56:20,401 INFO L290 TraceCheckUtils]: 14: Hoare triple {5469#true} [208] L65-->L65-1: Formula: (and (= |v_ULTIMATE.start_main_~#t1~0#1.offset_2| 0) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) 0) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 4)) (not (= |v_ULTIMATE.start_main_~#t1~0#1.base_2| 0)) (= (store |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 1) |v_#valid_4|)) 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_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_2|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[#valid, #length, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset] {5469#true} is VALID [2022-02-20 20:56:20,401 INFO L290 TraceCheckUtils]: 15: Hoare triple {5469#true} [194] L65-1-->L65-2: Formula: (and (= |v_#length_5| (store |v_#length_6| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 4)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2|) 0) (= (store |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 1) |v_#valid_6|) (not (= |v_ULTIMATE.start_main_~#t2~0#1.base_2| 0)) (= 0 |v_ULTIMATE.start_main_~#t2~0#1.offset_2|) (< |v_#StackHeapBarrier_3| |v_ULTIMATE.start_main_~#t2~0#1.base_2|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_7|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_5|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_2|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t2~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t2~0#1.base] {5469#true} is VALID [2022-02-20 20:56:20,402 INFO L290 TraceCheckUtils]: 16: Hoare triple {5469#true} [171] L65-2-->L67: Formula: (and (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet5#1_2| 2147483648)) (<= |v_ULTIMATE.start_main_#t~nondet5#1_2| 2147483647)) InVars {ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_2|} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_2|} AuxVars[] AssignedVars[] {5469#true} is VALID [2022-02-20 20:56:20,402 INFO L290 TraceCheckUtils]: 17: Hoare triple {5469#true} [190] L67-->L67-1: Formula: (= |v_ULTIMATE.start_main_#t~nondet5#1_3| v_~M~0_6) InVars {ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_3|} OutVars{~M~0=v_~M~0_6, ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_3|} AuxVars[] AssignedVars[~M~0] {5469#true} is VALID [2022-02-20 20:56:20,402 INFO L290 TraceCheckUtils]: 18: Hoare triple {5469#true} [162] L67-1-->L68: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet5#1] {5469#true} is VALID [2022-02-20 20:56:20,402 INFO L290 TraceCheckUtils]: 19: Hoare triple {5469#true} [196] L68-->L68-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5469#true} is VALID [2022-02-20 20:56:20,402 INFO L290 TraceCheckUtils]: 20: Hoare triple {5469#true} [160] L68-1-->L68-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1| (ite (< 0 v_~M~0_7) 1 0)) InVars {~M~0=v_~M~0_7} OutVars{~M~0=v_~M~0_7, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] {5469#true} is VALID [2022-02-20 20:56:20,402 INFO L290 TraceCheckUtils]: 21: Hoare triple {5469#true} [143] L68-2-->L34: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {5469#true} is VALID [2022-02-20 20:56:20,402 INFO L290 TraceCheckUtils]: 22: Hoare triple {5469#true} [164] L34-->L35: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_2|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_2|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {5469#true} is VALID [2022-02-20 20:56:20,402 INFO L290 TraceCheckUtils]: 23: Hoare triple {5469#true} [189] L35-->L34-1: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_4| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_4|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_4|} AuxVars[] AssignedVars[] {5469#true} is VALID [2022-02-20 20:56:20,403 INFO L290 TraceCheckUtils]: 24: Hoare triple {5469#true} [182] L34-1-->L71: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5469#true} is VALID [2022-02-20 20:56:20,403 INFO L290 TraceCheckUtils]: 25: Hoare triple {5469#true} [135] L71-->L71-1: Formula: (= |v_ULTIMATE.start_main_#t~pre6#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1] {5469#true} is VALID [2022-02-20 20:56:20,403 INFO L290 TraceCheckUtils]: 26: Hoare triple {5469#true} [159] L71-1-->L71-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {5469#true} is VALID [2022-02-20 20:56:20,403 INFO L290 TraceCheckUtils]: 27: Hoare triple {5469#true} [198] L71-2-->L71-3: Formula: (= (store |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3| (store (select |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3|) |v_ULTIMATE.start_main_~#t1~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre6#1_3|)) |v_#memory_int_3|) InVars {#memory_int=|v_#memory_int_4|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} OutVars{#memory_int=|v_#memory_int_3|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} AuxVars[] AssignedVars[#memory_int] {5469#true} is VALID [2022-02-20 20:56:20,403 INFO L290 TraceCheckUtils]: 28: Hoare triple {5469#true} [228] L71-3-->thread1ENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre6#1_6| v_thread1Thread1of1ForFork0_thidvar0_2) (= v_thread1Thread1of1ForFork0_thidvar1_2 0)) InVars {ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_6|} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_6|, thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_4|, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_8|, thread1Thread1of1ForFork0_#t~post2=|v_thread1Thread1of1ForFork0_#t~post2_4|, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_12, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_2, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_4|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_2} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#t~post1, thread1Thread1of1ForFork0_#t~post2, thread1Thread1of1ForFork0_~i~0, thread1Thread1of1ForFork0_thidvar0, thread1Thread1of1ForFork0_#res.offset, thread1Thread1of1ForFork0_thidvar1] {5469#true} is VALID [2022-02-20 20:56:20,404 INFO L290 TraceCheckUtils]: 29: Hoare triple {5469#true} [210] thread1ENTRY-->L41-4: Formula: (= v_thread1Thread1of1ForFork0_~i~0_1 0) InVars {} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_1} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_~i~0] {5570#(<= 0 thread1Thread1of1ForFork0_~i~0)} is VALID [2022-02-20 20:56:20,404 INFO L290 TraceCheckUtils]: 30: Hoare triple {5570#(<= 0 thread1Thread1of1ForFork0_~i~0)} [213] L41-4-->L42: Formula: (< v_thread1Thread1of1ForFork0_~i~0_5 v_~M~0_2) InVars {~M~0=v_~M~0_2, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_5} OutVars{~M~0=v_~M~0_2, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_5} AuxVars[] AssignedVars[] {5570#(<= 0 thread1Thread1of1ForFork0_~i~0)} is VALID [2022-02-20 20:56:20,404 INFO L290 TraceCheckUtils]: 31: Hoare triple {5570#(<= 0 thread1Thread1of1ForFork0_~i~0)} [215] L42-->L44: Formula: (= (+ v_~counter~0_26 1) v_~counter~0_25) InVars {~counter~0=v_~counter~0_26} OutVars{~counter~0=v_~counter~0_25, thread1Thread1of1ForFork0_#t~post2=|v_thread1Thread1of1ForFork0_#t~post2_1|} AuxVars[] AssignedVars[~counter~0, thread1Thread1of1ForFork0_#t~post2] {5570#(<= 0 thread1Thread1of1ForFork0_~i~0)} is VALID [2022-02-20 20:56:20,405 INFO L290 TraceCheckUtils]: 32: Hoare triple {5570#(<= 0 thread1Thread1of1ForFork0_~i~0)} [217] L44-->L41-2: Formula: (= v_thread1Thread1of1ForFork0_~i~0_7 |v_thread1Thread1of1ForFork0_#t~post1_1|) InVars {thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_7} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_7, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1] {5580#(<= 0 |thread1Thread1of1ForFork0_#t~post1|)} is VALID [2022-02-20 20:56:20,405 INFO L290 TraceCheckUtils]: 33: Hoare triple {5580#(<= 0 |thread1Thread1of1ForFork0_#t~post1|)} [218] L41-2-->L41-3: Formula: (= v_thread1Thread1of1ForFork0_~i~0_9 (+ |v_thread1Thread1of1ForFork0_#t~post1_3| 1)) InVars {thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_3|} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_9, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_3|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_~i~0] {5584#(<= 1 thread1Thread1of1ForFork0_~i~0)} is VALID [2022-02-20 20:56:20,405 INFO L290 TraceCheckUtils]: 34: Hoare triple {5584#(<= 1 thread1Thread1of1ForFork0_~i~0)} [219] L41-3-->L41-4: Formula: true InVars {} OutVars{thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_5|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1] {5584#(<= 1 thread1Thread1of1ForFork0_~i~0)} is VALID [2022-02-20 20:56:20,406 INFO L290 TraceCheckUtils]: 35: Hoare triple {5584#(<= 1 thread1Thread1of1ForFork0_~i~0)} [213] L41-4-->L42: Formula: (< v_thread1Thread1of1ForFork0_~i~0_5 v_~M~0_2) InVars {~M~0=v_~M~0_2, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_5} OutVars{~M~0=v_~M~0_2, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_5} AuxVars[] AssignedVars[] {5591#(< 1 ~M~0)} is VALID [2022-02-20 20:56:20,406 INFO L290 TraceCheckUtils]: 36: Hoare triple {5591#(< 1 ~M~0)} [150] L71-4-->L71-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1] {5591#(< 1 ~M~0)} is VALID [2022-02-20 20:56:20,406 INFO L290 TraceCheckUtils]: 37: Hoare triple {5591#(< 1 ~M~0)} [177] L71-5-->L72: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet7#1=|v_ULTIMATE.start_main_#t~nondet7#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet7#1] {5591#(< 1 ~M~0)} is VALID [2022-02-20 20:56:20,407 INFO L290 TraceCheckUtils]: 38: Hoare triple {5591#(< 1 ~M~0)} [206] L72-->L72-1: Formula: (= |v_ULTIMATE.start_main_#t~pre8#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre8#1] {5591#(< 1 ~M~0)} is VALID [2022-02-20 20:56:20,407 INFO L290 TraceCheckUtils]: 39: Hoare triple {5591#(< 1 ~M~0)} [130] L72-1-->L72-2: Formula: (= (+ 1 |v_#pthreadsForks_6|) |v_#pthreadsForks_5|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_5|} AuxVars[] AssignedVars[#pthreadsForks] {5591#(< 1 ~M~0)} is VALID [2022-02-20 20:56:20,407 INFO L290 TraceCheckUtils]: 40: Hoare triple {5591#(< 1 ~M~0)} [139] L72-2-->L72-3: Formula: (= (store |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3| (store (select |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3|) |v_ULTIMATE.start_main_~#t2~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre8#1_3|)) |v_#memory_int_5|) InVars {#memory_int=|v_#memory_int_6|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} OutVars{#memory_int=|v_#memory_int_5|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} AuxVars[] AssignedVars[#memory_int] {5591#(< 1 ~M~0)} is VALID [2022-02-20 20:56:20,408 INFO L290 TraceCheckUtils]: 41: Hoare triple {5591#(< 1 ~M~0)} [230] L72-3-->thread2ENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre8#1_6| v_thread2Thread1of1ForFork1_thidvar0_2) (= 0 v_thread2Thread1of1ForFork1_thidvar1_2) (= 0 v_thread2Thread1of1ForFork1_thidvar2_2)) InVars {ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_6|} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_4|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_12, thread2Thread1of1ForFork1_#t~post4=|v_thread2Thread1of1ForFork1_#t~post4_6|, thread2Thread1of1ForFork1_#t~post3=|v_thread2Thread1of1ForFork1_#t~post3_6|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_4|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_6|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_2, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_2, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_2} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_~i~1, thread2Thread1of1ForFork1_#t~post4, thread2Thread1of1ForFork1_#t~post3, thread2Thread1of1ForFork1_#res.base, thread2Thread1of1ForFork1_thidvar2, thread2Thread1of1ForFork1_thidvar0, thread2Thread1of1ForFork1_thidvar1] {5591#(< 1 ~M~0)} is VALID [2022-02-20 20:56:20,408 INFO L290 TraceCheckUtils]: 42: Hoare triple {5591#(< 1 ~M~0)} [215] L42-->L44: Formula: (= (+ v_~counter~0_26 1) v_~counter~0_25) InVars {~counter~0=v_~counter~0_26} OutVars{~counter~0=v_~counter~0_25, thread1Thread1of1ForFork0_#t~post2=|v_thread1Thread1of1ForFork0_#t~post2_1|} AuxVars[] AssignedVars[~counter~0, thread1Thread1of1ForFork0_#t~post2] {5591#(< 1 ~M~0)} is VALID [2022-02-20 20:56:20,408 INFO L290 TraceCheckUtils]: 43: Hoare triple {5591#(< 1 ~M~0)} [217] L44-->L41-2: Formula: (= v_thread1Thread1of1ForFork0_~i~0_7 |v_thread1Thread1of1ForFork0_#t~post1_1|) InVars {thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_7} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_7, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1] {5591#(< 1 ~M~0)} is VALID [2022-02-20 20:56:20,409 INFO L290 TraceCheckUtils]: 44: Hoare triple {5591#(< 1 ~M~0)} [218] L41-2-->L41-3: Formula: (= v_thread1Thread1of1ForFork0_~i~0_9 (+ |v_thread1Thread1of1ForFork0_#t~post1_3| 1)) InVars {thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_3|} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_9, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_3|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_~i~0] {5591#(< 1 ~M~0)} is VALID [2022-02-20 20:56:20,409 INFO L290 TraceCheckUtils]: 45: Hoare triple {5591#(< 1 ~M~0)} [219] L41-3-->L41-4: Formula: true InVars {} OutVars{thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_5|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1] {5591#(< 1 ~M~0)} is VALID [2022-02-20 20:56:20,410 INFO L290 TraceCheckUtils]: 46: Hoare triple {5591#(< 1 ~M~0)} [212] L41-4-->L41-5: Formula: (not (< v_thread1Thread1of1ForFork0_~i~0_3 v_~M~0_1)) InVars {~M~0=v_~M~0_1, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_3} OutVars{~M~0=v_~M~0_1, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_3} AuxVars[] AssignedVars[] {5591#(< 1 ~M~0)} is VALID [2022-02-20 20:56:20,410 INFO L290 TraceCheckUtils]: 47: Hoare triple {5591#(< 1 ~M~0)} [214] L41-5-->thread1FINAL: Formula: (and (= |v_thread1Thread1of1ForFork0_#res.base_1| 0) (= |v_thread1Thread1of1ForFork0_#res.offset_1| 0)) InVars {} OutVars{thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_1|, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#res.offset] {5591#(< 1 ~M~0)} is VALID [2022-02-20 20:56:20,410 INFO L290 TraceCheckUtils]: 48: Hoare triple {5591#(< 1 ~M~0)} [216] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5591#(< 1 ~M~0)} is VALID [2022-02-20 20:56:20,411 INFO L290 TraceCheckUtils]: 49: Hoare triple {5591#(< 1 ~M~0)} [200] L72-4-->L72-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre8#1] {5591#(< 1 ~M~0)} is VALID [2022-02-20 20:56:20,411 INFO L290 TraceCheckUtils]: 50: Hoare triple {5591#(< 1 ~M~0)} [133] L72-5-->L73: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet9#1=|v_ULTIMATE.start_main_#t~nondet9#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet9#1] {5591#(< 1 ~M~0)} is VALID [2022-02-20 20:56:20,411 INFO L290 TraceCheckUtils]: 51: Hoare triple {5591#(< 1 ~M~0)} [168] L73-->L73-1: Formula: (= |v_ULTIMATE.start_main_#t~mem10#1_2| (select (select |v_#memory_int_7| |v_ULTIMATE.start_main_~#t1~0#1.base_4|) |v_ULTIMATE.start_main_~#t1~0#1.offset_4|)) InVars {#memory_int=|v_#memory_int_7|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_4|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_4|} OutVars{#memory_int=|v_#memory_int_7|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_4|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_4|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10#1] {5591#(< 1 ~M~0)} is VALID [2022-02-20 20:56:20,412 INFO L290 TraceCheckUtils]: 52: Hoare triple {5591#(< 1 ~M~0)} [231] thread1EXIT-->L73-2: Formula: (and (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem10#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ .cse0 (- 4294967296)))) v_thread1Thread1of1ForFork0_thidvar0_4) (= v_thread1Thread1of1ForFork0_thidvar1_4 0)) InVars {thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|} OutVars{thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|} AuxVars[] AssignedVars[] {5591#(< 1 ~M~0)} is VALID [2022-02-20 20:56:20,412 INFO L290 TraceCheckUtils]: 53: Hoare triple {5591#(< 1 ~M~0)} [220] thread2ENTRY-->L54-1: Formula: (= v_thread2Thread1of1ForFork1_~i~1_1 0) InVars {} OutVars{thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_~i~1] {5646#(and (= thread2Thread1of1ForFork1_~i~1 0) (< 1 ~M~0))} is VALID [2022-02-20 20:56:20,412 INFO L290 TraceCheckUtils]: 54: Hoare triple {5646#(and (= thread2Thread1of1ForFork1_~i~1 0) (< 1 ~M~0))} [223] L54-1-->L53: Formula: (< v_thread2Thread1of1ForFork1_~i~1_5 v_~M~0_4) InVars {~M~0=v_~M~0_4, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_5} OutVars{~M~0=v_~M~0_4, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_5} AuxVars[] AssignedVars[] {5646#(and (= thread2Thread1of1ForFork1_~i~1 0) (< 1 ~M~0))} is VALID [2022-02-20 20:56:20,413 INFO L290 TraceCheckUtils]: 55: Hoare triple {5646#(and (= thread2Thread1of1ForFork1_~i~1 0) (< 1 ~M~0))} [225] L53-->L54-1: Formula: (let ((.cse0 (< 0 v_~counter~0_In_1))) (or (and .cse0 (= v_~counter~0_In_1 (+ v_~counter~0_Out_2 1)) (= (+ v_thread2Thread1of1ForFork1_~i~1_7 1) v_thread2Thread1of1ForFork1_~i~1_8)) (and (= v_~counter~0_Out_2 v_~counter~0_In_1) (= v_thread2Thread1of1ForFork1_~i~1_8 v_thread2Thread1of1ForFork1_~i~1_7) (not .cse0) (= |v_thread2Thread1of1ForFork1_#t~post3_1| |v_thread2Thread1of1ForFork1_#t~post3_2|) (= |v_thread2Thread1of1ForFork1_#t~post4_2| |v_thread2Thread1of1ForFork1_#t~post4_1|)))) InVars {~counter~0=v_~counter~0_In_1, thread2Thread1of1ForFork1_#t~post4=|v_thread2Thread1of1ForFork1_#t~post4_1|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_7, thread2Thread1of1ForFork1_#t~post3=|v_thread2Thread1of1ForFork1_#t~post3_1|} OutVars{~counter~0=v_~counter~0_Out_2, thread2Thread1of1ForFork1_#t~post4=|v_thread2Thread1of1ForFork1_#t~post4_2|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_8, thread2Thread1of1ForFork1_#t~post3=|v_thread2Thread1of1ForFork1_#t~post3_2|} AuxVars[] AssignedVars[~counter~0, thread2Thread1of1ForFork1_#t~post4, thread2Thread1of1ForFork1_~i~1, thread2Thread1of1ForFork1_#t~post3] {5653#(and (or (= thread2Thread1of1ForFork1_~i~1 1) (= thread2Thread1of1ForFork1_~i~1 0)) (< 1 ~M~0))} is VALID [2022-02-20 20:56:20,413 INFO L290 TraceCheckUtils]: 56: Hoare triple {5653#(and (or (= thread2Thread1of1ForFork1_~i~1 1) (= thread2Thread1of1ForFork1_~i~1 0)) (< 1 ~M~0))} [222] L54-1-->L52-2: Formula: (not (< v_thread2Thread1of1ForFork1_~i~1_3 v_~M~0_3)) InVars {~M~0=v_~M~0_3, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_3} OutVars{~M~0=v_~M~0_3, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_3} AuxVars[] AssignedVars[] {5470#false} is VALID [2022-02-20 20:56:20,413 INFO L290 TraceCheckUtils]: 57: Hoare triple {5470#false} [224] L52-2-->thread2FINAL: Formula: (and (= |v_thread2Thread1of1ForFork1_#res.base_1| 0) (= |v_thread2Thread1of1ForFork1_#res.offset_1| 0)) InVars {} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_1|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_1|} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_#res.base] {5470#false} is VALID [2022-02-20 20:56:20,414 INFO L290 TraceCheckUtils]: 58: Hoare triple {5470#false} [226] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5470#false} is VALID [2022-02-20 20:56:20,414 INFO L290 TraceCheckUtils]: 59: Hoare triple {5470#false} [169] L73-2-->L74: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10#1] {5470#false} is VALID [2022-02-20 20:56:20,414 INFO L290 TraceCheckUtils]: 60: Hoare triple {5470#false} [131] L74-->L74-1: Formula: (= (select (select |v_#memory_int_8| |v_ULTIMATE.start_main_~#t2~0#1.base_4|) |v_ULTIMATE.start_main_~#t2~0#1.offset_4|) |v_ULTIMATE.start_main_#t~mem11#1_2|) InVars {#memory_int=|v_#memory_int_8|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_4|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_2|, #memory_int=|v_#memory_int_8|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_4|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem11#1] {5470#false} is VALID [2022-02-20 20:56:20,414 INFO L290 TraceCheckUtils]: 61: Hoare triple {5470#false} [232] thread2EXIT-->L74-2: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar2_4) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem11#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ (- 4294967296) .cse0))) v_thread2Thread1of1ForFork1_thidvar0_4) (= 0 v_thread2Thread1of1ForFork1_thidvar1_4)) InVars {ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_5|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_5|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} AuxVars[] AssignedVars[] {5470#false} is VALID [2022-02-20 20:56:20,414 INFO L290 TraceCheckUtils]: 62: Hoare triple {5470#false} [173] L74-2-->L76: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem11#1] {5470#false} is VALID [2022-02-20 20:56:20,414 INFO L290 TraceCheckUtils]: 63: Hoare triple {5470#false} [207] L76-->L76-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5470#false} is VALID [2022-02-20 20:56:20,414 INFO L290 TraceCheckUtils]: 64: Hoare triple {5470#false} [186] L76-1-->L76-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3| (ite (not (= v_~counter~0_8 0)) 1 0)) InVars {~counter~0=v_~counter~0_8} OutVars{~counter~0=v_~counter~0_8, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] {5470#false} is VALID [2022-02-20 20:56:20,414 INFO L290 TraceCheckUtils]: 65: Hoare triple {5470#false} [193] L76-2-->L34-2: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_5|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {5470#false} is VALID [2022-02-20 20:56:20,415 INFO L290 TraceCheckUtils]: 66: Hoare triple {5470#false} [174] L34-2-->L35-3: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {5470#false} is VALID [2022-02-20 20:56:20,415 INFO L290 TraceCheckUtils]: 67: Hoare triple {5470#false} [145] L35-3-->L34-3: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_8| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_8|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_8|} AuxVars[] AssignedVars[] {5470#false} is VALID [2022-02-20 20:56:20,415 INFO L290 TraceCheckUtils]: 68: Hoare triple {5470#false} [154] L34-3-->L77: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5470#false} is VALID [2022-02-20 20:56:20,415 INFO L290 TraceCheckUtils]: 69: Hoare triple {5470#false} [146] L77-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5470#false} is VALID [2022-02-20 20:56:20,415 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 1 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 20:56:20,415 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 20:56:20,831 INFO L290 TraceCheckUtils]: 69: Hoare triple {5470#false} [146] L77-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5470#false} is VALID [2022-02-20 20:56:20,832 INFO L290 TraceCheckUtils]: 68: Hoare triple {5470#false} [154] L34-3-->L77: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5470#false} is VALID [2022-02-20 20:56:20,832 INFO L290 TraceCheckUtils]: 67: Hoare triple {5470#false} [145] L35-3-->L34-3: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_8| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_8|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_8|} AuxVars[] AssignedVars[] {5470#false} is VALID [2022-02-20 20:56:20,832 INFO L290 TraceCheckUtils]: 66: Hoare triple {5470#false} [174] L34-2-->L35-3: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {5470#false} is VALID [2022-02-20 20:56:20,832 INFO L290 TraceCheckUtils]: 65: Hoare triple {5470#false} [193] L76-2-->L34-2: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_5|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {5470#false} is VALID [2022-02-20 20:56:20,832 INFO L290 TraceCheckUtils]: 64: Hoare triple {5470#false} [186] L76-1-->L76-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3| (ite (not (= v_~counter~0_8 0)) 1 0)) InVars {~counter~0=v_~counter~0_8} OutVars{~counter~0=v_~counter~0_8, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] {5470#false} is VALID [2022-02-20 20:56:20,832 INFO L290 TraceCheckUtils]: 63: Hoare triple {5470#false} [207] L76-->L76-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5470#false} is VALID [2022-02-20 20:56:20,833 INFO L290 TraceCheckUtils]: 62: Hoare triple {5470#false} [173] L74-2-->L76: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem11#1] {5470#false} is VALID [2022-02-20 20:56:20,833 INFO L290 TraceCheckUtils]: 61: Hoare triple {5470#false} [232] thread2EXIT-->L74-2: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar2_4) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem11#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ (- 4294967296) .cse0))) v_thread2Thread1of1ForFork1_thidvar0_4) (= 0 v_thread2Thread1of1ForFork1_thidvar1_4)) InVars {ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_5|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_5|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} AuxVars[] AssignedVars[] {5470#false} is VALID [2022-02-20 20:56:20,833 INFO L290 TraceCheckUtils]: 60: Hoare triple {5470#false} [131] L74-->L74-1: Formula: (= (select (select |v_#memory_int_8| |v_ULTIMATE.start_main_~#t2~0#1.base_4|) |v_ULTIMATE.start_main_~#t2~0#1.offset_4|) |v_ULTIMATE.start_main_#t~mem11#1_2|) InVars {#memory_int=|v_#memory_int_8|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_4|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_2|, #memory_int=|v_#memory_int_8|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_4|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem11#1] {5470#false} is VALID [2022-02-20 20:56:20,833 INFO L290 TraceCheckUtils]: 59: Hoare triple {5470#false} [169] L73-2-->L74: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10#1] {5470#false} is VALID [2022-02-20 20:56:20,833 INFO L290 TraceCheckUtils]: 58: Hoare triple {5470#false} [226] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5470#false} is VALID [2022-02-20 20:56:20,833 INFO L290 TraceCheckUtils]: 57: Hoare triple {5470#false} [224] L52-2-->thread2FINAL: Formula: (and (= |v_thread2Thread1of1ForFork1_#res.base_1| 0) (= |v_thread2Thread1of1ForFork1_#res.offset_1| 0)) InVars {} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_1|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_1|} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_#res.base] {5470#false} is VALID [2022-02-20 20:56:20,834 INFO L290 TraceCheckUtils]: 56: Hoare triple {5479#(<= (+ thread2Thread1of1ForFork1_~i~1 1) ~M~0)} [222] L54-1-->L52-2: Formula: (not (< v_thread2Thread1of1ForFork1_~i~1_3 v_~M~0_3)) InVars {~M~0=v_~M~0_3, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_3} OutVars{~M~0=v_~M~0_3, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_3} AuxVars[] AssignedVars[] {5470#false} is VALID [2022-02-20 20:56:20,835 INFO L290 TraceCheckUtils]: 55: Hoare triple {5738#(<= (+ 2 thread2Thread1of1ForFork1_~i~1) ~M~0)} [225] L53-->L54-1: Formula: (let ((.cse0 (< 0 v_~counter~0_In_1))) (or (and .cse0 (= v_~counter~0_In_1 (+ v_~counter~0_Out_2 1)) (= (+ v_thread2Thread1of1ForFork1_~i~1_7 1) v_thread2Thread1of1ForFork1_~i~1_8)) (and (= v_~counter~0_Out_2 v_~counter~0_In_1) (= v_thread2Thread1of1ForFork1_~i~1_8 v_thread2Thread1of1ForFork1_~i~1_7) (not .cse0) (= |v_thread2Thread1of1ForFork1_#t~post3_1| |v_thread2Thread1of1ForFork1_#t~post3_2|) (= |v_thread2Thread1of1ForFork1_#t~post4_2| |v_thread2Thread1of1ForFork1_#t~post4_1|)))) InVars {~counter~0=v_~counter~0_In_1, thread2Thread1of1ForFork1_#t~post4=|v_thread2Thread1of1ForFork1_#t~post4_1|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_7, thread2Thread1of1ForFork1_#t~post3=|v_thread2Thread1of1ForFork1_#t~post3_1|} OutVars{~counter~0=v_~counter~0_Out_2, thread2Thread1of1ForFork1_#t~post4=|v_thread2Thread1of1ForFork1_#t~post4_2|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_8, thread2Thread1of1ForFork1_#t~post3=|v_thread2Thread1of1ForFork1_#t~post3_2|} AuxVars[] AssignedVars[~counter~0, thread2Thread1of1ForFork1_#t~post4, thread2Thread1of1ForFork1_~i~1, thread2Thread1of1ForFork1_#t~post3] {5479#(<= (+ thread2Thread1of1ForFork1_~i~1 1) ~M~0)} is VALID [2022-02-20 20:56:20,835 INFO L290 TraceCheckUtils]: 54: Hoare triple {5742#(or (not (< thread2Thread1of1ForFork1_~i~1 ~M~0)) (<= (+ 2 thread2Thread1of1ForFork1_~i~1) ~M~0))} [223] L54-1-->L53: Formula: (< v_thread2Thread1of1ForFork1_~i~1_5 v_~M~0_4) InVars {~M~0=v_~M~0_4, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_5} OutVars{~M~0=v_~M~0_4, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_5} AuxVars[] AssignedVars[] {5738#(<= (+ 2 thread2Thread1of1ForFork1_~i~1) ~M~0)} is VALID [2022-02-20 20:56:20,835 INFO L290 TraceCheckUtils]: 53: Hoare triple {5746#(or (<= 2 ~M~0) (not (< 0 ~M~0)))} [220] thread2ENTRY-->L54-1: Formula: (= v_thread2Thread1of1ForFork1_~i~1_1 0) InVars {} OutVars{thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_~i~1] {5742#(or (not (< thread2Thread1of1ForFork1_~i~1 ~M~0)) (<= (+ 2 thread2Thread1of1ForFork1_~i~1) ~M~0))} is VALID [2022-02-20 20:56:20,836 INFO L290 TraceCheckUtils]: 52: Hoare triple {5746#(or (<= 2 ~M~0) (not (< 0 ~M~0)))} [231] thread1EXIT-->L73-2: Formula: (and (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem10#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ .cse0 (- 4294967296)))) v_thread1Thread1of1ForFork0_thidvar0_4) (= v_thread1Thread1of1ForFork0_thidvar1_4 0)) InVars {thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|} OutVars{thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|} AuxVars[] AssignedVars[] {5746#(or (<= 2 ~M~0) (not (< 0 ~M~0)))} is VALID [2022-02-20 20:56:20,836 INFO L290 TraceCheckUtils]: 51: Hoare triple {5746#(or (<= 2 ~M~0) (not (< 0 ~M~0)))} [168] L73-->L73-1: Formula: (= |v_ULTIMATE.start_main_#t~mem10#1_2| (select (select |v_#memory_int_7| |v_ULTIMATE.start_main_~#t1~0#1.base_4|) |v_ULTIMATE.start_main_~#t1~0#1.offset_4|)) InVars {#memory_int=|v_#memory_int_7|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_4|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_4|} OutVars{#memory_int=|v_#memory_int_7|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_4|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_4|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10#1] {5746#(or (<= 2 ~M~0) (not (< 0 ~M~0)))} is VALID [2022-02-20 20:56:20,837 INFO L290 TraceCheckUtils]: 50: Hoare triple {5746#(or (<= 2 ~M~0) (not (< 0 ~M~0)))} [133] L72-5-->L73: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet9#1=|v_ULTIMATE.start_main_#t~nondet9#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet9#1] {5746#(or (<= 2 ~M~0) (not (< 0 ~M~0)))} is VALID [2022-02-20 20:56:20,837 INFO L290 TraceCheckUtils]: 49: Hoare triple {5746#(or (<= 2 ~M~0) (not (< 0 ~M~0)))} [200] L72-4-->L72-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre8#1] {5746#(or (<= 2 ~M~0) (not (< 0 ~M~0)))} is VALID [2022-02-20 20:56:20,837 INFO L290 TraceCheckUtils]: 48: Hoare triple {5746#(or (<= 2 ~M~0) (not (< 0 ~M~0)))} [216] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5746#(or (<= 2 ~M~0) (not (< 0 ~M~0)))} is VALID [2022-02-20 20:56:20,838 INFO L290 TraceCheckUtils]: 47: Hoare triple {5746#(or (<= 2 ~M~0) (not (< 0 ~M~0)))} [214] L41-5-->thread1FINAL: Formula: (and (= |v_thread1Thread1of1ForFork0_#res.base_1| 0) (= |v_thread1Thread1of1ForFork0_#res.offset_1| 0)) InVars {} OutVars{thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_1|, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#res.offset] {5746#(or (<= 2 ~M~0) (not (< 0 ~M~0)))} is VALID [2022-02-20 20:56:20,838 INFO L290 TraceCheckUtils]: 46: Hoare triple {5746#(or (<= 2 ~M~0) (not (< 0 ~M~0)))} [212] L41-4-->L41-5: Formula: (not (< v_thread1Thread1of1ForFork0_~i~0_3 v_~M~0_1)) InVars {~M~0=v_~M~0_1, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_3} OutVars{~M~0=v_~M~0_1, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_3} AuxVars[] AssignedVars[] {5746#(or (<= 2 ~M~0) (not (< 0 ~M~0)))} is VALID [2022-02-20 20:56:20,839 INFO L290 TraceCheckUtils]: 45: Hoare triple {5746#(or (<= 2 ~M~0) (not (< 0 ~M~0)))} [219] L41-3-->L41-4: Formula: true InVars {} OutVars{thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_5|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1] {5746#(or (<= 2 ~M~0) (not (< 0 ~M~0)))} is VALID [2022-02-20 20:56:20,839 INFO L290 TraceCheckUtils]: 44: Hoare triple {5746#(or (<= 2 ~M~0) (not (< 0 ~M~0)))} [218] L41-2-->L41-3: Formula: (= v_thread1Thread1of1ForFork0_~i~0_9 (+ |v_thread1Thread1of1ForFork0_#t~post1_3| 1)) InVars {thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_3|} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_9, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_3|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_~i~0] {5746#(or (<= 2 ~M~0) (not (< 0 ~M~0)))} is VALID [2022-02-20 20:56:20,840 INFO L290 TraceCheckUtils]: 43: Hoare triple {5746#(or (<= 2 ~M~0) (not (< 0 ~M~0)))} [217] L44-->L41-2: Formula: (= v_thread1Thread1of1ForFork0_~i~0_7 |v_thread1Thread1of1ForFork0_#t~post1_1|) InVars {thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_7} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_7, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1] {5746#(or (<= 2 ~M~0) (not (< 0 ~M~0)))} is VALID [2022-02-20 20:56:20,840 INFO L290 TraceCheckUtils]: 42: Hoare triple {5746#(or (<= 2 ~M~0) (not (< 0 ~M~0)))} [215] L42-->L44: Formula: (= (+ v_~counter~0_26 1) v_~counter~0_25) InVars {~counter~0=v_~counter~0_26} OutVars{~counter~0=v_~counter~0_25, thread1Thread1of1ForFork0_#t~post2=|v_thread1Thread1of1ForFork0_#t~post2_1|} AuxVars[] AssignedVars[~counter~0, thread1Thread1of1ForFork0_#t~post2] {5746#(or (<= 2 ~M~0) (not (< 0 ~M~0)))} is VALID [2022-02-20 20:56:20,840 INFO L290 TraceCheckUtils]: 41: Hoare triple {5746#(or (<= 2 ~M~0) (not (< 0 ~M~0)))} [230] L72-3-->thread2ENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre8#1_6| v_thread2Thread1of1ForFork1_thidvar0_2) (= 0 v_thread2Thread1of1ForFork1_thidvar1_2) (= 0 v_thread2Thread1of1ForFork1_thidvar2_2)) InVars {ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_6|} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_4|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_12, thread2Thread1of1ForFork1_#t~post4=|v_thread2Thread1of1ForFork1_#t~post4_6|, thread2Thread1of1ForFork1_#t~post3=|v_thread2Thread1of1ForFork1_#t~post3_6|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_4|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_6|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_2, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_2, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_2} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_~i~1, thread2Thread1of1ForFork1_#t~post4, thread2Thread1of1ForFork1_#t~post3, thread2Thread1of1ForFork1_#res.base, thread2Thread1of1ForFork1_thidvar2, thread2Thread1of1ForFork1_thidvar0, thread2Thread1of1ForFork1_thidvar1] {5746#(or (<= 2 ~M~0) (not (< 0 ~M~0)))} is VALID [2022-02-20 20:56:20,841 INFO L290 TraceCheckUtils]: 40: Hoare triple {5746#(or (<= 2 ~M~0) (not (< 0 ~M~0)))} [139] L72-2-->L72-3: Formula: (= (store |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3| (store (select |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3|) |v_ULTIMATE.start_main_~#t2~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre8#1_3|)) |v_#memory_int_5|) InVars {#memory_int=|v_#memory_int_6|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} OutVars{#memory_int=|v_#memory_int_5|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} AuxVars[] AssignedVars[#memory_int] {5746#(or (<= 2 ~M~0) (not (< 0 ~M~0)))} is VALID [2022-02-20 20:56:20,841 INFO L290 TraceCheckUtils]: 39: Hoare triple {5746#(or (<= 2 ~M~0) (not (< 0 ~M~0)))} [130] L72-1-->L72-2: Formula: (= (+ 1 |v_#pthreadsForks_6|) |v_#pthreadsForks_5|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_5|} AuxVars[] AssignedVars[#pthreadsForks] {5746#(or (<= 2 ~M~0) (not (< 0 ~M~0)))} is VALID [2022-02-20 20:56:20,842 INFO L290 TraceCheckUtils]: 38: Hoare triple {5746#(or (<= 2 ~M~0) (not (< 0 ~M~0)))} [206] L72-->L72-1: Formula: (= |v_ULTIMATE.start_main_#t~pre8#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre8#1] {5746#(or (<= 2 ~M~0) (not (< 0 ~M~0)))} is VALID [2022-02-20 20:56:20,842 INFO L290 TraceCheckUtils]: 37: Hoare triple {5746#(or (<= 2 ~M~0) (not (< 0 ~M~0)))} [177] L71-5-->L72: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet7#1=|v_ULTIMATE.start_main_#t~nondet7#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet7#1] {5746#(or (<= 2 ~M~0) (not (< 0 ~M~0)))} is VALID [2022-02-20 20:56:20,843 INFO L290 TraceCheckUtils]: 36: Hoare triple {5746#(or (<= 2 ~M~0) (not (< 0 ~M~0)))} [150] L71-4-->L71-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1] {5746#(or (<= 2 ~M~0) (not (< 0 ~M~0)))} is VALID [2022-02-20 20:56:20,843 INFO L290 TraceCheckUtils]: 35: Hoare triple {5584#(<= 1 thread1Thread1of1ForFork0_~i~0)} [213] L41-4-->L42: Formula: (< v_thread1Thread1of1ForFork0_~i~0_5 v_~M~0_2) InVars {~M~0=v_~M~0_2, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_5} OutVars{~M~0=v_~M~0_2, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_5} AuxVars[] AssignedVars[] {5746#(or (<= 2 ~M~0) (not (< 0 ~M~0)))} is VALID [2022-02-20 20:56:20,843 INFO L290 TraceCheckUtils]: 34: Hoare triple {5584#(<= 1 thread1Thread1of1ForFork0_~i~0)} [219] L41-3-->L41-4: Formula: true InVars {} OutVars{thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_5|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1] {5584#(<= 1 thread1Thread1of1ForFork0_~i~0)} is VALID [2022-02-20 20:56:20,844 INFO L290 TraceCheckUtils]: 33: Hoare triple {5580#(<= 0 |thread1Thread1of1ForFork0_#t~post1|)} [218] L41-2-->L41-3: Formula: (= v_thread1Thread1of1ForFork0_~i~0_9 (+ |v_thread1Thread1of1ForFork0_#t~post1_3| 1)) InVars {thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_3|} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_9, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_3|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_~i~0] {5584#(<= 1 thread1Thread1of1ForFork0_~i~0)} is VALID [2022-02-20 20:56:20,844 INFO L290 TraceCheckUtils]: 32: Hoare triple {5570#(<= 0 thread1Thread1of1ForFork0_~i~0)} [217] L44-->L41-2: Formula: (= v_thread1Thread1of1ForFork0_~i~0_7 |v_thread1Thread1of1ForFork0_#t~post1_1|) InVars {thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_7} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_7, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1] {5580#(<= 0 |thread1Thread1of1ForFork0_#t~post1|)} is VALID [2022-02-20 20:56:20,845 INFO L290 TraceCheckUtils]: 31: Hoare triple {5570#(<= 0 thread1Thread1of1ForFork0_~i~0)} [215] L42-->L44: Formula: (= (+ v_~counter~0_26 1) v_~counter~0_25) InVars {~counter~0=v_~counter~0_26} OutVars{~counter~0=v_~counter~0_25, thread1Thread1of1ForFork0_#t~post2=|v_thread1Thread1of1ForFork0_#t~post2_1|} AuxVars[] AssignedVars[~counter~0, thread1Thread1of1ForFork0_#t~post2] {5570#(<= 0 thread1Thread1of1ForFork0_~i~0)} is VALID [2022-02-20 20:56:20,845 INFO L290 TraceCheckUtils]: 30: Hoare triple {5570#(<= 0 thread1Thread1of1ForFork0_~i~0)} [213] L41-4-->L42: Formula: (< v_thread1Thread1of1ForFork0_~i~0_5 v_~M~0_2) InVars {~M~0=v_~M~0_2, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_5} OutVars{~M~0=v_~M~0_2, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_5} AuxVars[] AssignedVars[] {5570#(<= 0 thread1Thread1of1ForFork0_~i~0)} is VALID [2022-02-20 20:56:20,845 INFO L290 TraceCheckUtils]: 29: Hoare triple {5469#true} [210] thread1ENTRY-->L41-4: Formula: (= v_thread1Thread1of1ForFork0_~i~0_1 0) InVars {} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_1} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_~i~0] {5570#(<= 0 thread1Thread1of1ForFork0_~i~0)} is VALID [2022-02-20 20:56:20,846 INFO L290 TraceCheckUtils]: 28: Hoare triple {5469#true} [228] L71-3-->thread1ENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre6#1_6| v_thread1Thread1of1ForFork0_thidvar0_2) (= v_thread1Thread1of1ForFork0_thidvar1_2 0)) InVars {ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_6|} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_6|, thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_4|, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_8|, thread1Thread1of1ForFork0_#t~post2=|v_thread1Thread1of1ForFork0_#t~post2_4|, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_12, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_2, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_4|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_2} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#t~post1, thread1Thread1of1ForFork0_#t~post2, thread1Thread1of1ForFork0_~i~0, thread1Thread1of1ForFork0_thidvar0, thread1Thread1of1ForFork0_#res.offset, thread1Thread1of1ForFork0_thidvar1] {5469#true} is VALID [2022-02-20 20:56:20,846 INFO L290 TraceCheckUtils]: 27: Hoare triple {5469#true} [198] L71-2-->L71-3: Formula: (= (store |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3| (store (select |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3|) |v_ULTIMATE.start_main_~#t1~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre6#1_3|)) |v_#memory_int_3|) InVars {#memory_int=|v_#memory_int_4|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} OutVars{#memory_int=|v_#memory_int_3|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} AuxVars[] AssignedVars[#memory_int] {5469#true} is VALID [2022-02-20 20:56:20,846 INFO L290 TraceCheckUtils]: 26: Hoare triple {5469#true} [159] L71-1-->L71-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {5469#true} is VALID [2022-02-20 20:56:20,846 INFO L290 TraceCheckUtils]: 25: Hoare triple {5469#true} [135] L71-->L71-1: Formula: (= |v_ULTIMATE.start_main_#t~pre6#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1] {5469#true} is VALID [2022-02-20 20:56:20,846 INFO L290 TraceCheckUtils]: 24: Hoare triple {5469#true} [182] L34-1-->L71: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5469#true} is VALID [2022-02-20 20:56:20,846 INFO L290 TraceCheckUtils]: 23: Hoare triple {5469#true} [189] L35-->L34-1: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_4| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_4|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_4|} AuxVars[] AssignedVars[] {5469#true} is VALID [2022-02-20 20:56:20,847 INFO L290 TraceCheckUtils]: 22: Hoare triple {5469#true} [164] L34-->L35: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_2|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_2|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {5469#true} is VALID [2022-02-20 20:56:20,847 INFO L290 TraceCheckUtils]: 21: Hoare triple {5469#true} [143] L68-2-->L34: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {5469#true} is VALID [2022-02-20 20:56:20,847 INFO L290 TraceCheckUtils]: 20: Hoare triple {5469#true} [160] L68-1-->L68-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1| (ite (< 0 v_~M~0_7) 1 0)) InVars {~M~0=v_~M~0_7} OutVars{~M~0=v_~M~0_7, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] {5469#true} is VALID [2022-02-20 20:56:20,847 INFO L290 TraceCheckUtils]: 19: Hoare triple {5469#true} [196] L68-->L68-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5469#true} is VALID [2022-02-20 20:56:20,847 INFO L290 TraceCheckUtils]: 18: Hoare triple {5469#true} [162] L67-1-->L68: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet5#1] {5469#true} is VALID [2022-02-20 20:56:20,847 INFO L290 TraceCheckUtils]: 17: Hoare triple {5469#true} [190] L67-->L67-1: Formula: (= |v_ULTIMATE.start_main_#t~nondet5#1_3| v_~M~0_6) InVars {ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_3|} OutVars{~M~0=v_~M~0_6, ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_3|} AuxVars[] AssignedVars[~M~0] {5469#true} is VALID [2022-02-20 20:56:20,847 INFO L290 TraceCheckUtils]: 16: Hoare triple {5469#true} [171] L65-2-->L67: Formula: (and (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet5#1_2| 2147483648)) (<= |v_ULTIMATE.start_main_#t~nondet5#1_2| 2147483647)) InVars {ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_2|} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_2|} AuxVars[] AssignedVars[] {5469#true} is VALID [2022-02-20 20:56:20,848 INFO L290 TraceCheckUtils]: 15: Hoare triple {5469#true} [194] L65-1-->L65-2: Formula: (and (= |v_#length_5| (store |v_#length_6| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 4)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2|) 0) (= (store |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 1) |v_#valid_6|) (not (= |v_ULTIMATE.start_main_~#t2~0#1.base_2| 0)) (= 0 |v_ULTIMATE.start_main_~#t2~0#1.offset_2|) (< |v_#StackHeapBarrier_3| |v_ULTIMATE.start_main_~#t2~0#1.base_2|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_7|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_5|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_2|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t2~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t2~0#1.base] {5469#true} is VALID [2022-02-20 20:56:20,848 INFO L290 TraceCheckUtils]: 14: Hoare triple {5469#true} [208] L65-->L65-1: Formula: (and (= |v_ULTIMATE.start_main_~#t1~0#1.offset_2| 0) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) 0) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 4)) (not (= |v_ULTIMATE.start_main_~#t1~0#1.base_2| 0)) (= (store |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 1) |v_#valid_4|)) 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_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_2|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[#valid, #length, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset] {5469#true} is VALID [2022-02-20 20:56:20,848 INFO L290 TraceCheckUtils]: 13: Hoare triple {5469#true} [178] L-1-6-->L65: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_1|, ULTIMATE.start_main_#t~nondet9#1=|v_ULTIMATE.start_main_#t~nondet9#1_1|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_1|, ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_1|, ULTIMATE.start_main_#t~nondet7#1=|v_ULTIMATE.start_main_#t~nondet7#1_1|, ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_1|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_1|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_1|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_1|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_1|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1, ULTIMATE.start_main_#t~nondet9#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_#t~nondet5#1, ULTIMATE.start_main_#t~nondet7#1, ULTIMATE.start_main_#t~mem11#1, ULTIMATE.start_main_#t~pre8#1, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset, ULTIMATE.start_main_#t~mem10#1, ULTIMATE.start_main_~#t2~0#1.base] {5469#true} is VALID [2022-02-20 20:56:20,848 INFO L290 TraceCheckUtils]: 12: Hoare triple {5469#true} [151] L-1-5-->L-1-6: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {5469#true} is VALID [2022-02-20 20:56:20,848 INFO L290 TraceCheckUtils]: 11: Hoare triple {5469#true} [181] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5469#true} is VALID [2022-02-20 20:56:20,848 INFO L290 TraceCheckUtils]: 10: Hoare triple {5469#true} [201] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5469#true} is VALID [2022-02-20 20:56:20,849 INFO L290 TraceCheckUtils]: 9: Hoare triple {5469#true} [205] L38-->L-1-3: Formula: (= v_~counter~0_7 0) InVars {} OutVars{~counter~0=v_~counter~0_7} AuxVars[] AssignedVars[~counter~0] {5469#true} is VALID [2022-02-20 20:56:20,849 INFO L290 TraceCheckUtils]: 8: Hoare triple {5469#true} [204] L21-4-->L38: Formula: (= v_~M~0_5 0) InVars {} OutVars{~M~0=v_~M~0_5} AuxVars[] AssignedVars[~M~0] {5469#true} is VALID [2022-02-20 20:56:20,849 INFO L290 TraceCheckUtils]: 7: Hoare triple {5469#true} [156] L21-3-->L21-4: Formula: (and (= 30 (select |v_#length_2| 2)) (= (select |v_#valid_3| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {5469#true} is VALID [2022-02-20 20:56:20,849 INFO L290 TraceCheckUtils]: 6: Hoare triple {5469#true} [184] L21-2-->L21-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[] {5469#true} is VALID [2022-02-20 20:56:20,849 INFO L290 TraceCheckUtils]: 5: Hoare triple {5469#true} [187] L21-1-->L21-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[] {5469#true} is VALID [2022-02-20 20:56:20,849 INFO L290 TraceCheckUtils]: 4: Hoare triple {5469#true} [165] L21-->L21-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[] {5469#true} is VALID [2022-02-20 20:56:20,850 INFO L290 TraceCheckUtils]: 3: Hoare triple {5469#true} [199] L-1-2-->L21: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {5469#true} is VALID [2022-02-20 20:56:20,850 INFO L290 TraceCheckUtils]: 2: Hoare triple {5469#true} [197] L-1-1-->L-1-2: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] {5469#true} is VALID [2022-02-20 20:56:20,850 INFO L290 TraceCheckUtils]: 1: Hoare triple {5469#true} [172] 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] {5469#true} is VALID [2022-02-20 20:56:20,850 INFO L290 TraceCheckUtils]: 0: Hoare triple {5469#true} [191] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5469#true} is VALID [2022-02-20 20:56:20,850 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 1 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 20:56:20,851 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1096096490] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 20:56:20,851 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 20:56:20,851 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 8, 9] total 20 [2022-02-20 20:56:20,851 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1661432084] [2022-02-20 20:56:20,851 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 20:56:20,852 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 20 states have (on average 6.95) internal successors, (139), 20 states have internal predecessors, (139), 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 70 [2022-02-20 20:56:20,852 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 20:56:20,853 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 20 states, 20 states have (on average 6.95) internal successors, (139), 20 states have internal predecessors, (139), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:20,945 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 139 edges. 139 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 20:56:20,946 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2022-02-20 20:56:20,946 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 20:56:20,946 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-02-20 20:56:20,946 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=70, Invalid=310, Unknown=0, NotChecked=0, Total=380 [2022-02-20 20:56:20,947 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 57 out of 82 [2022-02-20 20:56:20,949 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 88 places, 84 transitions, 338 flow. Second operand has 20 states, 20 states have (on average 59.9) internal successors, (1198), 20 states have internal predecessors, (1198), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:20,949 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 20:56:20,949 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 57 of 82 [2022-02-20 20:56:20,949 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 20:56:23,115 INFO L129 PetriNetUnfolder]: 312/858 cut-off events. [2022-02-20 20:56:23,115 INFO L130 PetriNetUnfolder]: For 1305/1305 co-relation queries the response was YES. [2022-02-20 20:56:23,117 INFO L84 FinitePrefix]: Finished finitePrefix Result has 2542 conditions, 858 events. 312/858 cut-off events. For 1305/1305 co-relation queries the response was YES. Maximal size of possible extension queue 50. Compared 4715 event pairs, 13 based on Foata normal form. 29/886 useless extension candidates. Maximal degree in co-relation 2529. Up to 168 conditions per place. [2022-02-20 20:56:23,120 INFO L132 encePairwiseOnDemand]: 69/82 looper letters, 117 selfloop transitions, 134 changer transitions 11/307 dead transitions. [2022-02-20 20:56:23,120 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 142 places, 307 transitions, 1960 flow [2022-02-20 20:56:23,120 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 55 states. [2022-02-20 20:56:23,120 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 55 states. [2022-02-20 20:56:23,141 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 3368 transitions. [2022-02-20 20:56:23,142 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.7467849223946785 [2022-02-20 20:56:23,142 INFO L72 ComplementDD]: Start complementDD. Operand 55 states and 3368 transitions. [2022-02-20 20:56:23,142 INFO L73 IsDeterministic]: Start isDeterministic. Operand 55 states and 3368 transitions. [2022-02-20 20:56:23,144 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 20:56:23,144 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 55 states and 3368 transitions. [2022-02-20 20:56:23,149 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 56 states, 55 states have (on average 61.236363636363635) internal successors, (3368), 55 states have internal predecessors, (3368), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:23,154 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 56 states, 56 states have (on average 82.0) internal successors, (4592), 56 states have internal predecessors, (4592), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:23,156 INFO L81 ComplementDD]: Finished complementDD. Result has 56 states, 56 states have (on average 82.0) internal successors, (4592), 56 states have internal predecessors, (4592), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:23,156 INFO L186 Difference]: Start difference. First operand has 88 places, 84 transitions, 338 flow. Second operand 55 states and 3368 transitions. [2022-02-20 20:56:23,156 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 142 places, 307 transitions, 1960 flow