./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/weaver/popl20-more-nonblocking-counter-alt2.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-more-nonblocking-counter-alt2.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 3697d9128f1f55a146432bb6e854f5639b64b16acb09c5233c8611aa24537748 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 20:55:08,941 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 20:55:08,942 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 20:55:08,972 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 20:55:08,973 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 20:55:08,973 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 20:55:08,974 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 20:55:08,976 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 20:55:08,977 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 20:55:08,977 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 20:55:08,978 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 20:55:08,979 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 20:55:08,979 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 20:55:08,980 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 20:55:08,981 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 20:55:08,982 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 20:55:08,982 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 20:55:08,983 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 20:55:08,984 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 20:55:08,985 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 20:55:08,986 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 20:55:08,987 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 20:55:08,988 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 20:55:08,988 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 20:55:08,990 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 20:55:08,990 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 20:55:08,991 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 20:55:08,991 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 20:55:08,992 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 20:55:08,992 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 20:55:08,993 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 20:55:08,993 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 20:55:08,994 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 20:55:08,994 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 20:55:08,995 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 20:55:08,995 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 20:55:08,996 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 20:55:08,996 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 20:55:08,996 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 20:55:08,997 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 20:55:08,998 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 20:55:08,998 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:55:09,014 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 20:55:09,014 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 20:55:09,014 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 20:55:09,014 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 20:55:09,015 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 20:55:09,015 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 20:55:09,016 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 20:55:09,016 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 20:55:09,016 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 20:55:09,016 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 20:55:09,016 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 20:55:09,017 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 20:55:09,017 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 20:55:09,017 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 20:55:09,017 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 20:55:09,017 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 20:55:09,017 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 20:55:09,018 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 20:55:09,018 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 20:55:09,018 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 20:55:09,018 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 20:55:09,018 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 20:55:09,019 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 20:55:09,019 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 20:55:09,019 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 20:55:09,019 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 20:55:09,020 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 20:55:09,021 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 20:55:09,021 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 20:55:09,021 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 20:55:09,021 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 20:55:09,021 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 20:55:09,021 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 20:55:09,021 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 -> 3697d9128f1f55a146432bb6e854f5639b64b16acb09c5233c8611aa24537748 [2022-02-20 20:55:09,240 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 20:55:09,261 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 20:55:09,263 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 20:55:09,264 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 20:55:09,264 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 20:55:09,265 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/weaver/popl20-more-nonblocking-counter-alt2.wvr.c [2022-02-20 20:55:09,306 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/efcc60340/049749e9edf24aa89b6171f9613535ef/FLAG7bf1fc130 [2022-02-20 20:55:09,694 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 20:55:09,695 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/weaver/popl20-more-nonblocking-counter-alt2.wvr.c [2022-02-20 20:55:09,706 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/efcc60340/049749e9edf24aa89b6171f9613535ef/FLAG7bf1fc130 [2022-02-20 20:55:09,715 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/efcc60340/049749e9edf24aa89b6171f9613535ef [2022-02-20 20:55:09,716 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 20:55:09,717 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 20:55:09,719 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 20:55:09,719 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 20:55:09,723 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 20:55:09,723 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 08:55:09" (1/1) ... [2022-02-20 20:55:09,724 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@7666e5db and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:55:09, skipping insertion in model container [2022-02-20 20:55:09,724 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 08:55:09" (1/1) ... [2022-02-20 20:55:09,729 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 20:55:09,739 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 20:55:09,908 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-more-nonblocking-counter-alt2.wvr.c[2147,2160] [2022-02-20 20:55:09,910 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 20:55:09,919 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 20:55:09,932 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-more-nonblocking-counter-alt2.wvr.c[2147,2160] [2022-02-20 20:55:09,933 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 20:55:09,944 INFO L208 MainTranslator]: Completed translation [2022-02-20 20:55:09,944 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:55:09 WrapperNode [2022-02-20 20:55:09,944 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 20:55:09,945 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 20:55:09,945 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 20:55:09,946 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 20:55:09,950 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:55:09" (1/1) ... [2022-02-20 20:55:09,956 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:55:09" (1/1) ... [2022-02-20 20:55:09,974 INFO L137 Inliner]: procedures = 21, calls = 24, calls flagged for inlining = 4, calls inlined = 4, statements flattened = 55 [2022-02-20 20:55:09,975 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 20:55:09,976 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 20:55:09,976 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 20:55:09,976 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 20:55:09,981 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:55:09" (1/1) ... [2022-02-20 20:55:09,981 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:55:09" (1/1) ... [2022-02-20 20:55:09,991 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:55:09" (1/1) ... [2022-02-20 20:55:09,992 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:55:09" (1/1) ... [2022-02-20 20:55:09,999 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:55:09" (1/1) ... [2022-02-20 20:55:10,011 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:55:09" (1/1) ... [2022-02-20 20:55:10,012 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:55:09" (1/1) ... [2022-02-20 20:55:10,015 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 20:55:10,016 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 20:55:10,016 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 20:55:10,018 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 20:55:10,019 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:55:09" (1/1) ... [2022-02-20 20:55:10,025 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 20:55:10,032 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 20:55:10,052 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:55:10,089 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:55:10,103 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 20:55:10,104 INFO L130 BoogieDeclarations]: Found specification of procedure thread1 [2022-02-20 20:55:10,104 INFO L138 BoogieDeclarations]: Found implementation of procedure thread1 [2022-02-20 20:55:10,104 INFO L130 BoogieDeclarations]: Found specification of procedure thread2 [2022-02-20 20:55:10,104 INFO L138 BoogieDeclarations]: Found implementation of procedure thread2 [2022-02-20 20:55:10,104 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 20:55:10,104 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-02-20 20:55:10,105 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-02-20 20:55:10,105 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2022-02-20 20:55:10,105 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2022-02-20 20:55:10,105 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 20:55:10,105 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 20:55:10,105 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-02-20 20:55:10,105 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 20:55:10,106 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:55:10,165 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 20:55:10,166 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 20:55:10,381 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 20:55:10,411 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 20:55:10,411 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-02-20 20:55:10,412 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 08:55:10 BoogieIcfgContainer [2022-02-20 20:55:10,413 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 20:55:10,414 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 20:55:10,414 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 20:55:10,416 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 20:55:10,416 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 08:55:09" (1/3) ... [2022-02-20 20:55:10,417 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2e9db9eb and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 08:55:10, skipping insertion in model container [2022-02-20 20:55:10,417 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:55:09" (2/3) ... [2022-02-20 20:55:10,417 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2e9db9eb and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 08:55:10, skipping insertion in model container [2022-02-20 20:55:10,417 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 08:55:10" (3/3) ... [2022-02-20 20:55:10,418 INFO L111 eAbstractionObserver]: Analyzing ICFG popl20-more-nonblocking-counter-alt2.wvr.c [2022-02-20 20:55:10,421 WARN L150 ceAbstractionStarter]: Switching off computation of Hoare annotation because input is a concurrent program [2022-02-20 20:55:10,421 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 20:55:10,421 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 20:55:10,421 INFO L534 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2022-02-20 20:55:10,455 WARN L322 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork0_~i~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:55:10,455 WARN L322 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork0_~i~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:55:10,456 WARN L322 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork0_~i~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:55:10,457 WARN L322 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork0_~i~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:55:10,459 WARN L322 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork0_~i~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:55:10,460 WARN L322 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork0_~i~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:55:10,462 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:55:10,462 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:55:10,462 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:55:10,462 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:55:10,463 WARN L322 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork0_~i~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:55:10,463 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#t~post1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:55:10,463 WARN L322 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork0_~i~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:55:10,463 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#t~post1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:55:10,464 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#t~post1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:55:10,464 WARN L322 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork0_~i~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:55:10,464 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#t~post1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:55:10,464 WARN L322 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork0_~i~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:55:10,465 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#t~post1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:55:10,465 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#t~post1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:55:10,465 WARN L322 ript$VariableManager]: TermVariabe thread2Thread1of1ForFork1_~i~1 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:55:10,465 WARN L322 ript$VariableManager]: TermVariabe thread2Thread1of1ForFork1_~i~1 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:55:10,466 WARN L322 ript$VariableManager]: TermVariabe thread2Thread1of1ForFork1_~i~1 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:55:10,467 WARN L322 ript$VariableManager]: TermVariabe thread2Thread1of1ForFork1_~i~1 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:55:10,469 WARN L322 ript$VariableManager]: TermVariabe thread2Thread1of1ForFork1_~i~1 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:55:10,470 WARN L322 ript$VariableManager]: TermVariabe thread2Thread1of1ForFork1_~i~1 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:55:10,471 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:55:10,472 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:55:10,472 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:55:10,472 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:55:10,472 WARN L322 ript$VariableManager]: TermVariabe thread2Thread1of1ForFork1_~i~1 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:55:10,472 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#t~post2| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:55:10,473 WARN L322 ript$VariableManager]: TermVariabe thread2Thread1of1ForFork1_~i~1 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:55:10,473 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#t~post2| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:55:10,474 WARN L322 ript$VariableManager]: TermVariabe thread2Thread1of1ForFork1_~i~1 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:55:10,474 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#t~post2| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:55:10,474 WARN L322 ript$VariableManager]: TermVariabe thread2Thread1of1ForFork1_~i~1 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:55:10,474 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#t~post2| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:55:10,478 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:55:10,478 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#t~post1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:55:10,478 WARN L322 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork0_~i~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:55:10,478 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:55:10,479 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:55:10,479 WARN L322 ript$VariableManager]: TermVariabe thread2Thread1of1ForFork1_~i~1 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:55:10,480 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#t~post2| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:55:10,480 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:55:10,488 INFO L148 ThreadInstanceAdder]: Constructed 2 joinOtherThreadTransitions. [2022-02-20 20:55:10,537 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 20:55:10,541 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:55:10,541 INFO L340 AbstractCegarLoop]: Starting to check reachability of 3 error locations. [2022-02-20 20:55:10,548 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 85 places, 84 transitions, 184 flow [2022-02-20 20:55:10,574 INFO L129 PetriNetUnfolder]: 6/82 cut-off events. [2022-02-20 20:55:10,575 INFO L130 PetriNetUnfolder]: For 2/2 co-relation queries the response was YES. [2022-02-20 20:55:10,577 INFO L84 FinitePrefix]: Finished finitePrefix Result has 91 conditions, 82 events. 6/82 cut-off events. For 2/2 co-relation queries the response was YES. Maximal size of possible extension queue 3. Compared 45 event pairs, 0 based on Foata normal form. 0/75 useless extension candidates. Maximal degree in co-relation 50. Up to 2 conditions per place. [2022-02-20 20:55:10,577 INFO L82 GeneralOperation]: Start removeDead. Operand has 85 places, 84 transitions, 184 flow [2022-02-20 20:55:10,579 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 74 places, 73 transitions, 158 flow [2022-02-20 20:55:10,594 INFO L129 PetriNetUnfolder]: 6/72 cut-off events. [2022-02-20 20:55:10,594 INFO L130 PetriNetUnfolder]: For 2/2 co-relation queries the response was YES. [2022-02-20 20:55:10,594 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:55:10,594 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] [2022-02-20 20:55:10,595 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION] === [2022-02-20 20:55:10,599 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:55:10,600 INFO L85 PathProgramCache]: Analyzing trace with hash 752027129, now seen corresponding path program 1 times [2022-02-20 20:55:10,606 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:55:10,606 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [132588344] [2022-02-20 20:55:10,607 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:55:10,607 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:55:10,792 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:55:11,051 INFO L290 TraceCheckUtils]: 0: Hoare triple {88#true} [188] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {88#true} is VALID [2022-02-20 20:55:11,052 INFO L290 TraceCheckUtils]: 1: Hoare triple {88#true} [169] 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] {88#true} is VALID [2022-02-20 20:55:11,052 INFO L290 TraceCheckUtils]: 2: Hoare triple {88#true} [192] 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[] {88#true} is VALID [2022-02-20 20:55:11,052 INFO L290 TraceCheckUtils]: 3: Hoare triple {88#true} [193] L-1-2-->L21: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {88#true} is VALID [2022-02-20 20:55:11,053 INFO L290 TraceCheckUtils]: 4: Hoare triple {88#true} [160] 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[] {88#true} is VALID [2022-02-20 20:55:11,053 INFO L290 TraceCheckUtils]: 5: Hoare triple {88#true} [184] 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[] {88#true} is VALID [2022-02-20 20:55:11,053 INFO L290 TraceCheckUtils]: 6: Hoare triple {88#true} [181] 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[] {88#true} is VALID [2022-02-20 20:55:11,053 INFO L290 TraceCheckUtils]: 7: Hoare triple {88#true} [148] L21-3-->L21-4: Formula: (and (= 43 (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[] {88#true} is VALID [2022-02-20 20:55:11,054 INFO L290 TraceCheckUtils]: 8: Hoare triple {88#true} [201] L21-4-->L38: Formula: (= v_~M~0_5 0) InVars {} OutVars{~M~0=v_~M~0_5} AuxVars[] AssignedVars[~M~0] {88#true} is VALID [2022-02-20 20:55:11,054 INFO L290 TraceCheckUtils]: 9: Hoare triple {88#true} [202] L38-->L38-1: Formula: (= v_~counter~0_7 0) InVars {} OutVars{~counter~0=v_~counter~0_7} AuxVars[] AssignedVars[~counter~0] {88#true} is VALID [2022-02-20 20:55:11,054 INFO L290 TraceCheckUtils]: 10: Hoare triple {88#true} [151] L38-1-->L-1-3: Formula: (= v_~C~0_3 0) InVars {} OutVars{~C~0=v_~C~0_3} AuxVars[] AssignedVars[~C~0] {88#true} is VALID [2022-02-20 20:55:11,054 INFO L290 TraceCheckUtils]: 11: Hoare triple {88#true} [197] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {88#true} is VALID [2022-02-20 20:55:11,055 INFO L290 TraceCheckUtils]: 12: Hoare triple {88#true} [178] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {88#true} is VALID [2022-02-20 20:55:11,055 INFO L290 TraceCheckUtils]: 13: Hoare triple {88#true} [143] 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] {88#true} is VALID [2022-02-20 20:55:11,058 INFO L290 TraceCheckUtils]: 14: Hoare triple {88#true} [175] L-1-6-->L65: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_1|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_1|, ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#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_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_#t~nondet8#1=|v_ULTIMATE.start_main_#t~nondet8#1_1|, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_1|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_1|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1, ULTIMATE.start_main_#t~nondet4#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_#t~nondet8#1, ULTIMATE.start_main_#t~nondet6#1, ULTIMATE.start_main_#t~mem9#1, ULTIMATE.start_main_#t~pre7#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] {88#true} is VALID [2022-02-20 20:55:11,059 INFO L290 TraceCheckUtils]: 15: Hoare triple {88#true} [204] 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] {88#true} is VALID [2022-02-20 20:55:11,059 INFO L290 TraceCheckUtils]: 16: Hoare triple {88#true} [189] 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] {88#true} is VALID [2022-02-20 20:55:11,060 INFO L290 TraceCheckUtils]: 17: Hoare triple {88#true} [168] L65-2-->L67: Formula: (= |v_ULTIMATE.start_main_#t~nondet3#1_2| v_~C~0_4) InVars {ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|, ~C~0=v_~C~0_4} AuxVars[] AssignedVars[~C~0] {88#true} is VALID [2022-02-20 20:55:11,060 INFO L290 TraceCheckUtils]: 18: Hoare triple {88#true} [187] L67-->L68: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] {88#true} is VALID [2022-02-20 20:55:11,061 INFO L290 TraceCheckUtils]: 19: Hoare triple {88#true} [191] L68-->L68-1: Formula: (= |v_ULTIMATE.start_main_#t~nondet4#1_2| v_~M~0_6) InVars {ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_2|} OutVars{~M~0=v_~M~0_6, ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_2|} AuxVars[] AssignedVars[~M~0] {88#true} is VALID [2022-02-20 20:55:11,061 INFO L290 TraceCheckUtils]: 20: Hoare triple {88#true} [155] L68-1-->L69: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet4#1] {88#true} is VALID [2022-02-20 20:55:11,062 INFO L290 TraceCheckUtils]: 21: Hoare triple {88#true} [142] L69-->L69-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {88#true} is VALID [2022-02-20 20:55:11,063 INFO L290 TraceCheckUtils]: 22: Hoare triple {88#true} [194] L69-1-->L69-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1| (ite (< 0 (mod v_~M~0_7 4294967296)) 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] {90#(or (not (<= ~M~0 (* (div ~M~0 4294967296) 4294967296))) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0))} is VALID [2022-02-20 20:55:11,068 INFO L290 TraceCheckUtils]: 23: Hoare triple {90#(or (not (<= ~M~0 (* (div ~M~0 4294967296) 4294967296))) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0))} [166] L69-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] {90#(or (not (<= ~M~0 (* (div ~M~0 4294967296) 4294967296))) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0))} is VALID [2022-02-20 20:55:11,070 INFO L290 TraceCheckUtils]: 24: Hoare triple {90#(or (not (<= ~M~0 (* (div ~M~0 4294967296) 4294967296))) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0))} [158] 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] {91#(or (not (<= ~M~0 (* (div ~M~0 4294967296) 4294967296))) (= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0))} is VALID [2022-02-20 20:55:11,070 INFO L290 TraceCheckUtils]: 25: Hoare triple {91#(or (not (<= ~M~0 (* (div ~M~0 4294967296) 4294967296))) (= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0))} [186] 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[] {92#(<= (+ (* (div ~M~0 4294967296) 4294967296) 1) ~M~0)} is VALID [2022-02-20 20:55:11,071 INFO L290 TraceCheckUtils]: 26: Hoare triple {92#(<= (+ (* (div ~M~0 4294967296) 4294967296) 1) ~M~0)} [179] L34-1-->L72: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {92#(<= (+ (* (div ~M~0 4294967296) 4294967296) 1) ~M~0)} is VALID [2022-02-20 20:55:11,075 INFO L290 TraceCheckUtils]: 27: Hoare triple {92#(<= (+ (* (div ~M~0 4294967296) 4294967296) 1) ~M~0)} [203] L72-->L72-1: Formula: (= |v_ULTIMATE.start_main_#t~pre5#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_2|, #pthreadsForks=|v_#pthreadsForks_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1] {92#(<= (+ (* (div ~M~0 4294967296) 4294967296) 1) ~M~0)} is VALID [2022-02-20 20:55:11,075 INFO L290 TraceCheckUtils]: 28: Hoare triple {92#(<= (+ (* (div ~M~0 4294967296) 4294967296) 1) ~M~0)} [124] L72-1-->L72-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {92#(<= (+ (* (div ~M~0 4294967296) 4294967296) 1) ~M~0)} is VALID [2022-02-20 20:55:11,076 INFO L290 TraceCheckUtils]: 29: Hoare triple {92#(<= (+ (* (div ~M~0 4294967296) 4294967296) 1) ~M~0)} [132] L72-2-->L72-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~pre5#1_3|)) |v_#memory_int_3|) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_3|, #memory_int=|v_#memory_int_4|, 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{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_3|, #memory_int=|v_#memory_int_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] {92#(<= (+ (* (div ~M~0 4294967296) 4294967296) 1) ~M~0)} is VALID [2022-02-20 20:55:11,076 INFO L290 TraceCheckUtils]: 30: Hoare triple {92#(<= (+ (* (div ~M~0 4294967296) 4294967296) 1) ~M~0)} [224] L72-3-->thread1ENTRY: Formula: (and (= v_thread1Thread1of1ForFork0_thidvar1_2 0) (= |v_ULTIMATE.start_main_#t~pre5#1_6| v_thread1Thread1of1ForFork0_thidvar0_2)) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_6|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_6|, thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_4|, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_8|, 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_~i~0, thread1Thread1of1ForFork0_thidvar0, thread1Thread1of1ForFork0_#res.offset, thread1Thread1of1ForFork0_thidvar1] {92#(<= (+ (* (div ~M~0 4294967296) 4294967296) 1) ~M~0)} is VALID [2022-02-20 20:55:11,077 INFO L290 TraceCheckUtils]: 31: Hoare triple {92#(<= (+ (* (div ~M~0 4294967296) 4294967296) 1) ~M~0)} [195] L72-4-->L72-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1] {92#(<= (+ (* (div ~M~0 4294967296) 4294967296) 1) ~M~0)} is VALID [2022-02-20 20:55:11,077 INFO L290 TraceCheckUtils]: 32: Hoare triple {92#(<= (+ (* (div ~M~0 4294967296) 4294967296) 1) ~M~0)} [127] L72-5-->L73: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet6#1] {92#(<= (+ (* (div ~M~0 4294967296) 4294967296) 1) ~M~0)} is VALID [2022-02-20 20:55:11,077 INFO L290 TraceCheckUtils]: 33: Hoare triple {92#(<= (+ (* (div ~M~0 4294967296) 4294967296) 1) ~M~0)} [162] L73-->L73-1: Formula: (= |v_ULTIMATE.start_main_#t~pre7#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre7#1] {92#(<= (+ (* (div ~M~0 4294967296) 4294967296) 1) ~M~0)} is VALID [2022-02-20 20:55:11,078 INFO L290 TraceCheckUtils]: 34: Hoare triple {92#(<= (+ (* (div ~M~0 4294967296) 4294967296) 1) ~M~0)} [177] L73-1-->L73-2: Formula: (= (+ 1 |v_#pthreadsForks_6|) |v_#pthreadsForks_5|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_5|} AuxVars[] AssignedVars[#pthreadsForks] {92#(<= (+ (* (div ~M~0 4294967296) 4294967296) 1) ~M~0)} is VALID [2022-02-20 20:55:11,078 INFO L290 TraceCheckUtils]: 35: Hoare triple {92#(<= (+ (* (div ~M~0 4294967296) 4294967296) 1) ~M~0)} [163] L73-2-->L73-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~pre7#1_3|)) |v_#memory_int_5|) InVars {#memory_int=|v_#memory_int_6|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#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~pre7#1=|v_ULTIMATE.start_main_#t~pre7#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] {92#(<= (+ (* (div ~M~0 4294967296) 4294967296) 1) ~M~0)} is VALID [2022-02-20 20:55:11,079 INFO L290 TraceCheckUtils]: 36: Hoare triple {92#(<= (+ (* (div ~M~0 4294967296) 4294967296) 1) ~M~0)} [226] L73-3-->thread2ENTRY: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar1_2) (= |v_ULTIMATE.start_main_#t~pre7#1_6| v_thread2Thread1of1ForFork1_thidvar0_2) (= 0 v_thread2Thread1of1ForFork1_thidvar2_2)) InVars {ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_6|} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_4|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_12, thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_6|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_4|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#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~post2, thread2Thread1of1ForFork1_#res.base, thread2Thread1of1ForFork1_thidvar2, thread2Thread1of1ForFork1_thidvar0, thread2Thread1of1ForFork1_thidvar1] {92#(<= (+ (* (div ~M~0 4294967296) 4294967296) 1) ~M~0)} is VALID [2022-02-20 20:55:11,079 INFO L290 TraceCheckUtils]: 37: Hoare triple {92#(<= (+ (* (div ~M~0 4294967296) 4294967296) 1) ~M~0)} [216] 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] {93#(and (< (* (div ~M~0 4294967296) 4294967296) ~M~0) (= thread2Thread1of1ForFork1_~i~1 0))} is VALID [2022-02-20 20:55:11,080 INFO L290 TraceCheckUtils]: 38: Hoare triple {93#(and (< (* (div ~M~0 4294967296) 4294967296) ~M~0) (= thread2Thread1of1ForFork1_~i~1 0))} [218] L54-1-->L52-2: Formula: (not (< (mod v_thread2Thread1of1ForFork1_~i~1_3 4294967296) (mod v_~M~0_3 4294967296))) 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[] {89#false} is VALID [2022-02-20 20:55:11,081 INFO L290 TraceCheckUtils]: 39: Hoare triple {89#false} [220] 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] {89#false} is VALID [2022-02-20 20:55:11,081 INFO L290 TraceCheckUtils]: 40: Hoare triple {89#false} [222] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {89#false} is VALID [2022-02-20 20:55:11,081 INFO L290 TraceCheckUtils]: 41: Hoare triple {89#false} [165] L73-4-->L73-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre7#1] {89#false} is VALID [2022-02-20 20:55:11,082 INFO L290 TraceCheckUtils]: 42: Hoare triple {89#false} [164] L73-5-->L74: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet8#1=|v_ULTIMATE.start_main_#t~nondet8#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet8#1] {89#false} is VALID [2022-02-20 20:55:11,082 INFO L290 TraceCheckUtils]: 43: Hoare triple {89#false} [125] L74-->L74-1: Formula: (= |v_ULTIMATE.start_main_#t~mem9#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_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_2|, 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|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem9#1] {89#false} is VALID [2022-02-20 20:55:11,082 INFO L290 TraceCheckUtils]: 44: Hoare triple {89#false} [206] 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] {89#false} is VALID [2022-02-20 20:55:11,083 INFO L290 TraceCheckUtils]: 45: Hoare triple {89#false} [208] L41-4-->L41-5: Formula: (not (< (mod v_thread1Thread1of1ForFork0_~i~0_3 4294967296) (mod v_~M~0_1 4294967296))) 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[] {89#false} is VALID [2022-02-20 20:55:11,083 INFO L290 TraceCheckUtils]: 46: Hoare triple {89#false} [210] 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] {89#false} is VALID [2022-02-20 20:55:11,083 INFO L290 TraceCheckUtils]: 47: Hoare triple {89#false} [212] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {89#false} is VALID [2022-02-20 20:55:11,084 INFO L290 TraceCheckUtils]: 48: Hoare triple {89#false} [227] thread1EXIT-->L74-2: Formula: (and (= v_thread1Thread1of1ForFork0_thidvar1_4 0) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem9#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ (- 4294967296) .cse0))) v_thread1Thread1of1ForFork0_thidvar0_4)) InVars {thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_5|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4} OutVars{thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_5|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4} AuxVars[] AssignedVars[] {89#false} is VALID [2022-02-20 20:55:11,084 INFO L290 TraceCheckUtils]: 49: Hoare triple {89#false} [170] L74-2-->L75: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem9#1] {89#false} is VALID [2022-02-20 20:55:11,087 INFO L290 TraceCheckUtils]: 50: Hoare triple {89#false} [196] L75-->L75-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~mem10#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{#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_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10#1] {89#false} is VALID [2022-02-20 20:55:11,087 INFO L290 TraceCheckUtils]: 51: Hoare triple {89#false} [228] thread2EXIT-->L75-2: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar2_4) (= 0 v_thread2Thread1of1ForFork1_thidvar1_4) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem10#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ .cse0 (- 4294967296)))) v_thread2Thread1of1ForFork1_thidvar0_4)) InVars {thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} OutVars{thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} AuxVars[] AssignedVars[] {89#false} is VALID [2022-02-20 20:55:11,087 INFO L290 TraceCheckUtils]: 52: Hoare triple {89#false} [183] L75-2-->L77: 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] {89#false} is VALID [2022-02-20 20:55:11,087 INFO L290 TraceCheckUtils]: 53: Hoare triple {89#false} [136] L77-->L77-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {89#false} is VALID [2022-02-20 20:55:11,088 INFO L290 TraceCheckUtils]: 54: Hoare triple {89#false} [152] L77-1-->L77-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3| (ite (not (= (mod v_~counter~0_8 4294967296) 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] {89#false} is VALID [2022-02-20 20:55:11,089 INFO L290 TraceCheckUtils]: 55: Hoare triple {89#false} [174] L77-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] {89#false} is VALID [2022-02-20 20:55:11,089 INFO L290 TraceCheckUtils]: 56: Hoare triple {89#false} [171] 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] {89#false} is VALID [2022-02-20 20:55:11,090 INFO L290 TraceCheckUtils]: 57: Hoare triple {89#false} [138] 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[] {89#false} is VALID [2022-02-20 20:55:11,090 INFO L290 TraceCheckUtils]: 58: Hoare triple {89#false} [146] L34-3-->L78: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {89#false} is VALID [2022-02-20 20:55:11,090 INFO L290 TraceCheckUtils]: 59: Hoare triple {89#false} [153] L78-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {89#false} is VALID [2022-02-20 20:55:11,092 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:55:11,092 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 20:55:11,092 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [132588344] [2022-02-20 20:55:11,093 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [132588344] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 20:55:11,093 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 20:55:11,093 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-02-20 20:55:11,094 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1444871926] [2022-02-20 20:55:11,096 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 20:55:11,105 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 10.0) internal successors, (60), 6 states have internal predecessors, (60), 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 60 [2022-02-20 20:55:11,106 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 20:55:11,108 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 10.0) internal successors, (60), 6 states have internal predecessors, (60), 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:55:11,162 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 20:55:11,162 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 20:55:11,162 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 20:55:11,185 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 20:55:11,186 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=16, Unknown=0, NotChecked=0, Total=30 [2022-02-20 20:55:11,190 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 57 out of 84 [2022-02-20 20:55:11,197 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 74 places, 73 transitions, 158 flow. Second operand has 6 states, 6 states have (on average 59.833333333333336) internal successors, (359), 6 states have internal predecessors, (359), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:55:11,197 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 20:55:11,197 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 57 of 84 [2022-02-20 20:55:11,198 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 20:55:11,341 INFO L129 PetriNetUnfolder]: 34/134 cut-off events. [2022-02-20 20:55:11,342 INFO L130 PetriNetUnfolder]: For 25/25 co-relation queries the response was YES. [2022-02-20 20:55:11,343 INFO L84 FinitePrefix]: Finished finitePrefix Result has 226 conditions, 134 events. 34/134 cut-off events. For 25/25 co-relation queries the response was YES. Maximal size of possible extension queue 11. Compared 294 event pairs, 9 based on Foata normal form. 2/113 useless extension candidates. Maximal degree in co-relation 136. Up to 49 conditions per place. [2022-02-20 20:55:11,344 INFO L132 encePairwiseOnDemand]: 74/84 looper letters, 20 selfloop transitions, 5 changer transitions 2/74 dead transitions. [2022-02-20 20:55:11,344 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 79 places, 74 transitions, 217 flow [2022-02-20 20:55:11,344 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 20:55:11,346 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2022-02-20 20:55:11,358 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 376 transitions. [2022-02-20 20:55:11,359 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.746031746031746 [2022-02-20 20:55:11,359 INFO L72 ComplementDD]: Start complementDD. Operand 6 states and 376 transitions. [2022-02-20 20:55:11,359 INFO L73 IsDeterministic]: Start isDeterministic. Operand 6 states and 376 transitions. [2022-02-20 20:55:11,360 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 20:55:11,361 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 6 states and 376 transitions. [2022-02-20 20:55:11,364 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 7 states, 6 states have (on average 62.666666666666664) internal successors, (376), 6 states have internal predecessors, (376), 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:55:11,366 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 7 states, 7 states have (on average 84.0) internal successors, (588), 7 states have internal predecessors, (588), 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:55:11,366 INFO L81 ComplementDD]: Finished complementDD. Result has 7 states, 7 states have (on average 84.0) internal successors, (588), 7 states have internal predecessors, (588), 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:55:11,368 INFO L186 Difference]: Start difference. First operand has 74 places, 73 transitions, 158 flow. Second operand 6 states and 376 transitions. [2022-02-20 20:55:11,368 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 79 places, 74 transitions, 217 flow [2022-02-20 20:55:11,370 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 75 places, 74 transitions, 207 flow, removed 0 selfloop flow, removed 4 redundant places. [2022-02-20 20:55:11,372 INFO L242 Difference]: Finished difference. Result has 76 places, 68 transitions, 156 flow [2022-02-20 20:55:11,373 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=84, PETRI_DIFFERENCE_MINUEND_FLOW=142, PETRI_DIFFERENCE_MINUEND_PLACES=70, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=69, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=4, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=64, PETRI_DIFFERENCE_SUBTRAHEND_STATES=6, PETRI_FLOW=156, PETRI_PLACES=76, PETRI_TRANSITIONS=68} [2022-02-20 20:55:11,375 INFO L334 CegarLoopForPetriNet]: 74 programPoint places, 2 predicate places. [2022-02-20 20:55:11,376 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 76 places, 68 transitions, 156 flow [2022-02-20 20:55:11,391 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 406 states, 405 states have (on average 2.439506172839506) internal successors, (988), 405 states have internal predecessors, (988), 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:55:11,393 INFO L78 Accepts]: Start accepts. Automaton has has 406 states, 405 states have (on average 2.439506172839506) internal successors, (988), 405 states have internal predecessors, (988), 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 60 [2022-02-20 20:55:11,393 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 20:55:11,394 INFO L470 AbstractCegarLoop]: Abstraction has has 76 places, 68 transitions, 156 flow [2022-02-20 20:55:11,394 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 59.833333333333336) internal successors, (359), 6 states have internal predecessors, (359), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:55:11,394 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:55:11,394 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] [2022-02-20 20:55:11,395 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 20:55:11,395 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION] === [2022-02-20 20:55:11,395 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:55:11,395 INFO L85 PathProgramCache]: Analyzing trace with hash -676251899, now seen corresponding path program 1 times [2022-02-20 20:55:11,395 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:55:11,396 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [217256850] [2022-02-20 20:55:11,396 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:55:11,396 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:55:11,426 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:55:11,492 INFO L290 TraceCheckUtils]: 0: Hoare triple {505#true} [188] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {505#true} is VALID [2022-02-20 20:55:11,493 INFO L290 TraceCheckUtils]: 1: Hoare triple {505#true} [169] 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] {505#true} is VALID [2022-02-20 20:55:11,493 INFO L290 TraceCheckUtils]: 2: Hoare triple {505#true} [192] 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[] {505#true} is VALID [2022-02-20 20:55:11,493 INFO L290 TraceCheckUtils]: 3: Hoare triple {505#true} [193] L-1-2-->L21: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {505#true} is VALID [2022-02-20 20:55:11,493 INFO L290 TraceCheckUtils]: 4: Hoare triple {505#true} [160] 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[] {505#true} is VALID [2022-02-20 20:55:11,493 INFO L290 TraceCheckUtils]: 5: Hoare triple {505#true} [184] 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[] {505#true} is VALID [2022-02-20 20:55:11,494 INFO L290 TraceCheckUtils]: 6: Hoare triple {505#true} [181] 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[] {505#true} is VALID [2022-02-20 20:55:11,494 INFO L290 TraceCheckUtils]: 7: Hoare triple {505#true} [148] L21-3-->L21-4: Formula: (and (= 43 (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[] {505#true} is VALID [2022-02-20 20:55:11,494 INFO L290 TraceCheckUtils]: 8: Hoare triple {505#true} [201] L21-4-->L38: Formula: (= v_~M~0_5 0) InVars {} OutVars{~M~0=v_~M~0_5} AuxVars[] AssignedVars[~M~0] {505#true} is VALID [2022-02-20 20:55:11,494 INFO L290 TraceCheckUtils]: 9: Hoare triple {505#true} [202] L38-->L38-1: Formula: (= v_~counter~0_7 0) InVars {} OutVars{~counter~0=v_~counter~0_7} AuxVars[] AssignedVars[~counter~0] {505#true} is VALID [2022-02-20 20:55:11,494 INFO L290 TraceCheckUtils]: 10: Hoare triple {505#true} [151] L38-1-->L-1-3: Formula: (= v_~C~0_3 0) InVars {} OutVars{~C~0=v_~C~0_3} AuxVars[] AssignedVars[~C~0] {505#true} is VALID [2022-02-20 20:55:11,495 INFO L290 TraceCheckUtils]: 11: Hoare triple {505#true} [197] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {505#true} is VALID [2022-02-20 20:55:11,495 INFO L290 TraceCheckUtils]: 12: Hoare triple {505#true} [178] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {505#true} is VALID [2022-02-20 20:55:11,495 INFO L290 TraceCheckUtils]: 13: Hoare triple {505#true} [143] 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] {505#true} is VALID [2022-02-20 20:55:11,495 INFO L290 TraceCheckUtils]: 14: Hoare triple {505#true} [175] L-1-6-->L65: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_1|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_1|, ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#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_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_#t~nondet8#1=|v_ULTIMATE.start_main_#t~nondet8#1_1|, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_1|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_1|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1, ULTIMATE.start_main_#t~nondet4#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_#t~nondet8#1, ULTIMATE.start_main_#t~nondet6#1, ULTIMATE.start_main_#t~mem9#1, ULTIMATE.start_main_#t~pre7#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] {505#true} is VALID [2022-02-20 20:55:11,495 INFO L290 TraceCheckUtils]: 15: Hoare triple {505#true} [204] 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] {505#true} is VALID [2022-02-20 20:55:11,496 INFO L290 TraceCheckUtils]: 16: Hoare triple {505#true} [189] 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] {505#true} is VALID [2022-02-20 20:55:11,496 INFO L290 TraceCheckUtils]: 17: Hoare triple {505#true} [168] L65-2-->L67: Formula: (= |v_ULTIMATE.start_main_#t~nondet3#1_2| v_~C~0_4) InVars {ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|, ~C~0=v_~C~0_4} AuxVars[] AssignedVars[~C~0] {505#true} is VALID [2022-02-20 20:55:11,496 INFO L290 TraceCheckUtils]: 18: Hoare triple {505#true} [187] L67-->L68: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] {505#true} is VALID [2022-02-20 20:55:11,496 INFO L290 TraceCheckUtils]: 19: Hoare triple {505#true} [191] L68-->L68-1: Formula: (= |v_ULTIMATE.start_main_#t~nondet4#1_2| v_~M~0_6) InVars {ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_2|} OutVars{~M~0=v_~M~0_6, ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_2|} AuxVars[] AssignedVars[~M~0] {505#true} is VALID [2022-02-20 20:55:11,496 INFO L290 TraceCheckUtils]: 20: Hoare triple {505#true} [155] L68-1-->L69: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet4#1] {505#true} is VALID [2022-02-20 20:55:11,497 INFO L290 TraceCheckUtils]: 21: Hoare triple {505#true} [142] L69-->L69-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {505#true} is VALID [2022-02-20 20:55:11,497 INFO L290 TraceCheckUtils]: 22: Hoare triple {505#true} [194] L69-1-->L69-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1| (ite (< 0 (mod v_~M~0_7 4294967296)) 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] {505#true} is VALID [2022-02-20 20:55:11,497 INFO L290 TraceCheckUtils]: 23: Hoare triple {505#true} [166] L69-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] {505#true} is VALID [2022-02-20 20:55:11,497 INFO L290 TraceCheckUtils]: 24: Hoare triple {505#true} [158] 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] {505#true} is VALID [2022-02-20 20:55:11,497 INFO L290 TraceCheckUtils]: 25: Hoare triple {505#true} [186] 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[] {505#true} is VALID [2022-02-20 20:55:11,498 INFO L290 TraceCheckUtils]: 26: Hoare triple {505#true} [179] L34-1-->L72: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {505#true} is VALID [2022-02-20 20:55:11,498 INFO L290 TraceCheckUtils]: 27: Hoare triple {505#true} [203] L72-->L72-1: Formula: (= |v_ULTIMATE.start_main_#t~pre5#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_2|, #pthreadsForks=|v_#pthreadsForks_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1] {505#true} is VALID [2022-02-20 20:55:11,498 INFO L290 TraceCheckUtils]: 28: Hoare triple {505#true} [124] L72-1-->L72-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {505#true} is VALID [2022-02-20 20:55:11,498 INFO L290 TraceCheckUtils]: 29: Hoare triple {505#true} [132] L72-2-->L72-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~pre5#1_3|)) |v_#memory_int_3|) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_3|, #memory_int=|v_#memory_int_4|, 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{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_3|, #memory_int=|v_#memory_int_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] {505#true} is VALID [2022-02-20 20:55:11,498 INFO L290 TraceCheckUtils]: 30: Hoare triple {505#true} [224] L72-3-->thread1ENTRY: Formula: (and (= v_thread1Thread1of1ForFork0_thidvar1_2 0) (= |v_ULTIMATE.start_main_#t~pre5#1_6| v_thread1Thread1of1ForFork0_thidvar0_2)) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_6|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_6|, thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_4|, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_8|, 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_~i~0, thread1Thread1of1ForFork0_thidvar0, thread1Thread1of1ForFork0_#res.offset, thread1Thread1of1ForFork0_thidvar1] {505#true} is VALID [2022-02-20 20:55:11,499 INFO L290 TraceCheckUtils]: 31: Hoare triple {505#true} [195] L72-4-->L72-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1] {505#true} is VALID [2022-02-20 20:55:11,499 INFO L290 TraceCheckUtils]: 32: Hoare triple {505#true} [127] L72-5-->L73: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet6#1] {505#true} is VALID [2022-02-20 20:55:11,499 INFO L290 TraceCheckUtils]: 33: Hoare triple {505#true} [162] L73-->L73-1: Formula: (= |v_ULTIMATE.start_main_#t~pre7#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre7#1] {505#true} is VALID [2022-02-20 20:55:11,499 INFO L290 TraceCheckUtils]: 34: Hoare triple {505#true} [177] L73-1-->L73-2: Formula: (= (+ 1 |v_#pthreadsForks_6|) |v_#pthreadsForks_5|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_5|} AuxVars[] AssignedVars[#pthreadsForks] {505#true} is VALID [2022-02-20 20:55:11,499 INFO L290 TraceCheckUtils]: 35: Hoare triple {505#true} [163] L73-2-->L73-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~pre7#1_3|)) |v_#memory_int_5|) InVars {#memory_int=|v_#memory_int_6|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#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~pre7#1=|v_ULTIMATE.start_main_#t~pre7#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] {505#true} is VALID [2022-02-20 20:55:11,500 INFO L290 TraceCheckUtils]: 36: Hoare triple {505#true} [226] L73-3-->thread2ENTRY: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar1_2) (= |v_ULTIMATE.start_main_#t~pre7#1_6| v_thread2Thread1of1ForFork1_thidvar0_2) (= 0 v_thread2Thread1of1ForFork1_thidvar2_2)) InVars {ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_6|} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_4|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_12, thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_6|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_4|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#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~post2, thread2Thread1of1ForFork1_#res.base, thread2Thread1of1ForFork1_thidvar2, thread2Thread1of1ForFork1_thidvar0, thread2Thread1of1ForFork1_thidvar1] {505#true} is VALID [2022-02-20 20:55:11,500 INFO L290 TraceCheckUtils]: 37: Hoare triple {505#true} [165] L73-4-->L73-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre7#1] {505#true} is VALID [2022-02-20 20:55:11,500 INFO L290 TraceCheckUtils]: 38: Hoare triple {505#true} [164] L73-5-->L74: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet8#1=|v_ULTIMATE.start_main_#t~nondet8#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet8#1] {505#true} is VALID [2022-02-20 20:55:11,500 INFO L290 TraceCheckUtils]: 39: Hoare triple {505#true} [125] L74-->L74-1: Formula: (= |v_ULTIMATE.start_main_#t~mem9#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_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_2|, 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|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem9#1] {505#true} is VALID [2022-02-20 20:55:11,501 INFO L290 TraceCheckUtils]: 40: Hoare triple {505#true} [206] 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] {507#(= thread1Thread1of1ForFork0_~i~0 0)} is VALID [2022-02-20 20:55:11,501 INFO L290 TraceCheckUtils]: 41: Hoare triple {507#(= thread1Thread1of1ForFork0_~i~0 0)} [208] L41-4-->L41-5: Formula: (not (< (mod v_thread1Thread1of1ForFork0_~i~0_3 4294967296) (mod v_~M~0_1 4294967296))) 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[] {508#(<= 0 (div (+ (* (- 1) ~M~0) (* (div ~M~0 4294967296) 4294967296)) 4294967296))} is VALID [2022-02-20 20:55:11,502 INFO L290 TraceCheckUtils]: 42: Hoare triple {508#(<= 0 (div (+ (* (- 1) ~M~0) (* (div ~M~0 4294967296) 4294967296)) 4294967296))} [210] 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] {508#(<= 0 (div (+ (* (- 1) ~M~0) (* (div ~M~0 4294967296) 4294967296)) 4294967296))} is VALID [2022-02-20 20:55:11,502 INFO L290 TraceCheckUtils]: 43: Hoare triple {508#(<= 0 (div (+ (* (- 1) ~M~0) (* (div ~M~0 4294967296) 4294967296)) 4294967296))} [212] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {508#(<= 0 (div (+ (* (- 1) ~M~0) (* (div ~M~0 4294967296) 4294967296)) 4294967296))} is VALID [2022-02-20 20:55:11,503 INFO L290 TraceCheckUtils]: 44: Hoare triple {508#(<= 0 (div (+ (* (- 1) ~M~0) (* (div ~M~0 4294967296) 4294967296)) 4294967296))} [216] 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] {509#(and (<= (+ ~M~0 (* (div thread2Thread1of1ForFork1_~i~1 4294967296) 4294967296)) (* (div ~M~0 4294967296) 4294967296)) (= thread2Thread1of1ForFork1_~i~1 0))} is VALID [2022-02-20 20:55:11,503 INFO L290 TraceCheckUtils]: 45: Hoare triple {509#(and (<= (+ ~M~0 (* (div thread2Thread1of1ForFork1_~i~1 4294967296) 4294967296)) (* (div ~M~0 4294967296) 4294967296)) (= thread2Thread1of1ForFork1_~i~1 0))} [227] thread1EXIT-->L74-2: Formula: (and (= v_thread1Thread1of1ForFork0_thidvar1_4 0) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem9#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ (- 4294967296) .cse0))) v_thread1Thread1of1ForFork0_thidvar0_4)) InVars {thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_5|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4} OutVars{thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_5|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4} AuxVars[] AssignedVars[] {509#(and (<= (+ ~M~0 (* (div thread2Thread1of1ForFork1_~i~1 4294967296) 4294967296)) (* (div ~M~0 4294967296) 4294967296)) (= thread2Thread1of1ForFork1_~i~1 0))} is VALID [2022-02-20 20:55:11,504 INFO L290 TraceCheckUtils]: 46: Hoare triple {509#(and (<= (+ ~M~0 (* (div thread2Thread1of1ForFork1_~i~1 4294967296) 4294967296)) (* (div ~M~0 4294967296) 4294967296)) (= thread2Thread1of1ForFork1_~i~1 0))} [170] L74-2-->L75: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem9#1] {509#(and (<= (+ ~M~0 (* (div thread2Thread1of1ForFork1_~i~1 4294967296) 4294967296)) (* (div ~M~0 4294967296) 4294967296)) (= thread2Thread1of1ForFork1_~i~1 0))} is VALID [2022-02-20 20:55:11,505 INFO L290 TraceCheckUtils]: 47: Hoare triple {509#(and (<= (+ ~M~0 (* (div thread2Thread1of1ForFork1_~i~1 4294967296) 4294967296)) (* (div ~M~0 4294967296) 4294967296)) (= thread2Thread1of1ForFork1_~i~1 0))} [196] L75-->L75-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~mem10#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{#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_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10#1] {509#(and (<= (+ ~M~0 (* (div thread2Thread1of1ForFork1_~i~1 4294967296) 4294967296)) (* (div ~M~0 4294967296) 4294967296)) (= thread2Thread1of1ForFork1_~i~1 0))} is VALID [2022-02-20 20:55:11,505 INFO L290 TraceCheckUtils]: 48: Hoare triple {509#(and (<= (+ ~M~0 (* (div thread2Thread1of1ForFork1_~i~1 4294967296) 4294967296)) (* (div ~M~0 4294967296) 4294967296)) (= thread2Thread1of1ForFork1_~i~1 0))} [219] L54-1-->L53: Formula: (< (mod v_thread2Thread1of1ForFork1_~i~1_5 4294967296) (mod v_~M~0_4 4294967296)) 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[] {506#false} is VALID [2022-02-20 20:55:11,505 INFO L290 TraceCheckUtils]: 49: Hoare triple {506#false} [221] L53-->L54-1: Formula: (let ((.cse0 (< 0 (mod v_~counter~0_In_1 4294967296)))) (or (and (= |v_thread2Thread1of1ForFork1_#t~post2_2| |v_thread2Thread1of1ForFork1_#t~post2_1|) (= v_~counter~0_Out_2 v_~counter~0_In_1) (= v_thread2Thread1of1ForFork1_~i~1_8 v_thread2Thread1of1ForFork1_~i~1_7) (not .cse0)) (and (= v_~counter~0_Out_2 (+ v_~counter~0_In_1 (* (- 1) v_~C~0_In_1))) .cse0 (= (+ v_thread2Thread1of1ForFork1_~i~1_7 1) v_thread2Thread1of1ForFork1_~i~1_8)))) InVars {~counter~0=v_~counter~0_In_1, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_7, thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_1|, ~C~0=v_~C~0_In_1} OutVars{~counter~0=v_~counter~0_Out_2, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_8, thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_2|, ~C~0=v_~C~0_In_1} AuxVars[] AssignedVars[~counter~0, thread2Thread1of1ForFork1_~i~1, thread2Thread1of1ForFork1_#t~post2] {506#false} is VALID [2022-02-20 20:55:11,506 INFO L290 TraceCheckUtils]: 50: Hoare triple {506#false} [218] L54-1-->L52-2: Formula: (not (< (mod v_thread2Thread1of1ForFork1_~i~1_3 4294967296) (mod v_~M~0_3 4294967296))) 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[] {506#false} is VALID [2022-02-20 20:55:11,506 INFO L290 TraceCheckUtils]: 51: Hoare triple {506#false} [220] 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] {506#false} is VALID [2022-02-20 20:55:11,506 INFO L290 TraceCheckUtils]: 52: Hoare triple {506#false} [222] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {506#false} is VALID [2022-02-20 20:55:11,506 INFO L290 TraceCheckUtils]: 53: Hoare triple {506#false} [228] thread2EXIT-->L75-2: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar2_4) (= 0 v_thread2Thread1of1ForFork1_thidvar1_4) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem10#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ .cse0 (- 4294967296)))) v_thread2Thread1of1ForFork1_thidvar0_4)) InVars {thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} OutVars{thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} AuxVars[] AssignedVars[] {506#false} is VALID [2022-02-20 20:55:11,506 INFO L290 TraceCheckUtils]: 54: Hoare triple {506#false} [183] L75-2-->L77: 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] {506#false} is VALID [2022-02-20 20:55:11,507 INFO L290 TraceCheckUtils]: 55: Hoare triple {506#false} [136] L77-->L77-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {506#false} is VALID [2022-02-20 20:55:11,507 INFO L290 TraceCheckUtils]: 56: Hoare triple {506#false} [152] L77-1-->L77-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3| (ite (not (= (mod v_~counter~0_8 4294967296) 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] {506#false} is VALID [2022-02-20 20:55:11,507 INFO L290 TraceCheckUtils]: 57: Hoare triple {506#false} [174] L77-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] {506#false} is VALID [2022-02-20 20:55:11,507 INFO L290 TraceCheckUtils]: 58: Hoare triple {506#false} [171] 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] {506#false} is VALID [2022-02-20 20:55:11,507 INFO L290 TraceCheckUtils]: 59: Hoare triple {506#false} [138] 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[] {506#false} is VALID [2022-02-20 20:55:11,508 INFO L290 TraceCheckUtils]: 60: Hoare triple {506#false} [146] L34-3-->L78: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {506#false} is VALID [2022-02-20 20:55:11,508 INFO L290 TraceCheckUtils]: 61: Hoare triple {506#false} [153] L78-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {506#false} is VALID [2022-02-20 20:55:11,508 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:55:11,508 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 20:55:11,509 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [217256850] [2022-02-20 20:55:11,509 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [217256850] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 20:55:11,509 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 20:55:11,509 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 20:55:11,509 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [157164690] [2022-02-20 20:55:11,509 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 20:55:11,510 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 12.4) internal successors, (62), 5 states have internal predecessors, (62), 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 62 [2022-02-20 20:55:11,511 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 20:55:11,511 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 12.4) internal successors, (62), 5 states have internal predecessors, (62), 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:55:11,548 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 20:55:11,549 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 20:55:11,549 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 20:55:11,549 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 20:55:11,550 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-02-20 20:55:11,550 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 63 out of 84 [2022-02-20 20:55:11,551 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 76 places, 68 transitions, 156 flow. Second operand has 5 states, 5 states have (on average 65.6) internal successors, (328), 5 states have internal predecessors, (328), 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:55:11,551 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 20:55:11,551 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 63 of 84 [2022-02-20 20:55:11,551 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 20:55:11,702 INFO L129 PetriNetUnfolder]: 71/260 cut-off events. [2022-02-20 20:55:11,703 INFO L130 PetriNetUnfolder]: For 60/60 co-relation queries the response was YES. [2022-02-20 20:55:11,704 INFO L84 FinitePrefix]: Finished finitePrefix Result has 485 conditions, 260 events. 71/260 cut-off events. For 60/60 co-relation queries the response was YES. Maximal size of possible extension queue 19. Compared 1055 event pairs, 29 based on Foata normal form. 6/249 useless extension candidates. Maximal degree in co-relation 284. Up to 87 conditions per place. [2022-02-20 20:55:11,705 INFO L132 encePairwiseOnDemand]: 77/84 looper letters, 27 selfloop transitions, 5 changer transitions 3/86 dead transitions. [2022-02-20 20:55:11,705 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 79 places, 86 transitions, 287 flow [2022-02-20 20:55:11,705 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 20:55:11,705 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2022-02-20 20:55:11,709 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 412 transitions. [2022-02-20 20:55:11,709 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.8174603174603174 [2022-02-20 20:55:11,709 INFO L72 ComplementDD]: Start complementDD. Operand 6 states and 412 transitions. [2022-02-20 20:55:11,710 INFO L73 IsDeterministic]: Start isDeterministic. Operand 6 states and 412 transitions. [2022-02-20 20:55:11,710 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 20:55:11,710 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 6 states and 412 transitions. [2022-02-20 20:55:11,711 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 7 states, 6 states have (on average 68.66666666666667) internal successors, (412), 6 states have internal predecessors, (412), 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:55:11,712 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 7 states, 7 states have (on average 84.0) internal successors, (588), 7 states have internal predecessors, (588), 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:55:11,712 INFO L81 ComplementDD]: Finished complementDD. Result has 7 states, 7 states have (on average 84.0) internal successors, (588), 7 states have internal predecessors, (588), 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:55:11,713 INFO L186 Difference]: Start difference. First operand has 76 places, 68 transitions, 156 flow. Second operand 6 states and 412 transitions. [2022-02-20 20:55:11,713 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 79 places, 86 transitions, 287 flow [2022-02-20 20:55:11,714 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 75 places, 86 transitions, 275 flow, removed 0 selfloop flow, removed 4 redundant places. [2022-02-20 20:55:11,716 INFO L242 Difference]: Finished difference. Result has 78 places, 70 transitions, 176 flow [2022-02-20 20:55:11,716 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=84, PETRI_DIFFERENCE_MINUEND_FLOW=148, PETRI_DIFFERENCE_MINUEND_PLACES=70, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=68, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=3, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=63, PETRI_DIFFERENCE_SUBTRAHEND_STATES=6, PETRI_FLOW=176, PETRI_PLACES=78, PETRI_TRANSITIONS=70} [2022-02-20 20:55:11,716 INFO L334 CegarLoopForPetriNet]: 74 programPoint places, 4 predicate places. [2022-02-20 20:55:11,717 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 78 places, 70 transitions, 176 flow [2022-02-20 20:55:11,728 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 705 states, 701 states have (on average 2.425106990014265) internal successors, (1700), 704 states have internal predecessors, (1700), 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:55:11,729 INFO L78 Accepts]: Start accepts. Automaton has has 705 states, 701 states have (on average 2.425106990014265) internal successors, (1700), 704 states have internal predecessors, (1700), 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 62 [2022-02-20 20:55:11,730 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 20:55:11,730 INFO L470 AbstractCegarLoop]: Abstraction has has 78 places, 70 transitions, 176 flow [2022-02-20 20:55:11,730 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 65.6) internal successors, (328), 5 states have internal predecessors, (328), 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:55:11,730 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:55:11,730 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] [2022-02-20 20:55:11,731 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-20 20:55:11,731 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION] === [2022-02-20 20:55:11,731 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:55:11,731 INFO L85 PathProgramCache]: Analyzing trace with hash -155974885, now seen corresponding path program 2 times [2022-02-20 20:55:11,731 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:55:11,732 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [898739738] [2022-02-20 20:55:11,732 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:55:11,732 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:55:11,757 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:55:11,832 INFO L290 TraceCheckUtils]: 0: Hoare triple {1225#true} [188] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1225#true} is VALID [2022-02-20 20:55:11,833 INFO L290 TraceCheckUtils]: 1: Hoare triple {1225#true} [169] 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] {1225#true} is VALID [2022-02-20 20:55:11,833 INFO L290 TraceCheckUtils]: 2: Hoare triple {1225#true} [192] 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[] {1225#true} is VALID [2022-02-20 20:55:11,833 INFO L290 TraceCheckUtils]: 3: Hoare triple {1225#true} [193] L-1-2-->L21: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {1225#true} is VALID [2022-02-20 20:55:11,833 INFO L290 TraceCheckUtils]: 4: Hoare triple {1225#true} [160] 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[] {1225#true} is VALID [2022-02-20 20:55:11,834 INFO L290 TraceCheckUtils]: 5: Hoare triple {1225#true} [184] 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[] {1225#true} is VALID [2022-02-20 20:55:11,834 INFO L290 TraceCheckUtils]: 6: Hoare triple {1225#true} [181] 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[] {1225#true} is VALID [2022-02-20 20:55:11,834 INFO L290 TraceCheckUtils]: 7: Hoare triple {1225#true} [148] L21-3-->L21-4: Formula: (and (= 43 (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[] {1225#true} is VALID [2022-02-20 20:55:11,834 INFO L290 TraceCheckUtils]: 8: Hoare triple {1225#true} [201] L21-4-->L38: Formula: (= v_~M~0_5 0) InVars {} OutVars{~M~0=v_~M~0_5} AuxVars[] AssignedVars[~M~0] {1225#true} is VALID [2022-02-20 20:55:11,835 INFO L290 TraceCheckUtils]: 9: Hoare triple {1225#true} [202] L38-->L38-1: Formula: (= v_~counter~0_7 0) InVars {} OutVars{~counter~0=v_~counter~0_7} AuxVars[] AssignedVars[~counter~0] {1227#(= ~counter~0 0)} is VALID [2022-02-20 20:55:11,835 INFO L290 TraceCheckUtils]: 10: Hoare triple {1227#(= ~counter~0 0)} [151] L38-1-->L-1-3: Formula: (= v_~C~0_3 0) InVars {} OutVars{~C~0=v_~C~0_3} AuxVars[] AssignedVars[~C~0] {1227#(= ~counter~0 0)} is VALID [2022-02-20 20:55:11,835 INFO L290 TraceCheckUtils]: 11: Hoare triple {1227#(= ~counter~0 0)} [197] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1227#(= ~counter~0 0)} is VALID [2022-02-20 20:55:11,836 INFO L290 TraceCheckUtils]: 12: Hoare triple {1227#(= ~counter~0 0)} [178] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1227#(= ~counter~0 0)} is VALID [2022-02-20 20:55:11,836 INFO L290 TraceCheckUtils]: 13: Hoare triple {1227#(= ~counter~0 0)} [143] 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] {1227#(= ~counter~0 0)} is VALID [2022-02-20 20:55:11,837 INFO L290 TraceCheckUtils]: 14: Hoare triple {1227#(= ~counter~0 0)} [175] L-1-6-->L65: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_1|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_1|, ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#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_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_#t~nondet8#1=|v_ULTIMATE.start_main_#t~nondet8#1_1|, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_1|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_1|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1, ULTIMATE.start_main_#t~nondet4#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_#t~nondet8#1, ULTIMATE.start_main_#t~nondet6#1, ULTIMATE.start_main_#t~mem9#1, ULTIMATE.start_main_#t~pre7#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] {1227#(= ~counter~0 0)} is VALID [2022-02-20 20:55:11,837 INFO L290 TraceCheckUtils]: 15: Hoare triple {1227#(= ~counter~0 0)} [204] 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] {1227#(= ~counter~0 0)} is VALID [2022-02-20 20:55:11,838 INFO L290 TraceCheckUtils]: 16: Hoare triple {1227#(= ~counter~0 0)} [189] 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] {1227#(= ~counter~0 0)} is VALID [2022-02-20 20:55:11,838 INFO L290 TraceCheckUtils]: 17: Hoare triple {1227#(= ~counter~0 0)} [168] L65-2-->L67: Formula: (= |v_ULTIMATE.start_main_#t~nondet3#1_2| v_~C~0_4) InVars {ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|, ~C~0=v_~C~0_4} AuxVars[] AssignedVars[~C~0] {1227#(= ~counter~0 0)} is VALID [2022-02-20 20:55:11,838 INFO L290 TraceCheckUtils]: 18: Hoare triple {1227#(= ~counter~0 0)} [187] L67-->L68: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] {1227#(= ~counter~0 0)} is VALID [2022-02-20 20:55:11,839 INFO L290 TraceCheckUtils]: 19: Hoare triple {1227#(= ~counter~0 0)} [191] L68-->L68-1: Formula: (= |v_ULTIMATE.start_main_#t~nondet4#1_2| v_~M~0_6) InVars {ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_2|} OutVars{~M~0=v_~M~0_6, ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_2|} AuxVars[] AssignedVars[~M~0] {1227#(= ~counter~0 0)} is VALID [2022-02-20 20:55:11,839 INFO L290 TraceCheckUtils]: 20: Hoare triple {1227#(= ~counter~0 0)} [155] L68-1-->L69: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet4#1] {1227#(= ~counter~0 0)} is VALID [2022-02-20 20:55:11,840 INFO L290 TraceCheckUtils]: 21: Hoare triple {1227#(= ~counter~0 0)} [142] L69-->L69-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1227#(= ~counter~0 0)} is VALID [2022-02-20 20:55:11,840 INFO L290 TraceCheckUtils]: 22: Hoare triple {1227#(= ~counter~0 0)} [194] L69-1-->L69-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1| (ite (< 0 (mod v_~M~0_7 4294967296)) 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] {1227#(= ~counter~0 0)} is VALID [2022-02-20 20:55:11,841 INFO L290 TraceCheckUtils]: 23: Hoare triple {1227#(= ~counter~0 0)} [166] L69-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] {1227#(= ~counter~0 0)} is VALID [2022-02-20 20:55:11,841 INFO L290 TraceCheckUtils]: 24: Hoare triple {1227#(= ~counter~0 0)} [158] 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] {1227#(= ~counter~0 0)} is VALID [2022-02-20 20:55:11,842 INFO L290 TraceCheckUtils]: 25: Hoare triple {1227#(= ~counter~0 0)} [186] 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[] {1227#(= ~counter~0 0)} is VALID [2022-02-20 20:55:11,842 INFO L290 TraceCheckUtils]: 26: Hoare triple {1227#(= ~counter~0 0)} [179] L34-1-->L72: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1227#(= ~counter~0 0)} is VALID [2022-02-20 20:55:11,843 INFO L290 TraceCheckUtils]: 27: Hoare triple {1227#(= ~counter~0 0)} [203] L72-->L72-1: Formula: (= |v_ULTIMATE.start_main_#t~pre5#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_2|, #pthreadsForks=|v_#pthreadsForks_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1] {1227#(= ~counter~0 0)} is VALID [2022-02-20 20:55:11,843 INFO L290 TraceCheckUtils]: 28: Hoare triple {1227#(= ~counter~0 0)} [124] L72-1-->L72-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {1227#(= ~counter~0 0)} is VALID [2022-02-20 20:55:11,844 INFO L290 TraceCheckUtils]: 29: Hoare triple {1227#(= ~counter~0 0)} [132] L72-2-->L72-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~pre5#1_3|)) |v_#memory_int_3|) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_3|, #memory_int=|v_#memory_int_4|, 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{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_3|, #memory_int=|v_#memory_int_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] {1227#(= ~counter~0 0)} is VALID [2022-02-20 20:55:11,844 INFO L290 TraceCheckUtils]: 30: Hoare triple {1227#(= ~counter~0 0)} [224] L72-3-->thread1ENTRY: Formula: (and (= v_thread1Thread1of1ForFork0_thidvar1_2 0) (= |v_ULTIMATE.start_main_#t~pre5#1_6| v_thread1Thread1of1ForFork0_thidvar0_2)) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_6|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_6|, thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_4|, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_8|, 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_~i~0, thread1Thread1of1ForFork0_thidvar0, thread1Thread1of1ForFork0_#res.offset, thread1Thread1of1ForFork0_thidvar1] {1227#(= ~counter~0 0)} is VALID [2022-02-20 20:55:11,844 INFO L290 TraceCheckUtils]: 31: Hoare triple {1227#(= ~counter~0 0)} [195] L72-4-->L72-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1] {1227#(= ~counter~0 0)} is VALID [2022-02-20 20:55:11,845 INFO L290 TraceCheckUtils]: 32: Hoare triple {1227#(= ~counter~0 0)} [127] L72-5-->L73: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet6#1] {1227#(= ~counter~0 0)} is VALID [2022-02-20 20:55:11,845 INFO L290 TraceCheckUtils]: 33: Hoare triple {1227#(= ~counter~0 0)} [162] L73-->L73-1: Formula: (= |v_ULTIMATE.start_main_#t~pre7#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre7#1] {1227#(= ~counter~0 0)} is VALID [2022-02-20 20:55:11,845 INFO L290 TraceCheckUtils]: 34: Hoare triple {1227#(= ~counter~0 0)} [177] L73-1-->L73-2: Formula: (= (+ 1 |v_#pthreadsForks_6|) |v_#pthreadsForks_5|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_5|} AuxVars[] AssignedVars[#pthreadsForks] {1227#(= ~counter~0 0)} is VALID [2022-02-20 20:55:11,846 INFO L290 TraceCheckUtils]: 35: Hoare triple {1227#(= ~counter~0 0)} [163] L73-2-->L73-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~pre7#1_3|)) |v_#memory_int_5|) InVars {#memory_int=|v_#memory_int_6|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#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~pre7#1=|v_ULTIMATE.start_main_#t~pre7#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] {1227#(= ~counter~0 0)} is VALID [2022-02-20 20:55:11,846 INFO L290 TraceCheckUtils]: 36: Hoare triple {1227#(= ~counter~0 0)} [226] L73-3-->thread2ENTRY: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar1_2) (= |v_ULTIMATE.start_main_#t~pre7#1_6| v_thread2Thread1of1ForFork1_thidvar0_2) (= 0 v_thread2Thread1of1ForFork1_thidvar2_2)) InVars {ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_6|} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_4|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_12, thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_6|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_4|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#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~post2, thread2Thread1of1ForFork1_#res.base, thread2Thread1of1ForFork1_thidvar2, thread2Thread1of1ForFork1_thidvar0, thread2Thread1of1ForFork1_thidvar1] {1227#(= ~counter~0 0)} is VALID [2022-02-20 20:55:11,846 INFO L290 TraceCheckUtils]: 37: Hoare triple {1227#(= ~counter~0 0)} [165] L73-4-->L73-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre7#1] {1227#(= ~counter~0 0)} is VALID [2022-02-20 20:55:11,847 INFO L290 TraceCheckUtils]: 38: Hoare triple {1227#(= ~counter~0 0)} [164] L73-5-->L74: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet8#1=|v_ULTIMATE.start_main_#t~nondet8#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet8#1] {1227#(= ~counter~0 0)} is VALID [2022-02-20 20:55:11,847 INFO L290 TraceCheckUtils]: 39: Hoare triple {1227#(= ~counter~0 0)} [125] L74-->L74-1: Formula: (= |v_ULTIMATE.start_main_#t~mem9#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_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_2|, 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|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem9#1] {1227#(= ~counter~0 0)} is VALID [2022-02-20 20:55:11,848 INFO L290 TraceCheckUtils]: 40: Hoare triple {1227#(= ~counter~0 0)} [216] 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] {1228#(and (= thread2Thread1of1ForFork1_~i~1 0) (= ~counter~0 0))} is VALID [2022-02-20 20:55:11,848 INFO L290 TraceCheckUtils]: 41: Hoare triple {1228#(and (= thread2Thread1of1ForFork1_~i~1 0) (= ~counter~0 0))} [219] L54-1-->L53: Formula: (< (mod v_thread2Thread1of1ForFork1_~i~1_5 4294967296) (mod v_~M~0_4 4294967296)) 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[] {1229#(and (= thread2Thread1of1ForFork1_~i~1 0) (= ~counter~0 0) (<= (+ (* (div ~M~0 4294967296) 4294967296) 1) ~M~0))} is VALID [2022-02-20 20:55:11,849 INFO L290 TraceCheckUtils]: 42: Hoare triple {1229#(and (= thread2Thread1of1ForFork1_~i~1 0) (= ~counter~0 0) (<= (+ (* (div ~M~0 4294967296) 4294967296) 1) ~M~0))} [221] L53-->L54-1: Formula: (let ((.cse0 (< 0 (mod v_~counter~0_In_1 4294967296)))) (or (and (= |v_thread2Thread1of1ForFork1_#t~post2_2| |v_thread2Thread1of1ForFork1_#t~post2_1|) (= v_~counter~0_Out_2 v_~counter~0_In_1) (= v_thread2Thread1of1ForFork1_~i~1_8 v_thread2Thread1of1ForFork1_~i~1_7) (not .cse0)) (and (= v_~counter~0_Out_2 (+ v_~counter~0_In_1 (* (- 1) v_~C~0_In_1))) .cse0 (= (+ v_thread2Thread1of1ForFork1_~i~1_7 1) v_thread2Thread1of1ForFork1_~i~1_8)))) InVars {~counter~0=v_~counter~0_In_1, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_7, thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_1|, ~C~0=v_~C~0_In_1} OutVars{~counter~0=v_~counter~0_Out_2, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_8, thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_2|, ~C~0=v_~C~0_In_1} AuxVars[] AssignedVars[~counter~0, thread2Thread1of1ForFork1_~i~1, thread2Thread1of1ForFork1_#t~post2] {1230#(and (= thread2Thread1of1ForFork1_~i~1 0) (<= (+ (* (div ~M~0 4294967296) 4294967296) 1) ~M~0))} is VALID [2022-02-20 20:55:11,850 INFO L290 TraceCheckUtils]: 43: Hoare triple {1230#(and (= thread2Thread1of1ForFork1_~i~1 0) (<= (+ (* (div ~M~0 4294967296) 4294967296) 1) ~M~0))} [218] L54-1-->L52-2: Formula: (not (< (mod v_thread2Thread1of1ForFork1_~i~1_3 4294967296) (mod v_~M~0_3 4294967296))) 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[] {1226#false} is VALID [2022-02-20 20:55:11,850 INFO L290 TraceCheckUtils]: 44: Hoare triple {1226#false} [206] 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] {1226#false} is VALID [2022-02-20 20:55:11,850 INFO L290 TraceCheckUtils]: 45: Hoare triple {1226#false} [208] L41-4-->L41-5: Formula: (not (< (mod v_thread1Thread1of1ForFork0_~i~0_3 4294967296) (mod v_~M~0_1 4294967296))) 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[] {1226#false} is VALID [2022-02-20 20:55:11,850 INFO L290 TraceCheckUtils]: 46: Hoare triple {1226#false} [210] 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] {1226#false} is VALID [2022-02-20 20:55:11,850 INFO L290 TraceCheckUtils]: 47: Hoare triple {1226#false} [212] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1226#false} is VALID [2022-02-20 20:55:11,851 INFO L290 TraceCheckUtils]: 48: Hoare triple {1226#false} [227] thread1EXIT-->L74-2: Formula: (and (= v_thread1Thread1of1ForFork0_thidvar1_4 0) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem9#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ (- 4294967296) .cse0))) v_thread1Thread1of1ForFork0_thidvar0_4)) InVars {thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_5|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4} OutVars{thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_5|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4} AuxVars[] AssignedVars[] {1226#false} is VALID [2022-02-20 20:55:11,851 INFO L290 TraceCheckUtils]: 49: Hoare triple {1226#false} [220] 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] {1226#false} is VALID [2022-02-20 20:55:11,851 INFO L290 TraceCheckUtils]: 50: Hoare triple {1226#false} [222] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1226#false} is VALID [2022-02-20 20:55:11,851 INFO L290 TraceCheckUtils]: 51: Hoare triple {1226#false} [170] L74-2-->L75: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem9#1] {1226#false} is VALID [2022-02-20 20:55:11,851 INFO L290 TraceCheckUtils]: 52: Hoare triple {1226#false} [196] L75-->L75-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~mem10#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{#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_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10#1] {1226#false} is VALID [2022-02-20 20:55:11,851 INFO L290 TraceCheckUtils]: 53: Hoare triple {1226#false} [228] thread2EXIT-->L75-2: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar2_4) (= 0 v_thread2Thread1of1ForFork1_thidvar1_4) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem10#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ .cse0 (- 4294967296)))) v_thread2Thread1of1ForFork1_thidvar0_4)) InVars {thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} OutVars{thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} AuxVars[] AssignedVars[] {1226#false} is VALID [2022-02-20 20:55:11,852 INFO L290 TraceCheckUtils]: 54: Hoare triple {1226#false} [183] L75-2-->L77: 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] {1226#false} is VALID [2022-02-20 20:55:11,852 INFO L290 TraceCheckUtils]: 55: Hoare triple {1226#false} [136] L77-->L77-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1226#false} is VALID [2022-02-20 20:55:11,852 INFO L290 TraceCheckUtils]: 56: Hoare triple {1226#false} [152] L77-1-->L77-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3| (ite (not (= (mod v_~counter~0_8 4294967296) 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] {1226#false} is VALID [2022-02-20 20:55:11,852 INFO L290 TraceCheckUtils]: 57: Hoare triple {1226#false} [174] L77-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] {1226#false} is VALID [2022-02-20 20:55:11,852 INFO L290 TraceCheckUtils]: 58: Hoare triple {1226#false} [171] 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] {1226#false} is VALID [2022-02-20 20:55:11,852 INFO L290 TraceCheckUtils]: 59: Hoare triple {1226#false} [138] 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[] {1226#false} is VALID [2022-02-20 20:55:11,852 INFO L290 TraceCheckUtils]: 60: Hoare triple {1226#false} [146] L34-3-->L78: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1226#false} is VALID [2022-02-20 20:55:11,853 INFO L290 TraceCheckUtils]: 61: Hoare triple {1226#false} [153] L78-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1226#false} is VALID [2022-02-20 20:55:11,853 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:55:11,853 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 20:55:11,853 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [898739738] [2022-02-20 20:55:11,853 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [898739738] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 20:55:11,854 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1255992094] [2022-02-20 20:55:11,854 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 20:55:11,854 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 20:55:11,854 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 20:55:11,858 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:55:11,888 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:55:11,922 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-02-20 20:55:11,923 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 20:55:11,925 INFO L263 TraceCheckSpWp]: Trace formula consists of 141 conjuncts, 8 conjunts are in the unsatisfiable core [2022-02-20 20:55:11,940 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:55:11,945 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 20:55:12,329 INFO L290 TraceCheckUtils]: 0: Hoare triple {1225#true} [188] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1225#true} is VALID [2022-02-20 20:55:12,330 INFO L290 TraceCheckUtils]: 1: Hoare triple {1225#true} [169] 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] {1225#true} is VALID [2022-02-20 20:55:12,330 INFO L290 TraceCheckUtils]: 2: Hoare triple {1225#true} [192] 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[] {1225#true} is VALID [2022-02-20 20:55:12,330 INFO L290 TraceCheckUtils]: 3: Hoare triple {1225#true} [193] L-1-2-->L21: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {1225#true} is VALID [2022-02-20 20:55:12,330 INFO L290 TraceCheckUtils]: 4: Hoare triple {1225#true} [160] 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[] {1225#true} is VALID [2022-02-20 20:55:12,330 INFO L290 TraceCheckUtils]: 5: Hoare triple {1225#true} [184] 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[] {1225#true} is VALID [2022-02-20 20:55:12,331 INFO L290 TraceCheckUtils]: 6: Hoare triple {1225#true} [181] 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[] {1225#true} is VALID [2022-02-20 20:55:12,331 INFO L290 TraceCheckUtils]: 7: Hoare triple {1225#true} [148] L21-3-->L21-4: Formula: (and (= 43 (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[] {1225#true} is VALID [2022-02-20 20:55:12,331 INFO L290 TraceCheckUtils]: 8: Hoare triple {1225#true} [201] L21-4-->L38: Formula: (= v_~M~0_5 0) InVars {} OutVars{~M~0=v_~M~0_5} AuxVars[] AssignedVars[~M~0] {1225#true} is VALID [2022-02-20 20:55:12,331 INFO L290 TraceCheckUtils]: 9: Hoare triple {1225#true} [202] L38-->L38-1: Formula: (= v_~counter~0_7 0) InVars {} OutVars{~counter~0=v_~counter~0_7} AuxVars[] AssignedVars[~counter~0] {1225#true} is VALID [2022-02-20 20:55:12,331 INFO L290 TraceCheckUtils]: 10: Hoare triple {1225#true} [151] L38-1-->L-1-3: Formula: (= v_~C~0_3 0) InVars {} OutVars{~C~0=v_~C~0_3} AuxVars[] AssignedVars[~C~0] {1225#true} is VALID [2022-02-20 20:55:12,332 INFO L290 TraceCheckUtils]: 11: Hoare triple {1225#true} [197] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1225#true} is VALID [2022-02-20 20:55:12,332 INFO L290 TraceCheckUtils]: 12: Hoare triple {1225#true} [178] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1225#true} is VALID [2022-02-20 20:55:12,332 INFO L290 TraceCheckUtils]: 13: Hoare triple {1225#true} [143] 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] {1225#true} is VALID [2022-02-20 20:55:12,332 INFO L290 TraceCheckUtils]: 14: Hoare triple {1225#true} [175] L-1-6-->L65: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_1|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_1|, ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#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_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_#t~nondet8#1=|v_ULTIMATE.start_main_#t~nondet8#1_1|, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_1|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_1|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1, ULTIMATE.start_main_#t~nondet4#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_#t~nondet8#1, ULTIMATE.start_main_#t~nondet6#1, ULTIMATE.start_main_#t~mem9#1, ULTIMATE.start_main_#t~pre7#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] {1225#true} is VALID [2022-02-20 20:55:12,332 INFO L290 TraceCheckUtils]: 15: Hoare triple {1225#true} [204] 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] {1225#true} is VALID [2022-02-20 20:55:12,333 INFO L290 TraceCheckUtils]: 16: Hoare triple {1225#true} [189] 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] {1225#true} is VALID [2022-02-20 20:55:12,333 INFO L290 TraceCheckUtils]: 17: Hoare triple {1225#true} [168] L65-2-->L67: Formula: (= |v_ULTIMATE.start_main_#t~nondet3#1_2| v_~C~0_4) InVars {ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|, ~C~0=v_~C~0_4} AuxVars[] AssignedVars[~C~0] {1225#true} is VALID [2022-02-20 20:55:12,333 INFO L290 TraceCheckUtils]: 18: Hoare triple {1225#true} [187] L67-->L68: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] {1225#true} is VALID [2022-02-20 20:55:12,333 INFO L290 TraceCheckUtils]: 19: Hoare triple {1225#true} [191] L68-->L68-1: Formula: (= |v_ULTIMATE.start_main_#t~nondet4#1_2| v_~M~0_6) InVars {ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_2|} OutVars{~M~0=v_~M~0_6, ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_2|} AuxVars[] AssignedVars[~M~0] {1225#true} is VALID [2022-02-20 20:55:12,333 INFO L290 TraceCheckUtils]: 20: Hoare triple {1225#true} [155] L68-1-->L69: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet4#1] {1225#true} is VALID [2022-02-20 20:55:12,334 INFO L290 TraceCheckUtils]: 21: Hoare triple {1225#true} [142] L69-->L69-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1225#true} is VALID [2022-02-20 20:55:12,335 INFO L290 TraceCheckUtils]: 22: Hoare triple {1225#true} [194] L69-1-->L69-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1| (ite (< 0 (mod v_~M~0_7 4294967296)) 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] {1300#(or (and (< 0 (mod ~M~0 4294967296)) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 1)) (and (not (< 0 (mod ~M~0 4294967296))) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)))} is VALID [2022-02-20 20:55:12,335 INFO L290 TraceCheckUtils]: 23: Hoare triple {1300#(or (and (< 0 (mod ~M~0 4294967296)) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 1)) (and (not (< 0 (mod ~M~0 4294967296))) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)))} [166] L69-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] {1300#(or (and (< 0 (mod ~M~0 4294967296)) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 1)) (and (not (< 0 (mod ~M~0 4294967296))) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)))} is VALID [2022-02-20 20:55:12,336 INFO L290 TraceCheckUtils]: 24: Hoare triple {1300#(or (and (< 0 (mod ~M~0 4294967296)) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 1)) (and (not (< 0 (mod ~M~0 4294967296))) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)))} [158] 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] {1307#(or (and (not (< 0 (mod ~M~0 4294967296))) (= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0)) (and (= |ULTIMATE.start_assume_abort_if_not_~cond#1| 1) (< 0 (mod ~M~0 4294967296))))} is VALID [2022-02-20 20:55:12,337 INFO L290 TraceCheckUtils]: 25: Hoare triple {1307#(or (and (not (< 0 (mod ~M~0 4294967296))) (= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0)) (and (= |ULTIMATE.start_assume_abort_if_not_~cond#1| 1) (< 0 (mod ~M~0 4294967296))))} [186] 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[] {1311#(< 0 (mod ~M~0 4294967296))} is VALID [2022-02-20 20:55:12,337 INFO L290 TraceCheckUtils]: 26: Hoare triple {1311#(< 0 (mod ~M~0 4294967296))} [179] L34-1-->L72: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1311#(< 0 (mod ~M~0 4294967296))} is VALID [2022-02-20 20:55:12,337 INFO L290 TraceCheckUtils]: 27: Hoare triple {1311#(< 0 (mod ~M~0 4294967296))} [203] L72-->L72-1: Formula: (= |v_ULTIMATE.start_main_#t~pre5#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_2|, #pthreadsForks=|v_#pthreadsForks_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1] {1311#(< 0 (mod ~M~0 4294967296))} is VALID [2022-02-20 20:55:12,338 INFO L290 TraceCheckUtils]: 28: Hoare triple {1311#(< 0 (mod ~M~0 4294967296))} [124] L72-1-->L72-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {1311#(< 0 (mod ~M~0 4294967296))} is VALID [2022-02-20 20:55:12,338 INFO L290 TraceCheckUtils]: 29: Hoare triple {1311#(< 0 (mod ~M~0 4294967296))} [132] L72-2-->L72-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~pre5#1_3|)) |v_#memory_int_3|) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_3|, #memory_int=|v_#memory_int_4|, 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{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_3|, #memory_int=|v_#memory_int_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] {1311#(< 0 (mod ~M~0 4294967296))} is VALID [2022-02-20 20:55:12,339 INFO L290 TraceCheckUtils]: 30: Hoare triple {1311#(< 0 (mod ~M~0 4294967296))} [224] L72-3-->thread1ENTRY: Formula: (and (= v_thread1Thread1of1ForFork0_thidvar1_2 0) (= |v_ULTIMATE.start_main_#t~pre5#1_6| v_thread1Thread1of1ForFork0_thidvar0_2)) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_6|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_6|, thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_4|, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_8|, 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_~i~0, thread1Thread1of1ForFork0_thidvar0, thread1Thread1of1ForFork0_#res.offset, thread1Thread1of1ForFork0_thidvar1] {1311#(< 0 (mod ~M~0 4294967296))} is VALID [2022-02-20 20:55:12,339 INFO L290 TraceCheckUtils]: 31: Hoare triple {1311#(< 0 (mod ~M~0 4294967296))} [195] L72-4-->L72-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1] {1311#(< 0 (mod ~M~0 4294967296))} is VALID [2022-02-20 20:55:12,339 INFO L290 TraceCheckUtils]: 32: Hoare triple {1311#(< 0 (mod ~M~0 4294967296))} [127] L72-5-->L73: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet6#1] {1311#(< 0 (mod ~M~0 4294967296))} is VALID [2022-02-20 20:55:12,340 INFO L290 TraceCheckUtils]: 33: Hoare triple {1311#(< 0 (mod ~M~0 4294967296))} [162] L73-->L73-1: Formula: (= |v_ULTIMATE.start_main_#t~pre7#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre7#1] {1311#(< 0 (mod ~M~0 4294967296))} is VALID [2022-02-20 20:55:12,340 INFO L290 TraceCheckUtils]: 34: Hoare triple {1311#(< 0 (mod ~M~0 4294967296))} [177] L73-1-->L73-2: Formula: (= (+ 1 |v_#pthreadsForks_6|) |v_#pthreadsForks_5|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_5|} AuxVars[] AssignedVars[#pthreadsForks] {1311#(< 0 (mod ~M~0 4294967296))} is VALID [2022-02-20 20:55:12,341 INFO L290 TraceCheckUtils]: 35: Hoare triple {1311#(< 0 (mod ~M~0 4294967296))} [163] L73-2-->L73-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~pre7#1_3|)) |v_#memory_int_5|) InVars {#memory_int=|v_#memory_int_6|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#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~pre7#1=|v_ULTIMATE.start_main_#t~pre7#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] {1311#(< 0 (mod ~M~0 4294967296))} is VALID [2022-02-20 20:55:12,341 INFO L290 TraceCheckUtils]: 36: Hoare triple {1311#(< 0 (mod ~M~0 4294967296))} [226] L73-3-->thread2ENTRY: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar1_2) (= |v_ULTIMATE.start_main_#t~pre7#1_6| v_thread2Thread1of1ForFork1_thidvar0_2) (= 0 v_thread2Thread1of1ForFork1_thidvar2_2)) InVars {ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_6|} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_4|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_12, thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_6|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_4|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#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~post2, thread2Thread1of1ForFork1_#res.base, thread2Thread1of1ForFork1_thidvar2, thread2Thread1of1ForFork1_thidvar0, thread2Thread1of1ForFork1_thidvar1] {1311#(< 0 (mod ~M~0 4294967296))} is VALID [2022-02-20 20:55:12,341 INFO L290 TraceCheckUtils]: 37: Hoare triple {1311#(< 0 (mod ~M~0 4294967296))} [165] L73-4-->L73-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre7#1] {1311#(< 0 (mod ~M~0 4294967296))} is VALID [2022-02-20 20:55:12,342 INFO L290 TraceCheckUtils]: 38: Hoare triple {1311#(< 0 (mod ~M~0 4294967296))} [164] L73-5-->L74: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet8#1=|v_ULTIMATE.start_main_#t~nondet8#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet8#1] {1311#(< 0 (mod ~M~0 4294967296))} is VALID [2022-02-20 20:55:12,342 INFO L290 TraceCheckUtils]: 39: Hoare triple {1311#(< 0 (mod ~M~0 4294967296))} [125] L74-->L74-1: Formula: (= |v_ULTIMATE.start_main_#t~mem9#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_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_2|, 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|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem9#1] {1311#(< 0 (mod ~M~0 4294967296))} is VALID [2022-02-20 20:55:12,343 INFO L290 TraceCheckUtils]: 40: Hoare triple {1311#(< 0 (mod ~M~0 4294967296))} [216] 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] {1311#(< 0 (mod ~M~0 4294967296))} is VALID [2022-02-20 20:55:12,343 INFO L290 TraceCheckUtils]: 41: Hoare triple {1311#(< 0 (mod ~M~0 4294967296))} [219] L54-1-->L53: Formula: (< (mod v_thread2Thread1of1ForFork1_~i~1_5 4294967296) (mod v_~M~0_4 4294967296)) 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[] {1311#(< 0 (mod ~M~0 4294967296))} is VALID [2022-02-20 20:55:12,343 INFO L290 TraceCheckUtils]: 42: Hoare triple {1311#(< 0 (mod ~M~0 4294967296))} [221] L53-->L54-1: Formula: (let ((.cse0 (< 0 (mod v_~counter~0_In_1 4294967296)))) (or (and (= |v_thread2Thread1of1ForFork1_#t~post2_2| |v_thread2Thread1of1ForFork1_#t~post2_1|) (= v_~counter~0_Out_2 v_~counter~0_In_1) (= v_thread2Thread1of1ForFork1_~i~1_8 v_thread2Thread1of1ForFork1_~i~1_7) (not .cse0)) (and (= v_~counter~0_Out_2 (+ v_~counter~0_In_1 (* (- 1) v_~C~0_In_1))) .cse0 (= (+ v_thread2Thread1of1ForFork1_~i~1_7 1) v_thread2Thread1of1ForFork1_~i~1_8)))) InVars {~counter~0=v_~counter~0_In_1, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_7, thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_1|, ~C~0=v_~C~0_In_1} OutVars{~counter~0=v_~counter~0_Out_2, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_8, thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_2|, ~C~0=v_~C~0_In_1} AuxVars[] AssignedVars[~counter~0, thread2Thread1of1ForFork1_~i~1, thread2Thread1of1ForFork1_#t~post2] {1311#(< 0 (mod ~M~0 4294967296))} is VALID [2022-02-20 20:55:12,344 INFO L290 TraceCheckUtils]: 43: Hoare triple {1311#(< 0 (mod ~M~0 4294967296))} [218] L54-1-->L52-2: Formula: (not (< (mod v_thread2Thread1of1ForFork1_~i~1_3 4294967296) (mod v_~M~0_3 4294967296))) 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[] {1311#(< 0 (mod ~M~0 4294967296))} is VALID [2022-02-20 20:55:12,344 INFO L290 TraceCheckUtils]: 44: Hoare triple {1311#(< 0 (mod ~M~0 4294967296))} [206] 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] {1369#(and (< 0 (mod ~M~0 4294967296)) (= thread1Thread1of1ForFork0_~i~0 0))} is VALID [2022-02-20 20:55:12,345 INFO L290 TraceCheckUtils]: 45: Hoare triple {1369#(and (< 0 (mod ~M~0 4294967296)) (= thread1Thread1of1ForFork0_~i~0 0))} [208] L41-4-->L41-5: Formula: (not (< (mod v_thread1Thread1of1ForFork0_~i~0_3 4294967296) (mod v_~M~0_1 4294967296))) 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[] {1226#false} is VALID [2022-02-20 20:55:12,345 INFO L290 TraceCheckUtils]: 46: Hoare triple {1226#false} [210] 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] {1226#false} is VALID [2022-02-20 20:55:12,345 INFO L290 TraceCheckUtils]: 47: Hoare triple {1226#false} [212] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1226#false} is VALID [2022-02-20 20:55:12,346 INFO L290 TraceCheckUtils]: 48: Hoare triple {1226#false} [227] thread1EXIT-->L74-2: Formula: (and (= v_thread1Thread1of1ForFork0_thidvar1_4 0) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem9#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ (- 4294967296) .cse0))) v_thread1Thread1of1ForFork0_thidvar0_4)) InVars {thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_5|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4} OutVars{thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_5|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4} AuxVars[] AssignedVars[] {1226#false} is VALID [2022-02-20 20:55:12,346 INFO L290 TraceCheckUtils]: 49: Hoare triple {1226#false} [220] 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] {1226#false} is VALID [2022-02-20 20:55:12,346 INFO L290 TraceCheckUtils]: 50: Hoare triple {1226#false} [222] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1226#false} is VALID [2022-02-20 20:55:12,346 INFO L290 TraceCheckUtils]: 51: Hoare triple {1226#false} [170] L74-2-->L75: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem9#1] {1226#false} is VALID [2022-02-20 20:55:12,346 INFO L290 TraceCheckUtils]: 52: Hoare triple {1226#false} [196] L75-->L75-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~mem10#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{#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_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10#1] {1226#false} is VALID [2022-02-20 20:55:12,347 INFO L290 TraceCheckUtils]: 53: Hoare triple {1226#false} [228] thread2EXIT-->L75-2: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar2_4) (= 0 v_thread2Thread1of1ForFork1_thidvar1_4) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem10#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ .cse0 (- 4294967296)))) v_thread2Thread1of1ForFork1_thidvar0_4)) InVars {thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} OutVars{thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} AuxVars[] AssignedVars[] {1226#false} is VALID [2022-02-20 20:55:12,347 INFO L290 TraceCheckUtils]: 54: Hoare triple {1226#false} [183] L75-2-->L77: 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] {1226#false} is VALID [2022-02-20 20:55:12,347 INFO L290 TraceCheckUtils]: 55: Hoare triple {1226#false} [136] L77-->L77-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1226#false} is VALID [2022-02-20 20:55:12,347 INFO L290 TraceCheckUtils]: 56: Hoare triple {1226#false} [152] L77-1-->L77-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3| (ite (not (= (mod v_~counter~0_8 4294967296) 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] {1226#false} is VALID [2022-02-20 20:55:12,347 INFO L290 TraceCheckUtils]: 57: Hoare triple {1226#false} [174] L77-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] {1226#false} is VALID [2022-02-20 20:55:12,347 INFO L290 TraceCheckUtils]: 58: Hoare triple {1226#false} [171] 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] {1226#false} is VALID [2022-02-20 20:55:12,348 INFO L290 TraceCheckUtils]: 59: Hoare triple {1226#false} [138] 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[] {1226#false} is VALID [2022-02-20 20:55:12,348 INFO L290 TraceCheckUtils]: 60: Hoare triple {1226#false} [146] L34-3-->L78: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1226#false} is VALID [2022-02-20 20:55:12,348 INFO L290 TraceCheckUtils]: 61: Hoare triple {1226#false} [153] L78-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1226#false} is VALID [2022-02-20 20:55:12,349 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:55:12,349 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 20:55:12,349 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1255992094] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 20:55:12,349 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 20:55:12,349 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [6] total 10 [2022-02-20 20:55:12,350 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1806767821] [2022-02-20 20:55:12,350 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 20:55:12,350 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 10.333333333333334) internal successors, (62), 6 states have internal predecessors, (62), 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 62 [2022-02-20 20:55:12,351 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 20:55:12,351 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 10.333333333333334) internal successors, (62), 6 states have internal predecessors, (62), 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:55:12,396 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 20:55:12,397 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 20:55:12,397 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 20:55:12,398 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 20:55:12,398 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-02-20 20:55:12,399 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 55 out of 84 [2022-02-20 20:55:12,406 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 78 places, 70 transitions, 176 flow. Second operand has 6 states, 6 states have (on average 58.166666666666664) internal successors, (349), 6 states have internal predecessors, (349), 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:55:12,406 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 20:55:12,406 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 55 of 84 [2022-02-20 20:55:12,407 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 20:55:12,800 INFO L129 PetriNetUnfolder]: 54/189 cut-off events. [2022-02-20 20:55:12,803 INFO L130 PetriNetUnfolder]: For 89/104 co-relation queries the response was YES. [2022-02-20 20:55:12,807 INFO L84 FinitePrefix]: Finished finitePrefix Result has 420 conditions, 189 events. 54/189 cut-off events. For 89/104 co-relation queries the response was YES. Maximal size of possible extension queue 12. Compared 601 event pairs, 24 based on Foata normal form. 15/200 useless extension candidates. Maximal degree in co-relation 267. Up to 73 conditions per place. [2022-02-20 20:55:12,809 INFO L132 encePairwiseOnDemand]: 76/84 looper letters, 24 selfloop transitions, 7 changer transitions 0/76 dead transitions. [2022-02-20 20:55:12,809 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 83 places, 76 transitions, 257 flow [2022-02-20 20:55:12,809 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-02-20 20:55:12,809 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2022-02-20 20:55:12,820 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 470 transitions. [2022-02-20 20:55:12,821 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.6994047619047619 [2022-02-20 20:55:12,821 INFO L72 ComplementDD]: Start complementDD. Operand 8 states and 470 transitions. [2022-02-20 20:55:12,821 INFO L73 IsDeterministic]: Start isDeterministic. Operand 8 states and 470 transitions. [2022-02-20 20:55:12,821 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 20:55:12,821 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 8 states and 470 transitions. [2022-02-20 20:55:12,823 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 9 states, 8 states have (on average 58.75) internal successors, (470), 8 states have internal predecessors, (470), 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:55:12,824 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 9 states, 9 states have (on average 84.0) internal successors, (756), 9 states have internal predecessors, (756), 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:55:12,827 INFO L81 ComplementDD]: Finished complementDD. Result has 9 states, 9 states have (on average 84.0) internal successors, (756), 9 states have internal predecessors, (756), 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:55:12,827 INFO L186 Difference]: Start difference. First operand has 78 places, 70 transitions, 176 flow. Second operand 8 states and 470 transitions. [2022-02-20 20:55:12,828 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 83 places, 76 transitions, 257 flow [2022-02-20 20:55:12,858 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 79 places, 76 transitions, 241 flow, removed 5 selfloop flow, removed 4 redundant places. [2022-02-20 20:55:12,859 INFO L242 Difference]: Finished difference. Result has 79 places, 69 transitions, 172 flow [2022-02-20 20:55:12,860 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=84, PETRI_DIFFERENCE_MINUEND_FLOW=158, PETRI_DIFFERENCE_MINUEND_PLACES=72, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=69, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=7, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=62, PETRI_DIFFERENCE_SUBTRAHEND_STATES=8, PETRI_FLOW=172, PETRI_PLACES=79, PETRI_TRANSITIONS=69} [2022-02-20 20:55:12,860 INFO L334 CegarLoopForPetriNet]: 74 programPoint places, 5 predicate places. [2022-02-20 20:55:12,860 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 79 places, 69 transitions, 172 flow [2022-02-20 20:55:12,871 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 558 states, 557 states have (on average 2.4919210053859966) internal successors, (1388), 557 states have internal predecessors, (1388), 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:55:12,872 INFO L78 Accepts]: Start accepts. Automaton has has 558 states, 557 states have (on average 2.4919210053859966) internal successors, (1388), 557 states have internal predecessors, (1388), 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 62 [2022-02-20 20:55:12,873 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 20:55:12,873 INFO L470 AbstractCegarLoop]: Abstraction has has 79 places, 69 transitions, 172 flow [2022-02-20 20:55:12,873 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 58.166666666666664) internal successors, (349), 6 states have internal predecessors, (349), 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:55:12,873 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:55:12,874 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, 1, 1] [2022-02-20 20:55:12,908 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-02-20 20:55:13,099 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 20:55:13,099 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION] === [2022-02-20 20:55:13,100 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:55:13,100 INFO L85 PathProgramCache]: Analyzing trace with hash 352825635, now seen corresponding path program 1 times [2022-02-20 20:55:13,100 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:55:13,100 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [323800935] [2022-02-20 20:55:13,100 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:55:13,101 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:55:13,315 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:55:14,458 INFO L290 TraceCheckUtils]: 0: Hoare triple {1986#true} [188] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1986#true} is VALID [2022-02-20 20:55:14,458 INFO L290 TraceCheckUtils]: 1: Hoare triple {1986#true} [169] 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] {1986#true} is VALID [2022-02-20 20:55:14,458 INFO L290 TraceCheckUtils]: 2: Hoare triple {1986#true} [192] 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[] {1986#true} is VALID [2022-02-20 20:55:14,458 INFO L290 TraceCheckUtils]: 3: Hoare triple {1986#true} [193] L-1-2-->L21: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {1986#true} is VALID [2022-02-20 20:55:14,458 INFO L290 TraceCheckUtils]: 4: Hoare triple {1986#true} [160] 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[] {1986#true} is VALID [2022-02-20 20:55:14,458 INFO L290 TraceCheckUtils]: 5: Hoare triple {1986#true} [184] 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[] {1986#true} is VALID [2022-02-20 20:55:14,459 INFO L290 TraceCheckUtils]: 6: Hoare triple {1986#true} [181] 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[] {1986#true} is VALID [2022-02-20 20:55:14,459 INFO L290 TraceCheckUtils]: 7: Hoare triple {1986#true} [148] L21-3-->L21-4: Formula: (and (= 43 (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[] {1986#true} is VALID [2022-02-20 20:55:14,459 INFO L290 TraceCheckUtils]: 8: Hoare triple {1986#true} [201] L21-4-->L38: Formula: (= v_~M~0_5 0) InVars {} OutVars{~M~0=v_~M~0_5} AuxVars[] AssignedVars[~M~0] {1986#true} is VALID [2022-02-20 20:55:14,460 INFO L290 TraceCheckUtils]: 9: Hoare triple {1986#true} [202] L38-->L38-1: Formula: (= v_~counter~0_7 0) InVars {} OutVars{~counter~0=v_~counter~0_7} AuxVars[] AssignedVars[~counter~0] {1988#(= ~counter~0 0)} is VALID [2022-02-20 20:55:14,461 INFO L290 TraceCheckUtils]: 10: Hoare triple {1988#(= ~counter~0 0)} [151] L38-1-->L-1-3: Formula: (= v_~C~0_3 0) InVars {} OutVars{~C~0=v_~C~0_3} AuxVars[] AssignedVars[~C~0] {1988#(= ~counter~0 0)} is VALID [2022-02-20 20:55:14,461 INFO L290 TraceCheckUtils]: 11: Hoare triple {1988#(= ~counter~0 0)} [197] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1988#(= ~counter~0 0)} is VALID [2022-02-20 20:55:14,461 INFO L290 TraceCheckUtils]: 12: Hoare triple {1988#(= ~counter~0 0)} [178] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1988#(= ~counter~0 0)} is VALID [2022-02-20 20:55:14,462 INFO L290 TraceCheckUtils]: 13: Hoare triple {1988#(= ~counter~0 0)} [143] 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] {1988#(= ~counter~0 0)} is VALID [2022-02-20 20:55:14,462 INFO L290 TraceCheckUtils]: 14: Hoare triple {1988#(= ~counter~0 0)} [175] L-1-6-->L65: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_1|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_1|, ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#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_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_#t~nondet8#1=|v_ULTIMATE.start_main_#t~nondet8#1_1|, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_1|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_1|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1, ULTIMATE.start_main_#t~nondet4#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_#t~nondet8#1, ULTIMATE.start_main_#t~nondet6#1, ULTIMATE.start_main_#t~mem9#1, ULTIMATE.start_main_#t~pre7#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] {1988#(= ~counter~0 0)} is VALID [2022-02-20 20:55:14,462 INFO L290 TraceCheckUtils]: 15: Hoare triple {1988#(= ~counter~0 0)} [204] 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] {1988#(= ~counter~0 0)} is VALID [2022-02-20 20:55:14,463 INFO L290 TraceCheckUtils]: 16: Hoare triple {1988#(= ~counter~0 0)} [189] 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] {1988#(= ~counter~0 0)} is VALID [2022-02-20 20:55:14,463 INFO L290 TraceCheckUtils]: 17: Hoare triple {1988#(= ~counter~0 0)} [168] L65-2-->L67: Formula: (= |v_ULTIMATE.start_main_#t~nondet3#1_2| v_~C~0_4) InVars {ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|, ~C~0=v_~C~0_4} AuxVars[] AssignedVars[~C~0] {1988#(= ~counter~0 0)} is VALID [2022-02-20 20:55:14,463 INFO L290 TraceCheckUtils]: 18: Hoare triple {1988#(= ~counter~0 0)} [187] L67-->L68: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] {1988#(= ~counter~0 0)} is VALID [2022-02-20 20:55:14,464 INFO L290 TraceCheckUtils]: 19: Hoare triple {1988#(= ~counter~0 0)} [191] L68-->L68-1: Formula: (= |v_ULTIMATE.start_main_#t~nondet4#1_2| v_~M~0_6) InVars {ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_2|} OutVars{~M~0=v_~M~0_6, ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_2|} AuxVars[] AssignedVars[~M~0] {1988#(= ~counter~0 0)} is VALID [2022-02-20 20:55:14,464 INFO L290 TraceCheckUtils]: 20: Hoare triple {1988#(= ~counter~0 0)} [155] L68-1-->L69: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet4#1] {1988#(= ~counter~0 0)} is VALID [2022-02-20 20:55:14,464 INFO L290 TraceCheckUtils]: 21: Hoare triple {1988#(= ~counter~0 0)} [142] L69-->L69-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1988#(= ~counter~0 0)} is VALID [2022-02-20 20:55:14,465 INFO L290 TraceCheckUtils]: 22: Hoare triple {1988#(= ~counter~0 0)} [194] L69-1-->L69-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1| (ite (< 0 (mod v_~M~0_7 4294967296)) 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] {1988#(= ~counter~0 0)} is VALID [2022-02-20 20:55:14,465 INFO L290 TraceCheckUtils]: 23: Hoare triple {1988#(= ~counter~0 0)} [166] L69-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] {1988#(= ~counter~0 0)} is VALID [2022-02-20 20:55:14,465 INFO L290 TraceCheckUtils]: 24: Hoare triple {1988#(= ~counter~0 0)} [158] 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] {1988#(= ~counter~0 0)} is VALID [2022-02-20 20:55:14,466 INFO L290 TraceCheckUtils]: 25: Hoare triple {1988#(= ~counter~0 0)} [186] 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[] {1988#(= ~counter~0 0)} is VALID [2022-02-20 20:55:14,466 INFO L290 TraceCheckUtils]: 26: Hoare triple {1988#(= ~counter~0 0)} [179] L34-1-->L72: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1988#(= ~counter~0 0)} is VALID [2022-02-20 20:55:14,467 INFO L290 TraceCheckUtils]: 27: Hoare triple {1988#(= ~counter~0 0)} [203] L72-->L72-1: Formula: (= |v_ULTIMATE.start_main_#t~pre5#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_2|, #pthreadsForks=|v_#pthreadsForks_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1] {1988#(= ~counter~0 0)} is VALID [2022-02-20 20:55:14,467 INFO L290 TraceCheckUtils]: 28: Hoare triple {1988#(= ~counter~0 0)} [124] L72-1-->L72-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {1988#(= ~counter~0 0)} is VALID [2022-02-20 20:55:14,467 INFO L290 TraceCheckUtils]: 29: Hoare triple {1988#(= ~counter~0 0)} [132] L72-2-->L72-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~pre5#1_3|)) |v_#memory_int_3|) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_3|, #memory_int=|v_#memory_int_4|, 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{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_3|, #memory_int=|v_#memory_int_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] {1988#(= ~counter~0 0)} is VALID [2022-02-20 20:55:14,468 INFO L290 TraceCheckUtils]: 30: Hoare triple {1988#(= ~counter~0 0)} [224] L72-3-->thread1ENTRY: Formula: (and (= v_thread1Thread1of1ForFork0_thidvar1_2 0) (= |v_ULTIMATE.start_main_#t~pre5#1_6| v_thread1Thread1of1ForFork0_thidvar0_2)) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_6|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_6|, thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_4|, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_8|, 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_~i~0, thread1Thread1of1ForFork0_thidvar0, thread1Thread1of1ForFork0_#res.offset, thread1Thread1of1ForFork0_thidvar1] {1988#(= ~counter~0 0)} is VALID [2022-02-20 20:55:14,468 INFO L290 TraceCheckUtils]: 31: Hoare triple {1988#(= ~counter~0 0)} [195] L72-4-->L72-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1] {1988#(= ~counter~0 0)} is VALID [2022-02-20 20:55:14,468 INFO L290 TraceCheckUtils]: 32: Hoare triple {1988#(= ~counter~0 0)} [127] L72-5-->L73: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet6#1] {1988#(= ~counter~0 0)} is VALID [2022-02-20 20:55:14,469 INFO L290 TraceCheckUtils]: 33: Hoare triple {1988#(= ~counter~0 0)} [162] L73-->L73-1: Formula: (= |v_ULTIMATE.start_main_#t~pre7#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre7#1] {1988#(= ~counter~0 0)} is VALID [2022-02-20 20:55:14,470 INFO L290 TraceCheckUtils]: 34: Hoare triple {1988#(= ~counter~0 0)} [177] L73-1-->L73-2: Formula: (= (+ 1 |v_#pthreadsForks_6|) |v_#pthreadsForks_5|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_5|} AuxVars[] AssignedVars[#pthreadsForks] {1988#(= ~counter~0 0)} is VALID [2022-02-20 20:55:14,470 INFO L290 TraceCheckUtils]: 35: Hoare triple {1988#(= ~counter~0 0)} [163] L73-2-->L73-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~pre7#1_3|)) |v_#memory_int_5|) InVars {#memory_int=|v_#memory_int_6|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#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~pre7#1=|v_ULTIMATE.start_main_#t~pre7#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] {1988#(= ~counter~0 0)} is VALID [2022-02-20 20:55:14,471 INFO L290 TraceCheckUtils]: 36: Hoare triple {1988#(= ~counter~0 0)} [226] L73-3-->thread2ENTRY: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar1_2) (= |v_ULTIMATE.start_main_#t~pre7#1_6| v_thread2Thread1of1ForFork1_thidvar0_2) (= 0 v_thread2Thread1of1ForFork1_thidvar2_2)) InVars {ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_6|} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_4|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_12, thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_6|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_4|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#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~post2, thread2Thread1of1ForFork1_#res.base, thread2Thread1of1ForFork1_thidvar2, thread2Thread1of1ForFork1_thidvar0, thread2Thread1of1ForFork1_thidvar1] {1988#(= ~counter~0 0)} is VALID [2022-02-20 20:55:14,472 INFO L290 TraceCheckUtils]: 37: Hoare triple {1988#(= ~counter~0 0)} [216] 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] {1989#(and (= thread2Thread1of1ForFork1_~i~1 0) (= ~counter~0 0))} is VALID [2022-02-20 20:55:14,472 INFO L290 TraceCheckUtils]: 38: Hoare triple {1989#(and (= thread2Thread1of1ForFork1_~i~1 0) (= ~counter~0 0))} [219] L54-1-->L53: Formula: (< (mod v_thread2Thread1of1ForFork1_~i~1_5 4294967296) (mod v_~M~0_4 4294967296)) 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[] {1990#(and (= thread2Thread1of1ForFork1_~i~1 0) (= ~counter~0 0) (<= (+ thread2Thread1of1ForFork1_~i~1 (* (div ~M~0 4294967296) 4294967296) 1) (+ ~M~0 (* (div thread2Thread1of1ForFork1_~i~1 4294967296) 4294967296))))} is VALID [2022-02-20 20:55:14,473 INFO L290 TraceCheckUtils]: 39: Hoare triple {1990#(and (= thread2Thread1of1ForFork1_~i~1 0) (= ~counter~0 0) (<= (+ thread2Thread1of1ForFork1_~i~1 (* (div ~M~0 4294967296) 4294967296) 1) (+ ~M~0 (* (div thread2Thread1of1ForFork1_~i~1 4294967296) 4294967296))))} [206] 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] {1990#(and (= thread2Thread1of1ForFork1_~i~1 0) (= ~counter~0 0) (<= (+ thread2Thread1of1ForFork1_~i~1 (* (div ~M~0 4294967296) 4294967296) 1) (+ ~M~0 (* (div thread2Thread1of1ForFork1_~i~1 4294967296) 4294967296))))} is VALID [2022-02-20 20:55:14,473 INFO L290 TraceCheckUtils]: 40: Hoare triple {1990#(and (= thread2Thread1of1ForFork1_~i~1 0) (= ~counter~0 0) (<= (+ thread2Thread1of1ForFork1_~i~1 (* (div ~M~0 4294967296) 4294967296) 1) (+ ~M~0 (* (div thread2Thread1of1ForFork1_~i~1 4294967296) 4294967296))))} [209] L41-4-->L42: Formula: (< (mod v_thread1Thread1of1ForFork0_~i~0_5 4294967296) (mod v_~M~0_2 4294967296)) 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[] {1990#(and (= thread2Thread1of1ForFork1_~i~1 0) (= ~counter~0 0) (<= (+ thread2Thread1of1ForFork1_~i~1 (* (div ~M~0 4294967296) 4294967296) 1) (+ ~M~0 (* (div thread2Thread1of1ForFork1_~i~1 4294967296) 4294967296))))} is VALID [2022-02-20 20:55:14,474 INFO L290 TraceCheckUtils]: 41: Hoare triple {1990#(and (= thread2Thread1of1ForFork1_~i~1 0) (= ~counter~0 0) (<= (+ thread2Thread1of1ForFork1_~i~1 (* (div ~M~0 4294967296) 4294967296) 1) (+ ~M~0 (* (div thread2Thread1of1ForFork1_~i~1 4294967296) 4294967296))))} [211] L42-->L44: Formula: (= v_~counter~0_1 (+ v_~counter~0_2 v_~C~0_1)) InVars {~counter~0=v_~counter~0_2, ~C~0=v_~C~0_1} OutVars{~counter~0=v_~counter~0_1, ~C~0=v_~C~0_1} AuxVars[] AssignedVars[~counter~0] {1991#(and (<= ~counter~0 ~C~0) (= thread2Thread1of1ForFork1_~i~1 0) (<= ~C~0 ~counter~0) (<= (+ thread2Thread1of1ForFork1_~i~1 (* (div ~M~0 4294967296) 4294967296) 1) (+ ~M~0 (* (div thread2Thread1of1ForFork1_~i~1 4294967296) 4294967296))))} is VALID [2022-02-20 20:55:14,475 INFO L290 TraceCheckUtils]: 42: Hoare triple {1991#(and (<= ~counter~0 ~C~0) (= thread2Thread1of1ForFork1_~i~1 0) (<= ~C~0 ~counter~0) (<= (+ thread2Thread1of1ForFork1_~i~1 (* (div ~M~0 4294967296) 4294967296) 1) (+ ~M~0 (* (div thread2Thread1of1ForFork1_~i~1 4294967296) 4294967296))))} [213] 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] {1991#(and (<= ~counter~0 ~C~0) (= thread2Thread1of1ForFork1_~i~1 0) (<= ~C~0 ~counter~0) (<= (+ thread2Thread1of1ForFork1_~i~1 (* (div ~M~0 4294967296) 4294967296) 1) (+ ~M~0 (* (div thread2Thread1of1ForFork1_~i~1 4294967296) 4294967296))))} is VALID [2022-02-20 20:55:14,476 INFO L290 TraceCheckUtils]: 43: Hoare triple {1991#(and (<= ~counter~0 ~C~0) (= thread2Thread1of1ForFork1_~i~1 0) (<= ~C~0 ~counter~0) (<= (+ thread2Thread1of1ForFork1_~i~1 (* (div ~M~0 4294967296) 4294967296) 1) (+ ~M~0 (* (div thread2Thread1of1ForFork1_~i~1 4294967296) 4294967296))))} [214] 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] {1991#(and (<= ~counter~0 ~C~0) (= thread2Thread1of1ForFork1_~i~1 0) (<= ~C~0 ~counter~0) (<= (+ thread2Thread1of1ForFork1_~i~1 (* (div ~M~0 4294967296) 4294967296) 1) (+ ~M~0 (* (div thread2Thread1of1ForFork1_~i~1 4294967296) 4294967296))))} is VALID [2022-02-20 20:55:14,476 INFO L290 TraceCheckUtils]: 44: Hoare triple {1991#(and (<= ~counter~0 ~C~0) (= thread2Thread1of1ForFork1_~i~1 0) (<= ~C~0 ~counter~0) (<= (+ thread2Thread1of1ForFork1_~i~1 (* (div ~M~0 4294967296) 4294967296) 1) (+ ~M~0 (* (div thread2Thread1of1ForFork1_~i~1 4294967296) 4294967296))))} [215] L41-3-->L41-4: Formula: true InVars {} OutVars{thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_5|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1] {1991#(and (<= ~counter~0 ~C~0) (= thread2Thread1of1ForFork1_~i~1 0) (<= ~C~0 ~counter~0) (<= (+ thread2Thread1of1ForFork1_~i~1 (* (div ~M~0 4294967296) 4294967296) 1) (+ ~M~0 (* (div thread2Thread1of1ForFork1_~i~1 4294967296) 4294967296))))} is VALID [2022-02-20 20:55:14,477 INFO L290 TraceCheckUtils]: 45: Hoare triple {1991#(and (<= ~counter~0 ~C~0) (= thread2Thread1of1ForFork1_~i~1 0) (<= ~C~0 ~counter~0) (<= (+ thread2Thread1of1ForFork1_~i~1 (* (div ~M~0 4294967296) 4294967296) 1) (+ ~M~0 (* (div thread2Thread1of1ForFork1_~i~1 4294967296) 4294967296))))} [208] L41-4-->L41-5: Formula: (not (< (mod v_thread1Thread1of1ForFork0_~i~0_3 4294967296) (mod v_~M~0_1 4294967296))) 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[] {1991#(and (<= ~counter~0 ~C~0) (= thread2Thread1of1ForFork1_~i~1 0) (<= ~C~0 ~counter~0) (<= (+ thread2Thread1of1ForFork1_~i~1 (* (div ~M~0 4294967296) 4294967296) 1) (+ ~M~0 (* (div thread2Thread1of1ForFork1_~i~1 4294967296) 4294967296))))} is VALID [2022-02-20 20:55:14,477 INFO L290 TraceCheckUtils]: 46: Hoare triple {1991#(and (<= ~counter~0 ~C~0) (= thread2Thread1of1ForFork1_~i~1 0) (<= ~C~0 ~counter~0) (<= (+ thread2Thread1of1ForFork1_~i~1 (* (div ~M~0 4294967296) 4294967296) 1) (+ ~M~0 (* (div thread2Thread1of1ForFork1_~i~1 4294967296) 4294967296))))} [210] 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] {1991#(and (<= ~counter~0 ~C~0) (= thread2Thread1of1ForFork1_~i~1 0) (<= ~C~0 ~counter~0) (<= (+ thread2Thread1of1ForFork1_~i~1 (* (div ~M~0 4294967296) 4294967296) 1) (+ ~M~0 (* (div thread2Thread1of1ForFork1_~i~1 4294967296) 4294967296))))} is VALID [2022-02-20 20:55:14,478 INFO L290 TraceCheckUtils]: 47: Hoare triple {1991#(and (<= ~counter~0 ~C~0) (= thread2Thread1of1ForFork1_~i~1 0) (<= ~C~0 ~counter~0) (<= (+ thread2Thread1of1ForFork1_~i~1 (* (div ~M~0 4294967296) 4294967296) 1) (+ ~M~0 (* (div thread2Thread1of1ForFork1_~i~1 4294967296) 4294967296))))} [212] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1991#(and (<= ~counter~0 ~C~0) (= thread2Thread1of1ForFork1_~i~1 0) (<= ~C~0 ~counter~0) (<= (+ thread2Thread1of1ForFork1_~i~1 (* (div ~M~0 4294967296) 4294967296) 1) (+ ~M~0 (* (div thread2Thread1of1ForFork1_~i~1 4294967296) 4294967296))))} is VALID [2022-02-20 20:55:14,479 INFO L290 TraceCheckUtils]: 48: Hoare triple {1991#(and (<= ~counter~0 ~C~0) (= thread2Thread1of1ForFork1_~i~1 0) (<= ~C~0 ~counter~0) (<= (+ thread2Thread1of1ForFork1_~i~1 (* (div ~M~0 4294967296) 4294967296) 1) (+ ~M~0 (* (div thread2Thread1of1ForFork1_~i~1 4294967296) 4294967296))))} [165] L73-4-->L73-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre7#1] {1991#(and (<= ~counter~0 ~C~0) (= thread2Thread1of1ForFork1_~i~1 0) (<= ~C~0 ~counter~0) (<= (+ thread2Thread1of1ForFork1_~i~1 (* (div ~M~0 4294967296) 4294967296) 1) (+ ~M~0 (* (div thread2Thread1of1ForFork1_~i~1 4294967296) 4294967296))))} is VALID [2022-02-20 20:55:14,479 INFO L290 TraceCheckUtils]: 49: Hoare triple {1991#(and (<= ~counter~0 ~C~0) (= thread2Thread1of1ForFork1_~i~1 0) (<= ~C~0 ~counter~0) (<= (+ thread2Thread1of1ForFork1_~i~1 (* (div ~M~0 4294967296) 4294967296) 1) (+ ~M~0 (* (div thread2Thread1of1ForFork1_~i~1 4294967296) 4294967296))))} [164] L73-5-->L74: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet8#1=|v_ULTIMATE.start_main_#t~nondet8#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet8#1] {1991#(and (<= ~counter~0 ~C~0) (= thread2Thread1of1ForFork1_~i~1 0) (<= ~C~0 ~counter~0) (<= (+ thread2Thread1of1ForFork1_~i~1 (* (div ~M~0 4294967296) 4294967296) 1) (+ ~M~0 (* (div thread2Thread1of1ForFork1_~i~1 4294967296) 4294967296))))} is VALID [2022-02-20 20:55:14,480 INFO L290 TraceCheckUtils]: 50: Hoare triple {1991#(and (<= ~counter~0 ~C~0) (= thread2Thread1of1ForFork1_~i~1 0) (<= ~C~0 ~counter~0) (<= (+ thread2Thread1of1ForFork1_~i~1 (* (div ~M~0 4294967296) 4294967296) 1) (+ ~M~0 (* (div thread2Thread1of1ForFork1_~i~1 4294967296) 4294967296))))} [125] L74-->L74-1: Formula: (= |v_ULTIMATE.start_main_#t~mem9#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_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_2|, 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|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem9#1] {1991#(and (<= ~counter~0 ~C~0) (= thread2Thread1of1ForFork1_~i~1 0) (<= ~C~0 ~counter~0) (<= (+ thread2Thread1of1ForFork1_~i~1 (* (div ~M~0 4294967296) 4294967296) 1) (+ ~M~0 (* (div thread2Thread1of1ForFork1_~i~1 4294967296) 4294967296))))} is VALID [2022-02-20 20:55:14,480 INFO L290 TraceCheckUtils]: 51: Hoare triple {1991#(and (<= ~counter~0 ~C~0) (= thread2Thread1of1ForFork1_~i~1 0) (<= ~C~0 ~counter~0) (<= (+ thread2Thread1of1ForFork1_~i~1 (* (div ~M~0 4294967296) 4294967296) 1) (+ ~M~0 (* (div thread2Thread1of1ForFork1_~i~1 4294967296) 4294967296))))} [227] thread1EXIT-->L74-2: Formula: (and (= v_thread1Thread1of1ForFork0_thidvar1_4 0) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem9#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ (- 4294967296) .cse0))) v_thread1Thread1of1ForFork0_thidvar0_4)) InVars {thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_5|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4} OutVars{thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_5|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4} AuxVars[] AssignedVars[] {1991#(and (<= ~counter~0 ~C~0) (= thread2Thread1of1ForFork1_~i~1 0) (<= ~C~0 ~counter~0) (<= (+ thread2Thread1of1ForFork1_~i~1 (* (div ~M~0 4294967296) 4294967296) 1) (+ ~M~0 (* (div thread2Thread1of1ForFork1_~i~1 4294967296) 4294967296))))} is VALID [2022-02-20 20:55:14,482 INFO L290 TraceCheckUtils]: 52: Hoare triple {1991#(and (<= ~counter~0 ~C~0) (= thread2Thread1of1ForFork1_~i~1 0) (<= ~C~0 ~counter~0) (<= (+ thread2Thread1of1ForFork1_~i~1 (* (div ~M~0 4294967296) 4294967296) 1) (+ ~M~0 (* (div thread2Thread1of1ForFork1_~i~1 4294967296) 4294967296))))} [221] L53-->L54-1: Formula: (let ((.cse0 (< 0 (mod v_~counter~0_In_1 4294967296)))) (or (and (= |v_thread2Thread1of1ForFork1_#t~post2_2| |v_thread2Thread1of1ForFork1_#t~post2_1|) (= v_~counter~0_Out_2 v_~counter~0_In_1) (= v_thread2Thread1of1ForFork1_~i~1_8 v_thread2Thread1of1ForFork1_~i~1_7) (not .cse0)) (and (= v_~counter~0_Out_2 (+ v_~counter~0_In_1 (* (- 1) v_~C~0_In_1))) .cse0 (= (+ v_thread2Thread1of1ForFork1_~i~1_7 1) v_thread2Thread1of1ForFork1_~i~1_8)))) InVars {~counter~0=v_~counter~0_In_1, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_7, thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_1|, ~C~0=v_~C~0_In_1} OutVars{~counter~0=v_~counter~0_Out_2, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_8, thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_2|, ~C~0=v_~C~0_In_1} AuxVars[] AssignedVars[~counter~0, thread2Thread1of1ForFork1_~i~1, thread2Thread1of1ForFork1_#t~post2] {1992#(or (= ~counter~0 (* (div ~counter~0 4294967296) 4294967296)) (and (= thread2Thread1of1ForFork1_~i~1 0) (<= (+ (* (div ~M~0 4294967296) 4294967296) 1) (+ ~M~0 (* (div thread2Thread1of1ForFork1_~i~1 4294967296) 4294967296)))))} is VALID [2022-02-20 20:55:14,492 INFO L290 TraceCheckUtils]: 53: Hoare triple {1992#(or (= ~counter~0 (* (div ~counter~0 4294967296) 4294967296)) (and (= thread2Thread1of1ForFork1_~i~1 0) (<= (+ (* (div ~M~0 4294967296) 4294967296) 1) (+ ~M~0 (* (div thread2Thread1of1ForFork1_~i~1 4294967296) 4294967296)))))} [218] L54-1-->L52-2: Formula: (not (< (mod v_thread2Thread1of1ForFork1_~i~1_3 4294967296) (mod v_~M~0_3 4294967296))) 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[] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:14,493 INFO L290 TraceCheckUtils]: 54: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [220] 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] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:14,493 INFO L290 TraceCheckUtils]: 55: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [222] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:14,493 INFO L290 TraceCheckUtils]: 56: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [170] L74-2-->L75: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem9#1] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:14,494 INFO L290 TraceCheckUtils]: 57: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [196] L75-->L75-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~mem10#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{#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_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10#1] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:14,494 INFO L290 TraceCheckUtils]: 58: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [228] thread2EXIT-->L75-2: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar2_4) (= 0 v_thread2Thread1of1ForFork1_thidvar1_4) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem10#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ .cse0 (- 4294967296)))) v_thread2Thread1of1ForFork1_thidvar0_4)) InVars {thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} OutVars{thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} AuxVars[] AssignedVars[] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:14,495 INFO L290 TraceCheckUtils]: 59: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [183] L75-2-->L77: 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] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:14,496 INFO L290 TraceCheckUtils]: 60: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [136] L77-->L77-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:14,496 INFO L290 TraceCheckUtils]: 61: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [152] L77-1-->L77-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3| (ite (not (= (mod v_~counter~0_8 4294967296) 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] {1994#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} is VALID [2022-02-20 20:55:14,497 INFO L290 TraceCheckUtils]: 62: Hoare triple {1994#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} [174] L77-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] {1994#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} is VALID [2022-02-20 20:55:14,497 INFO L290 TraceCheckUtils]: 63: Hoare triple {1994#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} [171] 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] {1995#(= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0)} is VALID [2022-02-20 20:55:14,498 INFO L290 TraceCheckUtils]: 64: Hoare triple {1995#(= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0)} [138] 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[] {1987#false} is VALID [2022-02-20 20:55:14,498 INFO L290 TraceCheckUtils]: 65: Hoare triple {1987#false} [146] L34-3-->L78: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1987#false} is VALID [2022-02-20 20:55:14,498 INFO L290 TraceCheckUtils]: 66: Hoare triple {1987#false} [153] L78-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1987#false} is VALID [2022-02-20 20:55:14,499 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:55:14,501 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 20:55:14,501 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [323800935] [2022-02-20 20:55:14,503 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [323800935] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 20:55:14,503 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [332616393] [2022-02-20 20:55:14,503 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:55:14,503 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 20:55:14,503 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 20:55:14,505 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:55:14,506 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:55:14,564 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:55:14,565 INFO L263 TraceCheckSpWp]: Trace formula consists of 151 conjuncts, 14 conjunts are in the unsatisfiable core [2022-02-20 20:55:14,579 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:55:14,580 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 20:55:15,124 INFO L290 TraceCheckUtils]: 0: Hoare triple {1986#true} [188] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1986#true} is VALID [2022-02-20 20:55:15,125 INFO L290 TraceCheckUtils]: 1: Hoare triple {1986#true} [169] 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] {1986#true} is VALID [2022-02-20 20:55:15,125 INFO L290 TraceCheckUtils]: 2: Hoare triple {1986#true} [192] 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[] {1986#true} is VALID [2022-02-20 20:55:15,125 INFO L290 TraceCheckUtils]: 3: Hoare triple {1986#true} [193] L-1-2-->L21: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {1986#true} is VALID [2022-02-20 20:55:15,125 INFO L290 TraceCheckUtils]: 4: Hoare triple {1986#true} [160] 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[] {1986#true} is VALID [2022-02-20 20:55:15,125 INFO L290 TraceCheckUtils]: 5: Hoare triple {1986#true} [184] 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[] {1986#true} is VALID [2022-02-20 20:55:15,125 INFO L290 TraceCheckUtils]: 6: Hoare triple {1986#true} [181] 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[] {1986#true} is VALID [2022-02-20 20:55:15,126 INFO L290 TraceCheckUtils]: 7: Hoare triple {1986#true} [148] L21-3-->L21-4: Formula: (and (= 43 (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[] {1986#true} is VALID [2022-02-20 20:55:15,126 INFO L290 TraceCheckUtils]: 8: Hoare triple {1986#true} [201] L21-4-->L38: Formula: (= v_~M~0_5 0) InVars {} OutVars{~M~0=v_~M~0_5} AuxVars[] AssignedVars[~M~0] {1986#true} is VALID [2022-02-20 20:55:15,126 INFO L290 TraceCheckUtils]: 9: Hoare triple {1986#true} [202] L38-->L38-1: Formula: (= v_~counter~0_7 0) InVars {} OutVars{~counter~0=v_~counter~0_7} AuxVars[] AssignedVars[~counter~0] {1988#(= ~counter~0 0)} is VALID [2022-02-20 20:55:15,127 INFO L290 TraceCheckUtils]: 10: Hoare triple {1988#(= ~counter~0 0)} [151] L38-1-->L-1-3: Formula: (= v_~C~0_3 0) InVars {} OutVars{~C~0=v_~C~0_3} AuxVars[] AssignedVars[~C~0] {1988#(= ~counter~0 0)} is VALID [2022-02-20 20:55:15,127 INFO L290 TraceCheckUtils]: 11: Hoare triple {1988#(= ~counter~0 0)} [197] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1988#(= ~counter~0 0)} is VALID [2022-02-20 20:55:15,127 INFO L290 TraceCheckUtils]: 12: Hoare triple {1988#(= ~counter~0 0)} [178] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1988#(= ~counter~0 0)} is VALID [2022-02-20 20:55:15,128 INFO L290 TraceCheckUtils]: 13: Hoare triple {1988#(= ~counter~0 0)} [143] 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] {1988#(= ~counter~0 0)} is VALID [2022-02-20 20:55:15,128 INFO L290 TraceCheckUtils]: 14: Hoare triple {1988#(= ~counter~0 0)} [175] L-1-6-->L65: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_1|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_1|, ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#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_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_#t~nondet8#1=|v_ULTIMATE.start_main_#t~nondet8#1_1|, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_1|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_1|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1, ULTIMATE.start_main_#t~nondet4#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_#t~nondet8#1, ULTIMATE.start_main_#t~nondet6#1, ULTIMATE.start_main_#t~mem9#1, ULTIMATE.start_main_#t~pre7#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] {1988#(= ~counter~0 0)} is VALID [2022-02-20 20:55:15,129 INFO L290 TraceCheckUtils]: 15: Hoare triple {1988#(= ~counter~0 0)} [204] 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] {1988#(= ~counter~0 0)} is VALID [2022-02-20 20:55:15,130 INFO L290 TraceCheckUtils]: 16: Hoare triple {1988#(= ~counter~0 0)} [189] 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] {1988#(= ~counter~0 0)} is VALID [2022-02-20 20:55:15,130 INFO L290 TraceCheckUtils]: 17: Hoare triple {1988#(= ~counter~0 0)} [168] L65-2-->L67: Formula: (= |v_ULTIMATE.start_main_#t~nondet3#1_2| v_~C~0_4) InVars {ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|, ~C~0=v_~C~0_4} AuxVars[] AssignedVars[~C~0] {1988#(= ~counter~0 0)} is VALID [2022-02-20 20:55:15,130 INFO L290 TraceCheckUtils]: 18: Hoare triple {1988#(= ~counter~0 0)} [187] L67-->L68: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] {1988#(= ~counter~0 0)} is VALID [2022-02-20 20:55:15,131 INFO L290 TraceCheckUtils]: 19: Hoare triple {1988#(= ~counter~0 0)} [191] L68-->L68-1: Formula: (= |v_ULTIMATE.start_main_#t~nondet4#1_2| v_~M~0_6) InVars {ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_2|} OutVars{~M~0=v_~M~0_6, ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_2|} AuxVars[] AssignedVars[~M~0] {1988#(= ~counter~0 0)} is VALID [2022-02-20 20:55:15,131 INFO L290 TraceCheckUtils]: 20: Hoare triple {1988#(= ~counter~0 0)} [155] L68-1-->L69: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet4#1] {1988#(= ~counter~0 0)} is VALID [2022-02-20 20:55:15,131 INFO L290 TraceCheckUtils]: 21: Hoare triple {1988#(= ~counter~0 0)} [142] L69-->L69-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1988#(= ~counter~0 0)} is VALID [2022-02-20 20:55:15,132 INFO L290 TraceCheckUtils]: 22: Hoare triple {1988#(= ~counter~0 0)} [194] L69-1-->L69-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1| (ite (< 0 (mod v_~M~0_7 4294967296)) 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] {1988#(= ~counter~0 0)} is VALID [2022-02-20 20:55:15,132 INFO L290 TraceCheckUtils]: 23: Hoare triple {1988#(= ~counter~0 0)} [166] L69-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] {1988#(= ~counter~0 0)} is VALID [2022-02-20 20:55:15,133 INFO L290 TraceCheckUtils]: 24: Hoare triple {1988#(= ~counter~0 0)} [158] 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] {1988#(= ~counter~0 0)} is VALID [2022-02-20 20:55:15,133 INFO L290 TraceCheckUtils]: 25: Hoare triple {1988#(= ~counter~0 0)} [186] 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[] {1988#(= ~counter~0 0)} is VALID [2022-02-20 20:55:15,133 INFO L290 TraceCheckUtils]: 26: Hoare triple {1988#(= ~counter~0 0)} [179] L34-1-->L72: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1988#(= ~counter~0 0)} is VALID [2022-02-20 20:55:15,134 INFO L290 TraceCheckUtils]: 27: Hoare triple {1988#(= ~counter~0 0)} [203] L72-->L72-1: Formula: (= |v_ULTIMATE.start_main_#t~pre5#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_2|, #pthreadsForks=|v_#pthreadsForks_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1] {1988#(= ~counter~0 0)} is VALID [2022-02-20 20:55:15,134 INFO L290 TraceCheckUtils]: 28: Hoare triple {1988#(= ~counter~0 0)} [124] L72-1-->L72-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {1988#(= ~counter~0 0)} is VALID [2022-02-20 20:55:15,135 INFO L290 TraceCheckUtils]: 29: Hoare triple {1988#(= ~counter~0 0)} [132] L72-2-->L72-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~pre5#1_3|)) |v_#memory_int_3|) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_3|, #memory_int=|v_#memory_int_4|, 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{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_3|, #memory_int=|v_#memory_int_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] {1988#(= ~counter~0 0)} is VALID [2022-02-20 20:55:15,135 INFO L290 TraceCheckUtils]: 30: Hoare triple {1988#(= ~counter~0 0)} [224] L72-3-->thread1ENTRY: Formula: (and (= v_thread1Thread1of1ForFork0_thidvar1_2 0) (= |v_ULTIMATE.start_main_#t~pre5#1_6| v_thread1Thread1of1ForFork0_thidvar0_2)) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_6|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_6|, thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_4|, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_8|, 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_~i~0, thread1Thread1of1ForFork0_thidvar0, thread1Thread1of1ForFork0_#res.offset, thread1Thread1of1ForFork0_thidvar1] {1988#(= ~counter~0 0)} is VALID [2022-02-20 20:55:15,135 INFO L290 TraceCheckUtils]: 31: Hoare triple {1988#(= ~counter~0 0)} [195] L72-4-->L72-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1] {1988#(= ~counter~0 0)} is VALID [2022-02-20 20:55:15,136 INFO L290 TraceCheckUtils]: 32: Hoare triple {1988#(= ~counter~0 0)} [127] L72-5-->L73: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet6#1] {1988#(= ~counter~0 0)} is VALID [2022-02-20 20:55:15,136 INFO L290 TraceCheckUtils]: 33: Hoare triple {1988#(= ~counter~0 0)} [162] L73-->L73-1: Formula: (= |v_ULTIMATE.start_main_#t~pre7#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre7#1] {1988#(= ~counter~0 0)} is VALID [2022-02-20 20:55:15,137 INFO L290 TraceCheckUtils]: 34: Hoare triple {1988#(= ~counter~0 0)} [177] L73-1-->L73-2: Formula: (= (+ 1 |v_#pthreadsForks_6|) |v_#pthreadsForks_5|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_5|} AuxVars[] AssignedVars[#pthreadsForks] {1988#(= ~counter~0 0)} is VALID [2022-02-20 20:55:15,137 INFO L290 TraceCheckUtils]: 35: Hoare triple {1988#(= ~counter~0 0)} [163] L73-2-->L73-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~pre7#1_3|)) |v_#memory_int_5|) InVars {#memory_int=|v_#memory_int_6|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#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~pre7#1=|v_ULTIMATE.start_main_#t~pre7#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] {1988#(= ~counter~0 0)} is VALID [2022-02-20 20:55:15,137 INFO L290 TraceCheckUtils]: 36: Hoare triple {1988#(= ~counter~0 0)} [226] L73-3-->thread2ENTRY: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar1_2) (= |v_ULTIMATE.start_main_#t~pre7#1_6| v_thread2Thread1of1ForFork1_thidvar0_2) (= 0 v_thread2Thread1of1ForFork1_thidvar2_2)) InVars {ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_6|} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_4|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_12, thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_6|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_4|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#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~post2, thread2Thread1of1ForFork1_#res.base, thread2Thread1of1ForFork1_thidvar2, thread2Thread1of1ForFork1_thidvar0, thread2Thread1of1ForFork1_thidvar1] {1988#(= ~counter~0 0)} is VALID [2022-02-20 20:55:15,138 INFO L290 TraceCheckUtils]: 37: Hoare triple {1988#(= ~counter~0 0)} [216] 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] {1989#(and (= thread2Thread1of1ForFork1_~i~1 0) (= ~counter~0 0))} is VALID [2022-02-20 20:55:15,138 INFO L290 TraceCheckUtils]: 38: Hoare triple {1989#(and (= thread2Thread1of1ForFork1_~i~1 0) (= ~counter~0 0))} [219] L54-1-->L53: Formula: (< (mod v_thread2Thread1of1ForFork1_~i~1_5 4294967296) (mod v_~M~0_4 4294967296)) 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[] {1989#(and (= thread2Thread1of1ForFork1_~i~1 0) (= ~counter~0 0))} is VALID [2022-02-20 20:55:15,147 INFO L290 TraceCheckUtils]: 39: Hoare triple {1989#(and (= thread2Thread1of1ForFork1_~i~1 0) (= ~counter~0 0))} [206] 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] {1989#(and (= thread2Thread1of1ForFork1_~i~1 0) (= ~counter~0 0))} is VALID [2022-02-20 20:55:15,148 INFO L290 TraceCheckUtils]: 40: Hoare triple {1989#(and (= thread2Thread1of1ForFork1_~i~1 0) (= ~counter~0 0))} [209] L41-4-->L42: Formula: (< (mod v_thread1Thread1of1ForFork0_~i~0_5 4294967296) (mod v_~M~0_2 4294967296)) 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[] {1989#(and (= thread2Thread1of1ForFork1_~i~1 0) (= ~counter~0 0))} is VALID [2022-02-20 20:55:15,148 INFO L290 TraceCheckUtils]: 41: Hoare triple {1989#(and (= thread2Thread1of1ForFork1_~i~1 0) (= ~counter~0 0))} [211] L42-->L44: Formula: (= v_~counter~0_1 (+ v_~counter~0_2 v_~C~0_1)) InVars {~counter~0=v_~counter~0_2, ~C~0=v_~C~0_1} OutVars{~counter~0=v_~counter~0_1, ~C~0=v_~C~0_1} AuxVars[] AssignedVars[~counter~0] {2122#(and (= ~counter~0 ~C~0) (= thread2Thread1of1ForFork1_~i~1 0))} is VALID [2022-02-20 20:55:15,149 INFO L290 TraceCheckUtils]: 42: Hoare triple {2122#(and (= ~counter~0 ~C~0) (= thread2Thread1of1ForFork1_~i~1 0))} [213] 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] {2122#(and (= ~counter~0 ~C~0) (= thread2Thread1of1ForFork1_~i~1 0))} is VALID [2022-02-20 20:55:15,149 INFO L290 TraceCheckUtils]: 43: Hoare triple {2122#(and (= ~counter~0 ~C~0) (= thread2Thread1of1ForFork1_~i~1 0))} [214] 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] {2122#(and (= ~counter~0 ~C~0) (= thread2Thread1of1ForFork1_~i~1 0))} is VALID [2022-02-20 20:55:15,150 INFO L290 TraceCheckUtils]: 44: Hoare triple {2122#(and (= ~counter~0 ~C~0) (= thread2Thread1of1ForFork1_~i~1 0))} [215] L41-3-->L41-4: Formula: true InVars {} OutVars{thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_5|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1] {2122#(and (= ~counter~0 ~C~0) (= thread2Thread1of1ForFork1_~i~1 0))} is VALID [2022-02-20 20:55:15,150 INFO L290 TraceCheckUtils]: 45: Hoare triple {2122#(and (= ~counter~0 ~C~0) (= thread2Thread1of1ForFork1_~i~1 0))} [208] L41-4-->L41-5: Formula: (not (< (mod v_thread1Thread1of1ForFork0_~i~0_3 4294967296) (mod v_~M~0_1 4294967296))) 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[] {2122#(and (= ~counter~0 ~C~0) (= thread2Thread1of1ForFork1_~i~1 0))} is VALID [2022-02-20 20:55:15,151 INFO L290 TraceCheckUtils]: 46: Hoare triple {2122#(and (= ~counter~0 ~C~0) (= thread2Thread1of1ForFork1_~i~1 0))} [210] 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] {2122#(and (= ~counter~0 ~C~0) (= thread2Thread1of1ForFork1_~i~1 0))} is VALID [2022-02-20 20:55:15,151 INFO L290 TraceCheckUtils]: 47: Hoare triple {2122#(and (= ~counter~0 ~C~0) (= thread2Thread1of1ForFork1_~i~1 0))} [212] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2122#(and (= ~counter~0 ~C~0) (= thread2Thread1of1ForFork1_~i~1 0))} is VALID [2022-02-20 20:55:15,152 INFO L290 TraceCheckUtils]: 48: Hoare triple {2122#(and (= ~counter~0 ~C~0) (= thread2Thread1of1ForFork1_~i~1 0))} [165] L73-4-->L73-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre7#1] {2122#(and (= ~counter~0 ~C~0) (= thread2Thread1of1ForFork1_~i~1 0))} is VALID [2022-02-20 20:55:15,152 INFO L290 TraceCheckUtils]: 49: Hoare triple {2122#(and (= ~counter~0 ~C~0) (= thread2Thread1of1ForFork1_~i~1 0))} [164] L73-5-->L74: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet8#1=|v_ULTIMATE.start_main_#t~nondet8#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet8#1] {2122#(and (= ~counter~0 ~C~0) (= thread2Thread1of1ForFork1_~i~1 0))} is VALID [2022-02-20 20:55:15,153 INFO L290 TraceCheckUtils]: 50: Hoare triple {2122#(and (= ~counter~0 ~C~0) (= thread2Thread1of1ForFork1_~i~1 0))} [125] L74-->L74-1: Formula: (= |v_ULTIMATE.start_main_#t~mem9#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_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_2|, 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|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem9#1] {2122#(and (= ~counter~0 ~C~0) (= thread2Thread1of1ForFork1_~i~1 0))} is VALID [2022-02-20 20:55:15,153 INFO L290 TraceCheckUtils]: 51: Hoare triple {2122#(and (= ~counter~0 ~C~0) (= thread2Thread1of1ForFork1_~i~1 0))} [227] thread1EXIT-->L74-2: Formula: (and (= v_thread1Thread1of1ForFork0_thidvar1_4 0) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem9#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ (- 4294967296) .cse0))) v_thread1Thread1of1ForFork0_thidvar0_4)) InVars {thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_5|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4} OutVars{thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_5|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4} AuxVars[] AssignedVars[] {2122#(and (= ~counter~0 ~C~0) (= thread2Thread1of1ForFork1_~i~1 0))} is VALID [2022-02-20 20:55:15,154 INFO L290 TraceCheckUtils]: 52: Hoare triple {2122#(and (= ~counter~0 ~C~0) (= thread2Thread1of1ForFork1_~i~1 0))} [221] L53-->L54-1: Formula: (let ((.cse0 (< 0 (mod v_~counter~0_In_1 4294967296)))) (or (and (= |v_thread2Thread1of1ForFork1_#t~post2_2| |v_thread2Thread1of1ForFork1_#t~post2_1|) (= v_~counter~0_Out_2 v_~counter~0_In_1) (= v_thread2Thread1of1ForFork1_~i~1_8 v_thread2Thread1of1ForFork1_~i~1_7) (not .cse0)) (and (= v_~counter~0_Out_2 (+ v_~counter~0_In_1 (* (- 1) v_~C~0_In_1))) .cse0 (= (+ v_thread2Thread1of1ForFork1_~i~1_7 1) v_thread2Thread1of1ForFork1_~i~1_8)))) InVars {~counter~0=v_~counter~0_In_1, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_7, thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_1|, ~C~0=v_~C~0_In_1} OutVars{~counter~0=v_~counter~0_Out_2, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_8, thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_2|, ~C~0=v_~C~0_In_1} AuxVars[] AssignedVars[~counter~0, thread2Thread1of1ForFork1_~i~1, thread2Thread1of1ForFork1_#t~post2] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:15,167 INFO L290 TraceCheckUtils]: 53: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [218] L54-1-->L52-2: Formula: (not (< (mod v_thread2Thread1of1ForFork1_~i~1_3 4294967296) (mod v_~M~0_3 4294967296))) 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[] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:15,168 INFO L290 TraceCheckUtils]: 54: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [220] 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] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:15,169 INFO L290 TraceCheckUtils]: 55: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [222] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:15,169 INFO L290 TraceCheckUtils]: 56: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [170] L74-2-->L75: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem9#1] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:15,169 INFO L290 TraceCheckUtils]: 57: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [196] L75-->L75-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~mem10#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{#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_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10#1] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:15,170 INFO L290 TraceCheckUtils]: 58: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [228] thread2EXIT-->L75-2: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar2_4) (= 0 v_thread2Thread1of1ForFork1_thidvar1_4) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem10#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ .cse0 (- 4294967296)))) v_thread2Thread1of1ForFork1_thidvar0_4)) InVars {thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} OutVars{thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} AuxVars[] AssignedVars[] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:15,171 INFO L290 TraceCheckUtils]: 59: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [183] L75-2-->L77: 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] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:15,172 INFO L290 TraceCheckUtils]: 60: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [136] L77-->L77-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:15,175 INFO L290 TraceCheckUtils]: 61: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [152] L77-1-->L77-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3| (ite (not (= (mod v_~counter~0_8 4294967296) 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] {1994#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} is VALID [2022-02-20 20:55:15,175 INFO L290 TraceCheckUtils]: 62: Hoare triple {1994#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} [174] L77-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] {1994#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} is VALID [2022-02-20 20:55:15,176 INFO L290 TraceCheckUtils]: 63: Hoare triple {1994#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} [171] 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] {1995#(= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0)} is VALID [2022-02-20 20:55:15,178 INFO L290 TraceCheckUtils]: 64: Hoare triple {1995#(= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0)} [138] 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[] {1987#false} is VALID [2022-02-20 20:55:15,178 INFO L290 TraceCheckUtils]: 65: Hoare triple {1987#false} [146] L34-3-->L78: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1987#false} is VALID [2022-02-20 20:55:15,178 INFO L290 TraceCheckUtils]: 66: Hoare triple {1987#false} [153] L78-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1987#false} is VALID [2022-02-20 20:55:15,180 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:55:15,180 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 20:55:15,766 INFO L290 TraceCheckUtils]: 66: Hoare triple {1987#false} [153] L78-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1987#false} is VALID [2022-02-20 20:55:15,767 INFO L290 TraceCheckUtils]: 65: Hoare triple {1987#false} [146] L34-3-->L78: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1987#false} is VALID [2022-02-20 20:55:15,769 INFO L290 TraceCheckUtils]: 64: Hoare triple {1995#(= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0)} [138] 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[] {1987#false} is VALID [2022-02-20 20:55:15,770 INFO L290 TraceCheckUtils]: 63: Hoare triple {1994#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} [171] 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] {1995#(= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0)} is VALID [2022-02-20 20:55:15,771 INFO L290 TraceCheckUtils]: 62: Hoare triple {1994#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} [174] L77-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] {1994#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} is VALID [2022-02-20 20:55:15,771 INFO L290 TraceCheckUtils]: 61: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [152] L77-1-->L77-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3| (ite (not (= (mod v_~counter~0_8 4294967296) 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] {1994#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} is VALID [2022-02-20 20:55:15,772 INFO L290 TraceCheckUtils]: 60: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [136] L77-->L77-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:15,772 INFO L290 TraceCheckUtils]: 59: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [183] L75-2-->L77: 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] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:15,772 INFO L290 TraceCheckUtils]: 58: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [228] thread2EXIT-->L75-2: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar2_4) (= 0 v_thread2Thread1of1ForFork1_thidvar1_4) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem10#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ .cse0 (- 4294967296)))) v_thread2Thread1of1ForFork1_thidvar0_4)) InVars {thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} OutVars{thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} AuxVars[] AssignedVars[] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:15,773 INFO L290 TraceCheckUtils]: 57: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [196] L75-->L75-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~mem10#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{#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_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10#1] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:15,773 INFO L290 TraceCheckUtils]: 56: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [170] L74-2-->L75: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem9#1] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:15,773 INFO L290 TraceCheckUtils]: 55: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [222] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:15,774 INFO L290 TraceCheckUtils]: 54: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [220] 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] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:15,774 INFO L290 TraceCheckUtils]: 53: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [218] L54-1-->L52-2: Formula: (not (< (mod v_thread2Thread1of1ForFork1_~i~1_3 4294967296) (mod v_~M~0_3 4294967296))) 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[] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:15,775 INFO L290 TraceCheckUtils]: 52: Hoare triple {2240#(or (<= (div (+ ~counter~0 (- 1) (* (- 1) ~C~0)) 4294967296) (div (+ ~counter~0 (* (- 1) ~C~0) (- 4294967296)) 4294967296)) (not (< 0 (mod ~counter~0 4294967296))))} [221] L53-->L54-1: Formula: (let ((.cse0 (< 0 (mod v_~counter~0_In_1 4294967296)))) (or (and (= |v_thread2Thread1of1ForFork1_#t~post2_2| |v_thread2Thread1of1ForFork1_#t~post2_1|) (= v_~counter~0_Out_2 v_~counter~0_In_1) (= v_thread2Thread1of1ForFork1_~i~1_8 v_thread2Thread1of1ForFork1_~i~1_7) (not .cse0)) (and (= v_~counter~0_Out_2 (+ v_~counter~0_In_1 (* (- 1) v_~C~0_In_1))) .cse0 (= (+ v_thread2Thread1of1ForFork1_~i~1_7 1) v_thread2Thread1of1ForFork1_~i~1_8)))) InVars {~counter~0=v_~counter~0_In_1, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_7, thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_1|, ~C~0=v_~C~0_In_1} OutVars{~counter~0=v_~counter~0_Out_2, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_8, thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_2|, ~C~0=v_~C~0_In_1} AuxVars[] AssignedVars[~counter~0, thread2Thread1of1ForFork1_~i~1, thread2Thread1of1ForFork1_#t~post2] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:15,776 INFO L290 TraceCheckUtils]: 51: Hoare triple {2240#(or (<= (div (+ ~counter~0 (- 1) (* (- 1) ~C~0)) 4294967296) (div (+ ~counter~0 (* (- 1) ~C~0) (- 4294967296)) 4294967296)) (not (< 0 (mod ~counter~0 4294967296))))} [227] thread1EXIT-->L74-2: Formula: (and (= v_thread1Thread1of1ForFork0_thidvar1_4 0) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem9#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ (- 4294967296) .cse0))) v_thread1Thread1of1ForFork0_thidvar0_4)) InVars {thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_5|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4} OutVars{thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_5|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4} AuxVars[] AssignedVars[] {2240#(or (<= (div (+ ~counter~0 (- 1) (* (- 1) ~C~0)) 4294967296) (div (+ ~counter~0 (* (- 1) ~C~0) (- 4294967296)) 4294967296)) (not (< 0 (mod ~counter~0 4294967296))))} is VALID [2022-02-20 20:55:15,776 INFO L290 TraceCheckUtils]: 50: Hoare triple {2240#(or (<= (div (+ ~counter~0 (- 1) (* (- 1) ~C~0)) 4294967296) (div (+ ~counter~0 (* (- 1) ~C~0) (- 4294967296)) 4294967296)) (not (< 0 (mod ~counter~0 4294967296))))} [125] L74-->L74-1: Formula: (= |v_ULTIMATE.start_main_#t~mem9#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_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_2|, 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|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem9#1] {2240#(or (<= (div (+ ~counter~0 (- 1) (* (- 1) ~C~0)) 4294967296) (div (+ ~counter~0 (* (- 1) ~C~0) (- 4294967296)) 4294967296)) (not (< 0 (mod ~counter~0 4294967296))))} is VALID [2022-02-20 20:55:15,777 INFO L290 TraceCheckUtils]: 49: Hoare triple {2240#(or (<= (div (+ ~counter~0 (- 1) (* (- 1) ~C~0)) 4294967296) (div (+ ~counter~0 (* (- 1) ~C~0) (- 4294967296)) 4294967296)) (not (< 0 (mod ~counter~0 4294967296))))} [164] L73-5-->L74: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet8#1=|v_ULTIMATE.start_main_#t~nondet8#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet8#1] {2240#(or (<= (div (+ ~counter~0 (- 1) (* (- 1) ~C~0)) 4294967296) (div (+ ~counter~0 (* (- 1) ~C~0) (- 4294967296)) 4294967296)) (not (< 0 (mod ~counter~0 4294967296))))} is VALID [2022-02-20 20:55:15,777 INFO L290 TraceCheckUtils]: 48: Hoare triple {2240#(or (<= (div (+ ~counter~0 (- 1) (* (- 1) ~C~0)) 4294967296) (div (+ ~counter~0 (* (- 1) ~C~0) (- 4294967296)) 4294967296)) (not (< 0 (mod ~counter~0 4294967296))))} [165] L73-4-->L73-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre7#1] {2240#(or (<= (div (+ ~counter~0 (- 1) (* (- 1) ~C~0)) 4294967296) (div (+ ~counter~0 (* (- 1) ~C~0) (- 4294967296)) 4294967296)) (not (< 0 (mod ~counter~0 4294967296))))} is VALID [2022-02-20 20:55:15,778 INFO L290 TraceCheckUtils]: 47: Hoare triple {2240#(or (<= (div (+ ~counter~0 (- 1) (* (- 1) ~C~0)) 4294967296) (div (+ ~counter~0 (* (- 1) ~C~0) (- 4294967296)) 4294967296)) (not (< 0 (mod ~counter~0 4294967296))))} [212] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2240#(or (<= (div (+ ~counter~0 (- 1) (* (- 1) ~C~0)) 4294967296) (div (+ ~counter~0 (* (- 1) ~C~0) (- 4294967296)) 4294967296)) (not (< 0 (mod ~counter~0 4294967296))))} is VALID [2022-02-20 20:55:15,778 INFO L290 TraceCheckUtils]: 46: Hoare triple {2240#(or (<= (div (+ ~counter~0 (- 1) (* (- 1) ~C~0)) 4294967296) (div (+ ~counter~0 (* (- 1) ~C~0) (- 4294967296)) 4294967296)) (not (< 0 (mod ~counter~0 4294967296))))} [210] 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] {2240#(or (<= (div (+ ~counter~0 (- 1) (* (- 1) ~C~0)) 4294967296) (div (+ ~counter~0 (* (- 1) ~C~0) (- 4294967296)) 4294967296)) (not (< 0 (mod ~counter~0 4294967296))))} is VALID [2022-02-20 20:55:15,779 INFO L290 TraceCheckUtils]: 45: Hoare triple {2240#(or (<= (div (+ ~counter~0 (- 1) (* (- 1) ~C~0)) 4294967296) (div (+ ~counter~0 (* (- 1) ~C~0) (- 4294967296)) 4294967296)) (not (< 0 (mod ~counter~0 4294967296))))} [208] L41-4-->L41-5: Formula: (not (< (mod v_thread1Thread1of1ForFork0_~i~0_3 4294967296) (mod v_~M~0_1 4294967296))) 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[] {2240#(or (<= (div (+ ~counter~0 (- 1) (* (- 1) ~C~0)) 4294967296) (div (+ ~counter~0 (* (- 1) ~C~0) (- 4294967296)) 4294967296)) (not (< 0 (mod ~counter~0 4294967296))))} is VALID [2022-02-20 20:55:15,779 INFO L290 TraceCheckUtils]: 44: Hoare triple {2240#(or (<= (div (+ ~counter~0 (- 1) (* (- 1) ~C~0)) 4294967296) (div (+ ~counter~0 (* (- 1) ~C~0) (- 4294967296)) 4294967296)) (not (< 0 (mod ~counter~0 4294967296))))} [215] L41-3-->L41-4: Formula: true InVars {} OutVars{thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_5|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1] {2240#(or (<= (div (+ ~counter~0 (- 1) (* (- 1) ~C~0)) 4294967296) (div (+ ~counter~0 (* (- 1) ~C~0) (- 4294967296)) 4294967296)) (not (< 0 (mod ~counter~0 4294967296))))} is VALID [2022-02-20 20:55:15,780 INFO L290 TraceCheckUtils]: 43: Hoare triple {2240#(or (<= (div (+ ~counter~0 (- 1) (* (- 1) ~C~0)) 4294967296) (div (+ ~counter~0 (* (- 1) ~C~0) (- 4294967296)) 4294967296)) (not (< 0 (mod ~counter~0 4294967296))))} [214] 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] {2240#(or (<= (div (+ ~counter~0 (- 1) (* (- 1) ~C~0)) 4294967296) (div (+ ~counter~0 (* (- 1) ~C~0) (- 4294967296)) 4294967296)) (not (< 0 (mod ~counter~0 4294967296))))} is VALID [2022-02-20 20:55:15,781 INFO L290 TraceCheckUtils]: 42: Hoare triple {2240#(or (<= (div (+ ~counter~0 (- 1) (* (- 1) ~C~0)) 4294967296) (div (+ ~counter~0 (* (- 1) ~C~0) (- 4294967296)) 4294967296)) (not (< 0 (mod ~counter~0 4294967296))))} [213] 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] {2240#(or (<= (div (+ ~counter~0 (- 1) (* (- 1) ~C~0)) 4294967296) (div (+ ~counter~0 (* (- 1) ~C~0) (- 4294967296)) 4294967296)) (not (< 0 (mod ~counter~0 4294967296))))} is VALID [2022-02-20 20:55:15,782 INFO L290 TraceCheckUtils]: 41: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [211] L42-->L44: Formula: (= v_~counter~0_1 (+ v_~counter~0_2 v_~C~0_1)) InVars {~counter~0=v_~counter~0_2, ~C~0=v_~C~0_1} OutVars{~counter~0=v_~counter~0_1, ~C~0=v_~C~0_1} AuxVars[] AssignedVars[~counter~0] {2240#(or (<= (div (+ ~counter~0 (- 1) (* (- 1) ~C~0)) 4294967296) (div (+ ~counter~0 (* (- 1) ~C~0) (- 4294967296)) 4294967296)) (not (< 0 (mod ~counter~0 4294967296))))} is VALID [2022-02-20 20:55:15,782 INFO L290 TraceCheckUtils]: 40: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [209] L41-4-->L42: Formula: (< (mod v_thread1Thread1of1ForFork0_~i~0_5 4294967296) (mod v_~M~0_2 4294967296)) 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[] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:15,783 INFO L290 TraceCheckUtils]: 39: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [206] 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] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:15,783 INFO L290 TraceCheckUtils]: 38: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [219] L54-1-->L53: Formula: (< (mod v_thread2Thread1of1ForFork1_~i~1_5 4294967296) (mod v_~M~0_4 4294967296)) 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[] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:15,783 INFO L290 TraceCheckUtils]: 37: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [216] 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] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:15,784 INFO L290 TraceCheckUtils]: 36: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [226] L73-3-->thread2ENTRY: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar1_2) (= |v_ULTIMATE.start_main_#t~pre7#1_6| v_thread2Thread1of1ForFork1_thidvar0_2) (= 0 v_thread2Thread1of1ForFork1_thidvar2_2)) InVars {ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_6|} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_4|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_12, thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_6|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_4|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#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~post2, thread2Thread1of1ForFork1_#res.base, thread2Thread1of1ForFork1_thidvar2, thread2Thread1of1ForFork1_thidvar0, thread2Thread1of1ForFork1_thidvar1] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:15,784 INFO L290 TraceCheckUtils]: 35: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [163] L73-2-->L73-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~pre7#1_3|)) |v_#memory_int_5|) InVars {#memory_int=|v_#memory_int_6|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#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~pre7#1=|v_ULTIMATE.start_main_#t~pre7#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] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:15,785 INFO L290 TraceCheckUtils]: 34: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [177] L73-1-->L73-2: Formula: (= (+ 1 |v_#pthreadsForks_6|) |v_#pthreadsForks_5|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_5|} AuxVars[] AssignedVars[#pthreadsForks] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:15,785 INFO L290 TraceCheckUtils]: 33: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [162] L73-->L73-1: Formula: (= |v_ULTIMATE.start_main_#t~pre7#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre7#1] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:15,785 INFO L290 TraceCheckUtils]: 32: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [127] L72-5-->L73: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet6#1] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:15,787 INFO L290 TraceCheckUtils]: 31: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [195] L72-4-->L72-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:15,787 INFO L290 TraceCheckUtils]: 30: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [224] L72-3-->thread1ENTRY: Formula: (and (= v_thread1Thread1of1ForFork0_thidvar1_2 0) (= |v_ULTIMATE.start_main_#t~pre5#1_6| v_thread1Thread1of1ForFork0_thidvar0_2)) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_6|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_6|, thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_4|, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_8|, 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_~i~0, thread1Thread1of1ForFork0_thidvar0, thread1Thread1of1ForFork0_#res.offset, thread1Thread1of1ForFork0_thidvar1] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:15,788 INFO L290 TraceCheckUtils]: 29: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [132] L72-2-->L72-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~pre5#1_3|)) |v_#memory_int_3|) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_3|, #memory_int=|v_#memory_int_4|, 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{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_3|, #memory_int=|v_#memory_int_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] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:15,788 INFO L290 TraceCheckUtils]: 28: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [124] L72-1-->L72-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:15,789 INFO L290 TraceCheckUtils]: 27: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [203] L72-->L72-1: Formula: (= |v_ULTIMATE.start_main_#t~pre5#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_2|, #pthreadsForks=|v_#pthreadsForks_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:15,789 INFO L290 TraceCheckUtils]: 26: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [179] L34-1-->L72: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:15,789 INFO L290 TraceCheckUtils]: 25: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [186] 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[] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:15,790 INFO L290 TraceCheckUtils]: 24: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [158] 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] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:15,790 INFO L290 TraceCheckUtils]: 23: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [166] L69-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] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:15,790 INFO L290 TraceCheckUtils]: 22: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [194] L69-1-->L69-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1| (ite (< 0 (mod v_~M~0_7 4294967296)) 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] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:15,791 INFO L290 TraceCheckUtils]: 21: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [142] L69-->L69-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:15,791 INFO L290 TraceCheckUtils]: 20: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [155] L68-1-->L69: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet4#1] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:15,791 INFO L290 TraceCheckUtils]: 19: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [191] L68-->L68-1: Formula: (= |v_ULTIMATE.start_main_#t~nondet4#1_2| v_~M~0_6) InVars {ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_2|} OutVars{~M~0=v_~M~0_6, ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_2|} AuxVars[] AssignedVars[~M~0] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:15,792 INFO L290 TraceCheckUtils]: 18: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [187] L67-->L68: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:15,792 INFO L290 TraceCheckUtils]: 17: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [168] L65-2-->L67: Formula: (= |v_ULTIMATE.start_main_#t~nondet3#1_2| v_~C~0_4) InVars {ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|, ~C~0=v_~C~0_4} AuxVars[] AssignedVars[~C~0] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:15,792 INFO L290 TraceCheckUtils]: 16: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [189] 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] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:15,793 INFO L290 TraceCheckUtils]: 15: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [204] 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] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:15,793 INFO L290 TraceCheckUtils]: 14: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [175] L-1-6-->L65: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_1|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_1|, ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#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_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_#t~nondet8#1=|v_ULTIMATE.start_main_#t~nondet8#1_1|, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_1|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_1|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1, ULTIMATE.start_main_#t~nondet4#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_#t~nondet8#1, ULTIMATE.start_main_#t~nondet6#1, ULTIMATE.start_main_#t~mem9#1, ULTIMATE.start_main_#t~pre7#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] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:15,794 INFO L290 TraceCheckUtils]: 13: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [143] 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] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:15,794 INFO L290 TraceCheckUtils]: 12: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [178] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:15,794 INFO L290 TraceCheckUtils]: 11: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [197] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:15,795 INFO L290 TraceCheckUtils]: 10: Hoare triple {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} [151] L38-1-->L-1-3: Formula: (= v_~C~0_3 0) InVars {} OutVars{~C~0=v_~C~0_3} AuxVars[] AssignedVars[~C~0] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:15,795 INFO L290 TraceCheckUtils]: 9: Hoare triple {1986#true} [202] L38-->L38-1: Formula: (= v_~counter~0_7 0) InVars {} OutVars{~counter~0=v_~counter~0_7} AuxVars[] AssignedVars[~counter~0] {1993#(= ~counter~0 (* (div ~counter~0 4294967296) 4294967296))} is VALID [2022-02-20 20:55:15,795 INFO L290 TraceCheckUtils]: 8: Hoare triple {1986#true} [201] L21-4-->L38: Formula: (= v_~M~0_5 0) InVars {} OutVars{~M~0=v_~M~0_5} AuxVars[] AssignedVars[~M~0] {1986#true} is VALID [2022-02-20 20:55:15,796 INFO L290 TraceCheckUtils]: 7: Hoare triple {1986#true} [148] L21-3-->L21-4: Formula: (and (= 43 (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[] {1986#true} is VALID [2022-02-20 20:55:15,796 INFO L290 TraceCheckUtils]: 6: Hoare triple {1986#true} [181] 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[] {1986#true} is VALID [2022-02-20 20:55:15,796 INFO L290 TraceCheckUtils]: 5: Hoare triple {1986#true} [184] 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[] {1986#true} is VALID [2022-02-20 20:55:15,796 INFO L290 TraceCheckUtils]: 4: Hoare triple {1986#true} [160] 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[] {1986#true} is VALID [2022-02-20 20:55:15,796 INFO L290 TraceCheckUtils]: 3: Hoare triple {1986#true} [193] L-1-2-->L21: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {1986#true} is VALID [2022-02-20 20:55:15,796 INFO L290 TraceCheckUtils]: 2: Hoare triple {1986#true} [192] 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[] {1986#true} is VALID [2022-02-20 20:55:15,796 INFO L290 TraceCheckUtils]: 1: Hoare triple {1986#true} [169] 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] {1986#true} is VALID [2022-02-20 20:55:15,797 INFO L290 TraceCheckUtils]: 0: Hoare triple {1986#true} [188] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1986#true} is VALID [2022-02-20 20:55:15,797 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:55:15,798 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [332616393] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 20:55:15,798 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 20:55:15,798 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 8, 6] total 12 [2022-02-20 20:55:15,798 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [488715047] [2022-02-20 20:55:15,798 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 20:55:15,800 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 10.583333333333334) internal successors, (127), 12 states have internal predecessors, (127), 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 67 [2022-02-20 20:55:15,802 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 20:55:15,802 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 10.583333333333334) internal successors, (127), 12 states have internal predecessors, (127), 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:55:15,902 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 127 edges. 127 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 20:55:15,902 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-02-20 20:55:15,902 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 20:55:15,903 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-02-20 20:55:15,904 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=93, Unknown=0, NotChecked=0, Total=132 [2022-02-20 20:55:15,905 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 53 out of 84 [2022-02-20 20:55:15,906 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 79 places, 69 transitions, 172 flow. Second operand has 12 states, 12 states have (on average 57.0) internal successors, (684), 12 states have internal predecessors, (684), 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:55:15,907 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 20:55:15,907 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 53 of 84 [2022-02-20 20:55:15,907 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 20:55:16,415 INFO L129 PetriNetUnfolder]: 125/438 cut-off events. [2022-02-20 20:55:16,415 INFO L130 PetriNetUnfolder]: For 109/115 co-relation queries the response was YES. [2022-02-20 20:55:16,417 INFO L84 FinitePrefix]: Finished finitePrefix Result has 849 conditions, 438 events. 125/438 cut-off events. For 109/115 co-relation queries the response was YES. Maximal size of possible extension queue 34. Compared 2199 event pairs, 19 based on Foata normal form. 12/434 useless extension candidates. Maximal degree in co-relation 545. Up to 80 conditions per place. [2022-02-20 20:55:16,418 INFO L132 encePairwiseOnDemand]: 74/84 looper letters, 52 selfloop transitions, 20 changer transitions 10/126 dead transitions. [2022-02-20 20:55:16,418 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 90 places, 126 transitions, 505 flow [2022-02-20 20:55:16,418 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-02-20 20:55:16,418 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2022-02-20 20:55:16,424 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 716 transitions. [2022-02-20 20:55:16,424 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.7103174603174603 [2022-02-20 20:55:16,424 INFO L72 ComplementDD]: Start complementDD. Operand 12 states and 716 transitions. [2022-02-20 20:55:16,424 INFO L73 IsDeterministic]: Start isDeterministic. Operand 12 states and 716 transitions. [2022-02-20 20:55:16,424 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 20:55:16,425 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 12 states and 716 transitions. [2022-02-20 20:55:16,426 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 13 states, 12 states have (on average 59.666666666666664) internal successors, (716), 12 states have internal predecessors, (716), 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:55:16,434 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 13 states, 13 states have (on average 84.0) internal successors, (1092), 13 states have internal predecessors, (1092), 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:55:16,434 INFO L81 ComplementDD]: Finished complementDD. Result has 13 states, 13 states have (on average 84.0) internal successors, (1092), 13 states have internal predecessors, (1092), 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:55:16,435 INFO L186 Difference]: Start difference. First operand has 79 places, 69 transitions, 172 flow. Second operand 12 states and 716 transitions. [2022-02-20 20:55:16,435 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 90 places, 126 transitions, 505 flow [2022-02-20 20:55:16,438 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 84 places, 126 transitions, 486 flow, removed 0 selfloop flow, removed 6 redundant places. [2022-02-20 20:55:16,439 INFO L242 Difference]: Finished difference. Result has 94 places, 89 transitions, 326 flow [2022-02-20 20:55:16,440 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=84, PETRI_DIFFERENCE_MINUEND_FLOW=159, PETRI_DIFFERENCE_MINUEND_PLACES=73, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=69, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=3, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=61, PETRI_DIFFERENCE_SUBTRAHEND_STATES=12, PETRI_FLOW=326, PETRI_PLACES=94, PETRI_TRANSITIONS=89} [2022-02-20 20:55:16,440 INFO L334 CegarLoopForPetriNet]: 74 programPoint places, 20 predicate places. [2022-02-20 20:55:16,440 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 94 places, 89 transitions, 326 flow [2022-02-20 20:55:16,476 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 1316 states, 1313 states have (on average 2.597105864432597) internal successors, (3410), 1315 states have internal predecessors, (3410), 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:55:16,478 INFO L78 Accepts]: Start accepts. Automaton has has 1316 states, 1313 states have (on average 2.597105864432597) internal successors, (3410), 1315 states have internal predecessors, (3410), 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 67 [2022-02-20 20:55:16,479 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 20:55:16,479 INFO L470 AbstractCegarLoop]: Abstraction has has 94 places, 89 transitions, 326 flow [2022-02-20 20:55:16,479 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 57.0) internal successors, (684), 12 states have internal predecessors, (684), 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:55:16,479 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:55:16,480 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, 1, 1] [2022-02-20 20:55:16,499 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:55:16,699 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable3 [2022-02-20 20:55:16,699 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION] === [2022-02-20 20:55:16,700 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:55:16,700 INFO L85 PathProgramCache]: Analyzing trace with hash -2124821977, now seen corresponding path program 2 times [2022-02-20 20:55:16,700 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:55:16,700 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [979140490] [2022-02-20 20:55:16,700 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:55:16,701 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:55:16,730 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:55:16,896 INFO L290 TraceCheckUtils]: 0: Hoare triple {3726#true} [188] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3726#true} is VALID [2022-02-20 20:55:16,897 INFO L290 TraceCheckUtils]: 1: Hoare triple {3726#true} [169] 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] {3726#true} is VALID [2022-02-20 20:55:16,897 INFO L290 TraceCheckUtils]: 2: Hoare triple {3726#true} [192] 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[] {3726#true} is VALID [2022-02-20 20:55:16,897 INFO L290 TraceCheckUtils]: 3: Hoare triple {3726#true} [193] L-1-2-->L21: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {3726#true} is VALID [2022-02-20 20:55:16,897 INFO L290 TraceCheckUtils]: 4: Hoare triple {3726#true} [160] 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[] {3726#true} is VALID [2022-02-20 20:55:16,897 INFO L290 TraceCheckUtils]: 5: Hoare triple {3726#true} [184] 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[] {3726#true} is VALID [2022-02-20 20:55:16,897 INFO L290 TraceCheckUtils]: 6: Hoare triple {3726#true} [181] 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[] {3726#true} is VALID [2022-02-20 20:55:16,898 INFO L290 TraceCheckUtils]: 7: Hoare triple {3726#true} [148] L21-3-->L21-4: Formula: (and (= 43 (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[] {3726#true} is VALID [2022-02-20 20:55:16,898 INFO L290 TraceCheckUtils]: 8: Hoare triple {3726#true} [201] L21-4-->L38: Formula: (= v_~M~0_5 0) InVars {} OutVars{~M~0=v_~M~0_5} AuxVars[] AssignedVars[~M~0] {3726#true} is VALID [2022-02-20 20:55:16,898 INFO L290 TraceCheckUtils]: 9: Hoare triple {3726#true} [202] L38-->L38-1: Formula: (= v_~counter~0_7 0) InVars {} OutVars{~counter~0=v_~counter~0_7} AuxVars[] AssignedVars[~counter~0] {3726#true} is VALID [2022-02-20 20:55:16,898 INFO L290 TraceCheckUtils]: 10: Hoare triple {3726#true} [151] L38-1-->L-1-3: Formula: (= v_~C~0_3 0) InVars {} OutVars{~C~0=v_~C~0_3} AuxVars[] AssignedVars[~C~0] {3726#true} is VALID [2022-02-20 20:55:16,898 INFO L290 TraceCheckUtils]: 11: Hoare triple {3726#true} [197] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3726#true} is VALID [2022-02-20 20:55:16,898 INFO L290 TraceCheckUtils]: 12: Hoare triple {3726#true} [178] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3726#true} is VALID [2022-02-20 20:55:16,898 INFO L290 TraceCheckUtils]: 13: Hoare triple {3726#true} [143] 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] {3726#true} is VALID [2022-02-20 20:55:16,899 INFO L290 TraceCheckUtils]: 14: Hoare triple {3726#true} [175] L-1-6-->L65: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_1|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_1|, ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#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_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_#t~nondet8#1=|v_ULTIMATE.start_main_#t~nondet8#1_1|, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_1|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_1|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1, ULTIMATE.start_main_#t~nondet4#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_#t~nondet8#1, ULTIMATE.start_main_#t~nondet6#1, ULTIMATE.start_main_#t~mem9#1, ULTIMATE.start_main_#t~pre7#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] {3726#true} is VALID [2022-02-20 20:55:16,899 INFO L290 TraceCheckUtils]: 15: Hoare triple {3726#true} [204] 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] {3726#true} is VALID [2022-02-20 20:55:16,899 INFO L290 TraceCheckUtils]: 16: Hoare triple {3726#true} [189] 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] {3726#true} is VALID [2022-02-20 20:55:16,899 INFO L290 TraceCheckUtils]: 17: Hoare triple {3726#true} [168] L65-2-->L67: Formula: (= |v_ULTIMATE.start_main_#t~nondet3#1_2| v_~C~0_4) InVars {ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|, ~C~0=v_~C~0_4} AuxVars[] AssignedVars[~C~0] {3726#true} is VALID [2022-02-20 20:55:16,900 INFO L290 TraceCheckUtils]: 18: Hoare triple {3726#true} [187] L67-->L68: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] {3726#true} is VALID [2022-02-20 20:55:16,900 INFO L290 TraceCheckUtils]: 19: Hoare triple {3726#true} [191] L68-->L68-1: Formula: (= |v_ULTIMATE.start_main_#t~nondet4#1_2| v_~M~0_6) InVars {ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_2|} OutVars{~M~0=v_~M~0_6, ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_2|} AuxVars[] AssignedVars[~M~0] {3726#true} is VALID [2022-02-20 20:55:16,900 INFO L290 TraceCheckUtils]: 20: Hoare triple {3726#true} [155] L68-1-->L69: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet4#1] {3726#true} is VALID [2022-02-20 20:55:16,900 INFO L290 TraceCheckUtils]: 21: Hoare triple {3726#true} [142] L69-->L69-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3726#true} is VALID [2022-02-20 20:55:16,900 INFO L290 TraceCheckUtils]: 22: Hoare triple {3726#true} [194] L69-1-->L69-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1| (ite (< 0 (mod v_~M~0_7 4294967296)) 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] {3726#true} is VALID [2022-02-20 20:55:16,900 INFO L290 TraceCheckUtils]: 23: Hoare triple {3726#true} [166] L69-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] {3726#true} is VALID [2022-02-20 20:55:16,901 INFO L290 TraceCheckUtils]: 24: Hoare triple {3726#true} [158] 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] {3726#true} is VALID [2022-02-20 20:55:16,901 INFO L290 TraceCheckUtils]: 25: Hoare triple {3726#true} [186] 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[] {3726#true} is VALID [2022-02-20 20:55:16,901 INFO L290 TraceCheckUtils]: 26: Hoare triple {3726#true} [179] L34-1-->L72: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3726#true} is VALID [2022-02-20 20:55:16,901 INFO L290 TraceCheckUtils]: 27: Hoare triple {3726#true} [203] L72-->L72-1: Formula: (= |v_ULTIMATE.start_main_#t~pre5#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_2|, #pthreadsForks=|v_#pthreadsForks_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1] {3726#true} is VALID [2022-02-20 20:55:16,901 INFO L290 TraceCheckUtils]: 28: Hoare triple {3726#true} [124] L72-1-->L72-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {3726#true} is VALID [2022-02-20 20:55:16,901 INFO L290 TraceCheckUtils]: 29: Hoare triple {3726#true} [132] L72-2-->L72-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~pre5#1_3|)) |v_#memory_int_3|) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_3|, #memory_int=|v_#memory_int_4|, 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{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_3|, #memory_int=|v_#memory_int_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] {3726#true} is VALID [2022-02-20 20:55:16,902 INFO L290 TraceCheckUtils]: 30: Hoare triple {3726#true} [224] L72-3-->thread1ENTRY: Formula: (and (= v_thread1Thread1of1ForFork0_thidvar1_2 0) (= |v_ULTIMATE.start_main_#t~pre5#1_6| v_thread1Thread1of1ForFork0_thidvar0_2)) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_6|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_6|, thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_4|, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_8|, 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_~i~0, thread1Thread1of1ForFork0_thidvar0, thread1Thread1of1ForFork0_#res.offset, thread1Thread1of1ForFork0_thidvar1] {3726#true} is VALID [2022-02-20 20:55:16,902 INFO L290 TraceCheckUtils]: 31: Hoare triple {3726#true} [206] 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] {3728#(= thread1Thread1of1ForFork0_~i~0 0)} is VALID [2022-02-20 20:55:16,903 INFO L290 TraceCheckUtils]: 32: Hoare triple {3728#(= thread1Thread1of1ForFork0_~i~0 0)} [195] L72-4-->L72-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1] {3728#(= thread1Thread1of1ForFork0_~i~0 0)} is VALID [2022-02-20 20:55:16,903 INFO L290 TraceCheckUtils]: 33: Hoare triple {3728#(= thread1Thread1of1ForFork0_~i~0 0)} [127] L72-5-->L73: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet6#1] {3728#(= thread1Thread1of1ForFork0_~i~0 0)} is VALID [2022-02-20 20:55:16,903 INFO L290 TraceCheckUtils]: 34: Hoare triple {3728#(= thread1Thread1of1ForFork0_~i~0 0)} [162] L73-->L73-1: Formula: (= |v_ULTIMATE.start_main_#t~pre7#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre7#1] {3728#(= thread1Thread1of1ForFork0_~i~0 0)} is VALID [2022-02-20 20:55:16,904 INFO L290 TraceCheckUtils]: 35: Hoare triple {3728#(= thread1Thread1of1ForFork0_~i~0 0)} [177] L73-1-->L73-2: Formula: (= (+ 1 |v_#pthreadsForks_6|) |v_#pthreadsForks_5|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_5|} AuxVars[] AssignedVars[#pthreadsForks] {3728#(= thread1Thread1of1ForFork0_~i~0 0)} is VALID [2022-02-20 20:55:16,904 INFO L290 TraceCheckUtils]: 36: Hoare triple {3728#(= thread1Thread1of1ForFork0_~i~0 0)} [163] L73-2-->L73-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~pre7#1_3|)) |v_#memory_int_5|) InVars {#memory_int=|v_#memory_int_6|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#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~pre7#1=|v_ULTIMATE.start_main_#t~pre7#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] {3728#(= thread1Thread1of1ForFork0_~i~0 0)} is VALID [2022-02-20 20:55:16,904 INFO L290 TraceCheckUtils]: 37: Hoare triple {3728#(= thread1Thread1of1ForFork0_~i~0 0)} [226] L73-3-->thread2ENTRY: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar1_2) (= |v_ULTIMATE.start_main_#t~pre7#1_6| v_thread2Thread1of1ForFork1_thidvar0_2) (= 0 v_thread2Thread1of1ForFork1_thidvar2_2)) InVars {ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_6|} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_4|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_12, thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_6|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_4|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#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~post2, thread2Thread1of1ForFork1_#res.base, thread2Thread1of1ForFork1_thidvar2, thread2Thread1of1ForFork1_thidvar0, thread2Thread1of1ForFork1_thidvar1] {3728#(= thread1Thread1of1ForFork0_~i~0 0)} is VALID [2022-02-20 20:55:16,905 INFO L290 TraceCheckUtils]: 38: Hoare triple {3728#(= thread1Thread1of1ForFork0_~i~0 0)} [209] L41-4-->L42: Formula: (< (mod v_thread1Thread1of1ForFork0_~i~0_5 4294967296) (mod v_~M~0_2 4294967296)) 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[] {3729#(and (= thread1Thread1of1ForFork0_~i~0 0) (<= (+ thread1Thread1of1ForFork0_~i~0 (* (div ~M~0 4294967296) 4294967296) 1) (+ ~M~0 (* (div thread1Thread1of1ForFork0_~i~0 4294967296) 4294967296))))} is VALID [2022-02-20 20:55:16,906 INFO L290 TraceCheckUtils]: 39: Hoare triple {3729#(and (= thread1Thread1of1ForFork0_~i~0 0) (<= (+ thread1Thread1of1ForFork0_~i~0 (* (div ~M~0 4294967296) 4294967296) 1) (+ ~M~0 (* (div thread1Thread1of1ForFork0_~i~0 4294967296) 4294967296))))} [211] L42-->L44: Formula: (= v_~counter~0_1 (+ v_~counter~0_2 v_~C~0_1)) InVars {~counter~0=v_~counter~0_2, ~C~0=v_~C~0_1} OutVars{~counter~0=v_~counter~0_1, ~C~0=v_~C~0_1} AuxVars[] AssignedVars[~counter~0] {3729#(and (= thread1Thread1of1ForFork0_~i~0 0) (<= (+ thread1Thread1of1ForFork0_~i~0 (* (div ~M~0 4294967296) 4294967296) 1) (+ ~M~0 (* (div thread1Thread1of1ForFork0_~i~0 4294967296) 4294967296))))} is VALID [2022-02-20 20:55:16,906 INFO L290 TraceCheckUtils]: 40: Hoare triple {3729#(and (= thread1Thread1of1ForFork0_~i~0 0) (<= (+ thread1Thread1of1ForFork0_~i~0 (* (div ~M~0 4294967296) 4294967296) 1) (+ ~M~0 (* (div thread1Thread1of1ForFork0_~i~0 4294967296) 4294967296))))} [213] 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] {3730#(and (<= (+ (* (div ~M~0 4294967296) 4294967296) 1) ~M~0) (= |thread1Thread1of1ForFork0_#t~post1| 0))} is VALID [2022-02-20 20:55:16,907 INFO L290 TraceCheckUtils]: 41: Hoare triple {3730#(and (<= (+ (* (div ~M~0 4294967296) 4294967296) 1) ~M~0) (= |thread1Thread1of1ForFork0_#t~post1| 0))} [214] 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] {3731#(and (<= (+ (* (div ~M~0 4294967296) 4294967296) 1) ~M~0) (<= (+ (* (div thread1Thread1of1ForFork0_~i~0 4294967296) 4294967296) 1) thread1Thread1of1ForFork0_~i~0))} is VALID [2022-02-20 20:55:16,907 INFO L290 TraceCheckUtils]: 42: Hoare triple {3731#(and (<= (+ (* (div ~M~0 4294967296) 4294967296) 1) ~M~0) (<= (+ (* (div thread1Thread1of1ForFork0_~i~0 4294967296) 4294967296) 1) thread1Thread1of1ForFork0_~i~0))} [215] L41-3-->L41-4: Formula: true InVars {} OutVars{thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_5|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1] {3731#(and (<= (+ (* (div ~M~0 4294967296) 4294967296) 1) ~M~0) (<= (+ (* (div thread1Thread1of1ForFork0_~i~0 4294967296) 4294967296) 1) thread1Thread1of1ForFork0_~i~0))} is VALID [2022-02-20 20:55:16,908 INFO L290 TraceCheckUtils]: 43: Hoare triple {3731#(and (<= (+ (* (div ~M~0 4294967296) 4294967296) 1) ~M~0) (<= (+ (* (div thread1Thread1of1ForFork0_~i~0 4294967296) 4294967296) 1) thread1Thread1of1ForFork0_~i~0))} [209] L41-4-->L42: Formula: (< (mod v_thread1Thread1of1ForFork0_~i~0_5 4294967296) (mod v_~M~0_2 4294967296)) 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[] {3732#(<= (+ 2 (* (div ~M~0 4294967296) 4294967296)) ~M~0)} is VALID [2022-02-20 20:55:16,908 INFO L290 TraceCheckUtils]: 44: Hoare triple {3732#(<= (+ 2 (* (div ~M~0 4294967296) 4294967296)) ~M~0)} [216] 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] {3733#(and (= thread2Thread1of1ForFork1_~i~1 0) (<= (+ 2 (* (div ~M~0 4294967296) 4294967296)) ~M~0))} is VALID [2022-02-20 20:55:16,909 INFO L290 TraceCheckUtils]: 45: Hoare triple {3733#(and (= thread2Thread1of1ForFork1_~i~1 0) (<= (+ 2 (* (div ~M~0 4294967296) 4294967296)) ~M~0))} [219] L54-1-->L53: Formula: (< (mod v_thread2Thread1of1ForFork1_~i~1_5 4294967296) (mod v_~M~0_4 4294967296)) 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[] {3733#(and (= thread2Thread1of1ForFork1_~i~1 0) (<= (+ 2 (* (div ~M~0 4294967296) 4294967296)) ~M~0))} is VALID [2022-02-20 20:55:16,910 INFO L290 TraceCheckUtils]: 46: Hoare triple {3733#(and (= thread2Thread1of1ForFork1_~i~1 0) (<= (+ 2 (* (div ~M~0 4294967296) 4294967296)) ~M~0))} [221] L53-->L54-1: Formula: (let ((.cse0 (< 0 (mod v_~counter~0_In_1 4294967296)))) (or (and (= |v_thread2Thread1of1ForFork1_#t~post2_2| |v_thread2Thread1of1ForFork1_#t~post2_1|) (= v_~counter~0_Out_2 v_~counter~0_In_1) (= v_thread2Thread1of1ForFork1_~i~1_8 v_thread2Thread1of1ForFork1_~i~1_7) (not .cse0)) (and (= v_~counter~0_Out_2 (+ v_~counter~0_In_1 (* (- 1) v_~C~0_In_1))) .cse0 (= (+ v_thread2Thread1of1ForFork1_~i~1_7 1) v_thread2Thread1of1ForFork1_~i~1_8)))) InVars {~counter~0=v_~counter~0_In_1, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_7, thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_1|, ~C~0=v_~C~0_In_1} OutVars{~counter~0=v_~counter~0_Out_2, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_8, thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_2|, ~C~0=v_~C~0_In_1} AuxVars[] AssignedVars[~counter~0, thread2Thread1of1ForFork1_~i~1, thread2Thread1of1ForFork1_#t~post2] {3734#(and (<= (+ thread2Thread1of1ForFork1_~i~1 (* (div ~M~0 4294967296) 4294967296) 1) ~M~0) (not (<= (+ (div thread2Thread1of1ForFork1_~i~1 4294967296) 1) 0)))} is VALID [2022-02-20 20:55:16,911 INFO L290 TraceCheckUtils]: 47: Hoare triple {3734#(and (<= (+ thread2Thread1of1ForFork1_~i~1 (* (div ~M~0 4294967296) 4294967296) 1) ~M~0) (not (<= (+ (div thread2Thread1of1ForFork1_~i~1 4294967296) 1) 0)))} [218] L54-1-->L52-2: Formula: (not (< (mod v_thread2Thread1of1ForFork1_~i~1_3 4294967296) (mod v_~M~0_3 4294967296))) 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[] {3727#false} is VALID [2022-02-20 20:55:16,911 INFO L290 TraceCheckUtils]: 48: Hoare triple {3727#false} [211] L42-->L44: Formula: (= v_~counter~0_1 (+ v_~counter~0_2 v_~C~0_1)) InVars {~counter~0=v_~counter~0_2, ~C~0=v_~C~0_1} OutVars{~counter~0=v_~counter~0_1, ~C~0=v_~C~0_1} AuxVars[] AssignedVars[~counter~0] {3727#false} is VALID [2022-02-20 20:55:16,911 INFO L290 TraceCheckUtils]: 49: Hoare triple {3727#false} [213] 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] {3727#false} is VALID [2022-02-20 20:55:16,912 INFO L290 TraceCheckUtils]: 50: Hoare triple {3727#false} [214] 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] {3727#false} is VALID [2022-02-20 20:55:16,912 INFO L290 TraceCheckUtils]: 51: Hoare triple {3727#false} [215] L41-3-->L41-4: Formula: true InVars {} OutVars{thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_5|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1] {3727#false} is VALID [2022-02-20 20:55:16,913 INFO L290 TraceCheckUtils]: 52: Hoare triple {3727#false} [208] L41-4-->L41-5: Formula: (not (< (mod v_thread1Thread1of1ForFork0_~i~0_3 4294967296) (mod v_~M~0_1 4294967296))) 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[] {3727#false} is VALID [2022-02-20 20:55:16,913 INFO L290 TraceCheckUtils]: 53: Hoare triple {3727#false} [210] 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] {3727#false} is VALID [2022-02-20 20:55:16,913 INFO L290 TraceCheckUtils]: 54: Hoare triple {3727#false} [212] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3727#false} is VALID [2022-02-20 20:55:16,914 INFO L290 TraceCheckUtils]: 55: Hoare triple {3727#false} [165] L73-4-->L73-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre7#1] {3727#false} is VALID [2022-02-20 20:55:16,914 INFO L290 TraceCheckUtils]: 56: Hoare triple {3727#false} [164] L73-5-->L74: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet8#1=|v_ULTIMATE.start_main_#t~nondet8#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet8#1] {3727#false} is VALID [2022-02-20 20:55:16,915 INFO L290 TraceCheckUtils]: 57: Hoare triple {3727#false} [125] L74-->L74-1: Formula: (= |v_ULTIMATE.start_main_#t~mem9#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_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_2|, 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|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem9#1] {3727#false} is VALID [2022-02-20 20:55:16,915 INFO L290 TraceCheckUtils]: 58: Hoare triple {3727#false} [227] thread1EXIT-->L74-2: Formula: (and (= v_thread1Thread1of1ForFork0_thidvar1_4 0) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem9#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ (- 4294967296) .cse0))) v_thread1Thread1of1ForFork0_thidvar0_4)) InVars {thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_5|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4} OutVars{thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_5|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4} AuxVars[] AssignedVars[] {3727#false} is VALID [2022-02-20 20:55:16,915 INFO L290 TraceCheckUtils]: 59: Hoare triple {3727#false} [170] L74-2-->L75: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem9#1] {3727#false} is VALID [2022-02-20 20:55:16,915 INFO L290 TraceCheckUtils]: 60: Hoare triple {3727#false} [196] L75-->L75-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~mem10#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{#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_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10#1] {3727#false} is VALID [2022-02-20 20:55:16,915 INFO L290 TraceCheckUtils]: 61: Hoare triple {3727#false} [220] 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] {3727#false} is VALID [2022-02-20 20:55:16,915 INFO L290 TraceCheckUtils]: 62: Hoare triple {3727#false} [222] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3727#false} is VALID [2022-02-20 20:55:16,915 INFO L290 TraceCheckUtils]: 63: Hoare triple {3727#false} [228] thread2EXIT-->L75-2: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar2_4) (= 0 v_thread2Thread1of1ForFork1_thidvar1_4) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem10#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ .cse0 (- 4294967296)))) v_thread2Thread1of1ForFork1_thidvar0_4)) InVars {thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} OutVars{thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} AuxVars[] AssignedVars[] {3727#false} is VALID [2022-02-20 20:55:16,916 INFO L290 TraceCheckUtils]: 64: Hoare triple {3727#false} [183] L75-2-->L77: 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] {3727#false} is VALID [2022-02-20 20:55:16,916 INFO L290 TraceCheckUtils]: 65: Hoare triple {3727#false} [136] L77-->L77-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3727#false} is VALID [2022-02-20 20:55:16,916 INFO L290 TraceCheckUtils]: 66: Hoare triple {3727#false} [152] L77-1-->L77-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3| (ite (not (= (mod v_~counter~0_8 4294967296) 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] {3727#false} is VALID [2022-02-20 20:55:16,916 INFO L290 TraceCheckUtils]: 67: Hoare triple {3727#false} [174] L77-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] {3727#false} is VALID [2022-02-20 20:55:16,916 INFO L290 TraceCheckUtils]: 68: Hoare triple {3727#false} [171] 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] {3727#false} is VALID [2022-02-20 20:55:16,916 INFO L290 TraceCheckUtils]: 69: Hoare triple {3727#false} [138] 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[] {3727#false} is VALID [2022-02-20 20:55:16,916 INFO L290 TraceCheckUtils]: 70: Hoare triple {3727#false} [146] L34-3-->L78: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3727#false} is VALID [2022-02-20 20:55:16,917 INFO L290 TraceCheckUtils]: 71: Hoare triple {3727#false} [153] L78-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3727#false} is VALID [2022-02-20 20:55:16,917 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 6 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 20:55:16,917 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 20:55:16,917 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [979140490] [2022-02-20 20:55:16,917 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [979140490] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 20:55:16,918 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1809205894] [2022-02-20 20:55:16,918 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 20:55:16,918 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 20:55:16,918 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 20:55:16,919 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:55:16,923 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:55:16,978 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 20:55:16,979 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 20:55:16,979 INFO L263 TraceCheckSpWp]: Trace formula consists of 159 conjuncts, 12 conjunts are in the unsatisfiable core [2022-02-20 20:55:17,037 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:55:17,039 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 20:55:17,773 INFO L290 TraceCheckUtils]: 0: Hoare triple {3726#true} [188] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3726#true} is VALID [2022-02-20 20:55:17,773 INFO L290 TraceCheckUtils]: 1: Hoare triple {3726#true} [169] 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] {3726#true} is VALID [2022-02-20 20:55:17,773 INFO L290 TraceCheckUtils]: 2: Hoare triple {3726#true} [192] 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[] {3726#true} is VALID [2022-02-20 20:55:17,773 INFO L290 TraceCheckUtils]: 3: Hoare triple {3726#true} [193] L-1-2-->L21: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {3726#true} is VALID [2022-02-20 20:55:17,773 INFO L290 TraceCheckUtils]: 4: Hoare triple {3726#true} [160] 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[] {3726#true} is VALID [2022-02-20 20:55:17,773 INFO L290 TraceCheckUtils]: 5: Hoare triple {3726#true} [184] 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[] {3726#true} is VALID [2022-02-20 20:55:17,773 INFO L290 TraceCheckUtils]: 6: Hoare triple {3726#true} [181] 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[] {3726#true} is VALID [2022-02-20 20:55:17,773 INFO L290 TraceCheckUtils]: 7: Hoare triple {3726#true} [148] L21-3-->L21-4: Formula: (and (= 43 (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[] {3726#true} is VALID [2022-02-20 20:55:17,773 INFO L290 TraceCheckUtils]: 8: Hoare triple {3726#true} [201] L21-4-->L38: Formula: (= v_~M~0_5 0) InVars {} OutVars{~M~0=v_~M~0_5} AuxVars[] AssignedVars[~M~0] {3726#true} is VALID [2022-02-20 20:55:17,773 INFO L290 TraceCheckUtils]: 9: Hoare triple {3726#true} [202] L38-->L38-1: Formula: (= v_~counter~0_7 0) InVars {} OutVars{~counter~0=v_~counter~0_7} AuxVars[] AssignedVars[~counter~0] {3726#true} is VALID [2022-02-20 20:55:17,773 INFO L290 TraceCheckUtils]: 10: Hoare triple {3726#true} [151] L38-1-->L-1-3: Formula: (= v_~C~0_3 0) InVars {} OutVars{~C~0=v_~C~0_3} AuxVars[] AssignedVars[~C~0] {3726#true} is VALID [2022-02-20 20:55:17,773 INFO L290 TraceCheckUtils]: 11: Hoare triple {3726#true} [197] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3726#true} is VALID [2022-02-20 20:55:17,773 INFO L290 TraceCheckUtils]: 12: Hoare triple {3726#true} [178] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3726#true} is VALID [2022-02-20 20:55:17,774 INFO L290 TraceCheckUtils]: 13: Hoare triple {3726#true} [143] 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] {3726#true} is VALID [2022-02-20 20:55:17,774 INFO L290 TraceCheckUtils]: 14: Hoare triple {3726#true} [175] L-1-6-->L65: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_1|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_1|, ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#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_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_#t~nondet8#1=|v_ULTIMATE.start_main_#t~nondet8#1_1|, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_1|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_1|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1, ULTIMATE.start_main_#t~nondet4#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_#t~nondet8#1, ULTIMATE.start_main_#t~nondet6#1, ULTIMATE.start_main_#t~mem9#1, ULTIMATE.start_main_#t~pre7#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] {3726#true} is VALID [2022-02-20 20:55:17,774 INFO L290 TraceCheckUtils]: 15: Hoare triple {3726#true} [204] 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] {3726#true} is VALID [2022-02-20 20:55:17,774 INFO L290 TraceCheckUtils]: 16: Hoare triple {3726#true} [189] 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] {3726#true} is VALID [2022-02-20 20:55:17,774 INFO L290 TraceCheckUtils]: 17: Hoare triple {3726#true} [168] L65-2-->L67: Formula: (= |v_ULTIMATE.start_main_#t~nondet3#1_2| v_~C~0_4) InVars {ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|, ~C~0=v_~C~0_4} AuxVars[] AssignedVars[~C~0] {3726#true} is VALID [2022-02-20 20:55:17,774 INFO L290 TraceCheckUtils]: 18: Hoare triple {3726#true} [187] L67-->L68: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] {3726#true} is VALID [2022-02-20 20:55:17,774 INFO L290 TraceCheckUtils]: 19: Hoare triple {3726#true} [191] L68-->L68-1: Formula: (= |v_ULTIMATE.start_main_#t~nondet4#1_2| v_~M~0_6) InVars {ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_2|} OutVars{~M~0=v_~M~0_6, ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_2|} AuxVars[] AssignedVars[~M~0] {3726#true} is VALID [2022-02-20 20:55:17,774 INFO L290 TraceCheckUtils]: 20: Hoare triple {3726#true} [155] L68-1-->L69: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet4#1] {3726#true} is VALID [2022-02-20 20:55:17,774 INFO L290 TraceCheckUtils]: 21: Hoare triple {3726#true} [142] L69-->L69-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3726#true} is VALID [2022-02-20 20:55:17,774 INFO L290 TraceCheckUtils]: 22: Hoare triple {3726#true} [194] L69-1-->L69-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1| (ite (< 0 (mod v_~M~0_7 4294967296)) 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] {3726#true} is VALID [2022-02-20 20:55:17,774 INFO L290 TraceCheckUtils]: 23: Hoare triple {3726#true} [166] L69-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] {3726#true} is VALID [2022-02-20 20:55:17,774 INFO L290 TraceCheckUtils]: 24: Hoare triple {3726#true} [158] 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] {3726#true} is VALID [2022-02-20 20:55:17,774 INFO L290 TraceCheckUtils]: 25: Hoare triple {3726#true} [186] 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[] {3726#true} is VALID [2022-02-20 20:55:17,774 INFO L290 TraceCheckUtils]: 26: Hoare triple {3726#true} [179] L34-1-->L72: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3726#true} is VALID [2022-02-20 20:55:17,774 INFO L290 TraceCheckUtils]: 27: Hoare triple {3726#true} [203] L72-->L72-1: Formula: (= |v_ULTIMATE.start_main_#t~pre5#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_2|, #pthreadsForks=|v_#pthreadsForks_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1] {3726#true} is VALID [2022-02-20 20:55:17,775 INFO L290 TraceCheckUtils]: 28: Hoare triple {3726#true} [124] L72-1-->L72-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {3726#true} is VALID [2022-02-20 20:55:17,775 INFO L290 TraceCheckUtils]: 29: Hoare triple {3726#true} [132] L72-2-->L72-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~pre5#1_3|)) |v_#memory_int_3|) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_3|, #memory_int=|v_#memory_int_4|, 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{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_3|, #memory_int=|v_#memory_int_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] {3726#true} is VALID [2022-02-20 20:55:17,775 INFO L290 TraceCheckUtils]: 30: Hoare triple {3726#true} [224] L72-3-->thread1ENTRY: Formula: (and (= v_thread1Thread1of1ForFork0_thidvar1_2 0) (= |v_ULTIMATE.start_main_#t~pre5#1_6| v_thread1Thread1of1ForFork0_thidvar0_2)) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_6|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_6|, thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_4|, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_8|, 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_~i~0, thread1Thread1of1ForFork0_thidvar0, thread1Thread1of1ForFork0_#res.offset, thread1Thread1of1ForFork0_thidvar1] {3726#true} is VALID [2022-02-20 20:55:17,775 INFO L290 TraceCheckUtils]: 31: Hoare triple {3726#true} [206] 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] {3728#(= thread1Thread1of1ForFork0_~i~0 0)} is VALID [2022-02-20 20:55:17,775 INFO L290 TraceCheckUtils]: 32: Hoare triple {3728#(= thread1Thread1of1ForFork0_~i~0 0)} [195] L72-4-->L72-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1] {3728#(= thread1Thread1of1ForFork0_~i~0 0)} is VALID [2022-02-20 20:55:17,776 INFO L290 TraceCheckUtils]: 33: Hoare triple {3728#(= thread1Thread1of1ForFork0_~i~0 0)} [127] L72-5-->L73: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet6#1] {3728#(= thread1Thread1of1ForFork0_~i~0 0)} is VALID [2022-02-20 20:55:17,776 INFO L290 TraceCheckUtils]: 34: Hoare triple {3728#(= thread1Thread1of1ForFork0_~i~0 0)} [162] L73-->L73-1: Formula: (= |v_ULTIMATE.start_main_#t~pre7#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre7#1] {3728#(= thread1Thread1of1ForFork0_~i~0 0)} is VALID [2022-02-20 20:55:17,776 INFO L290 TraceCheckUtils]: 35: Hoare triple {3728#(= thread1Thread1of1ForFork0_~i~0 0)} [177] L73-1-->L73-2: Formula: (= (+ 1 |v_#pthreadsForks_6|) |v_#pthreadsForks_5|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_5|} AuxVars[] AssignedVars[#pthreadsForks] {3728#(= thread1Thread1of1ForFork0_~i~0 0)} is VALID [2022-02-20 20:55:17,776 INFO L290 TraceCheckUtils]: 36: Hoare triple {3728#(= thread1Thread1of1ForFork0_~i~0 0)} [163] L73-2-->L73-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~pre7#1_3|)) |v_#memory_int_5|) InVars {#memory_int=|v_#memory_int_6|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#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~pre7#1=|v_ULTIMATE.start_main_#t~pre7#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] {3728#(= thread1Thread1of1ForFork0_~i~0 0)} is VALID [2022-02-20 20:55:17,777 INFO L290 TraceCheckUtils]: 37: Hoare triple {3728#(= thread1Thread1of1ForFork0_~i~0 0)} [226] L73-3-->thread2ENTRY: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar1_2) (= |v_ULTIMATE.start_main_#t~pre7#1_6| v_thread2Thread1of1ForFork1_thidvar0_2) (= 0 v_thread2Thread1of1ForFork1_thidvar2_2)) InVars {ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_6|} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_4|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_12, thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_6|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_4|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#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~post2, thread2Thread1of1ForFork1_#res.base, thread2Thread1of1ForFork1_thidvar2, thread2Thread1of1ForFork1_thidvar0, thread2Thread1of1ForFork1_thidvar1] {3728#(= thread1Thread1of1ForFork0_~i~0 0)} is VALID [2022-02-20 20:55:17,777 INFO L290 TraceCheckUtils]: 38: Hoare triple {3728#(= thread1Thread1of1ForFork0_~i~0 0)} [209] L41-4-->L42: Formula: (< (mod v_thread1Thread1of1ForFork0_~i~0_5 4294967296) (mod v_~M~0_2 4294967296)) 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[] {3729#(and (= thread1Thread1of1ForFork0_~i~0 0) (<= (+ thread1Thread1of1ForFork0_~i~0 (* (div ~M~0 4294967296) 4294967296) 1) (+ ~M~0 (* (div thread1Thread1of1ForFork0_~i~0 4294967296) 4294967296))))} is VALID [2022-02-20 20:55:17,778 INFO L290 TraceCheckUtils]: 39: Hoare triple {3729#(and (= thread1Thread1of1ForFork0_~i~0 0) (<= (+ thread1Thread1of1ForFork0_~i~0 (* (div ~M~0 4294967296) 4294967296) 1) (+ ~M~0 (* (div thread1Thread1of1ForFork0_~i~0 4294967296) 4294967296))))} [211] L42-->L44: Formula: (= v_~counter~0_1 (+ v_~counter~0_2 v_~C~0_1)) InVars {~counter~0=v_~counter~0_2, ~C~0=v_~C~0_1} OutVars{~counter~0=v_~counter~0_1, ~C~0=v_~C~0_1} AuxVars[] AssignedVars[~counter~0] {3729#(and (= thread1Thread1of1ForFork0_~i~0 0) (<= (+ thread1Thread1of1ForFork0_~i~0 (* (div ~M~0 4294967296) 4294967296) 1) (+ ~M~0 (* (div thread1Thread1of1ForFork0_~i~0 4294967296) 4294967296))))} is VALID [2022-02-20 20:55:17,778 INFO L290 TraceCheckUtils]: 40: Hoare triple {3729#(and (= thread1Thread1of1ForFork0_~i~0 0) (<= (+ thread1Thread1of1ForFork0_~i~0 (* (div ~M~0 4294967296) 4294967296) 1) (+ ~M~0 (* (div thread1Thread1of1ForFork0_~i~0 4294967296) 4294967296))))} [213] 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] {3730#(and (<= (+ (* (div ~M~0 4294967296) 4294967296) 1) ~M~0) (= |thread1Thread1of1ForFork0_#t~post1| 0))} is VALID [2022-02-20 20:55:17,779 INFO L290 TraceCheckUtils]: 41: Hoare triple {3730#(and (<= (+ (* (div ~M~0 4294967296) 4294967296) 1) ~M~0) (= |thread1Thread1of1ForFork0_#t~post1| 0))} [214] 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] {3861#(and (<= (+ (* (div ~M~0 4294967296) 4294967296) 1) ~M~0) (= (+ (- 1) thread1Thread1of1ForFork0_~i~0) 0))} is VALID [2022-02-20 20:55:17,779 INFO L290 TraceCheckUtils]: 42: Hoare triple {3861#(and (<= (+ (* (div ~M~0 4294967296) 4294967296) 1) ~M~0) (= (+ (- 1) thread1Thread1of1ForFork0_~i~0) 0))} [215] L41-3-->L41-4: Formula: true InVars {} OutVars{thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_5|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1] {3861#(and (<= (+ (* (div ~M~0 4294967296) 4294967296) 1) ~M~0) (= (+ (- 1) thread1Thread1of1ForFork0_~i~0) 0))} is VALID [2022-02-20 20:55:17,780 INFO L290 TraceCheckUtils]: 43: Hoare triple {3861#(and (<= (+ (* (div ~M~0 4294967296) 4294967296) 1) ~M~0) (= (+ (- 1) thread1Thread1of1ForFork0_~i~0) 0))} [209] L41-4-->L42: Formula: (< (mod v_thread1Thread1of1ForFork0_~i~0_5 4294967296) (mod v_~M~0_2 4294967296)) 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[] {3732#(<= (+ 2 (* (div ~M~0 4294967296) 4294967296)) ~M~0)} is VALID [2022-02-20 20:55:17,780 INFO L290 TraceCheckUtils]: 44: Hoare triple {3732#(<= (+ 2 (* (div ~M~0 4294967296) 4294967296)) ~M~0)} [216] 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] {3733#(and (= thread2Thread1of1ForFork1_~i~1 0) (<= (+ 2 (* (div ~M~0 4294967296) 4294967296)) ~M~0))} is VALID [2022-02-20 20:55:17,780 INFO L290 TraceCheckUtils]: 45: Hoare triple {3733#(and (= thread2Thread1of1ForFork1_~i~1 0) (<= (+ 2 (* (div ~M~0 4294967296) 4294967296)) ~M~0))} [219] L54-1-->L53: Formula: (< (mod v_thread2Thread1of1ForFork1_~i~1_5 4294967296) (mod v_~M~0_4 4294967296)) 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[] {3733#(and (= thread2Thread1of1ForFork1_~i~1 0) (<= (+ 2 (* (div ~M~0 4294967296) 4294967296)) ~M~0))} is VALID [2022-02-20 20:55:17,781 INFO L290 TraceCheckUtils]: 46: Hoare triple {3733#(and (= thread2Thread1of1ForFork1_~i~1 0) (<= (+ 2 (* (div ~M~0 4294967296) 4294967296)) ~M~0))} [221] L53-->L54-1: Formula: (let ((.cse0 (< 0 (mod v_~counter~0_In_1 4294967296)))) (or (and (= |v_thread2Thread1of1ForFork1_#t~post2_2| |v_thread2Thread1of1ForFork1_#t~post2_1|) (= v_~counter~0_Out_2 v_~counter~0_In_1) (= v_thread2Thread1of1ForFork1_~i~1_8 v_thread2Thread1of1ForFork1_~i~1_7) (not .cse0)) (and (= v_~counter~0_Out_2 (+ v_~counter~0_In_1 (* (- 1) v_~C~0_In_1))) .cse0 (= (+ v_thread2Thread1of1ForFork1_~i~1_7 1) v_thread2Thread1of1ForFork1_~i~1_8)))) InVars {~counter~0=v_~counter~0_In_1, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_7, thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_1|, ~C~0=v_~C~0_In_1} OutVars{~counter~0=v_~counter~0_Out_2, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_8, thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_2|, ~C~0=v_~C~0_In_1} AuxVars[] AssignedVars[~counter~0, thread2Thread1of1ForFork1_~i~1, thread2Thread1of1ForFork1_#t~post2] {3877#(and (or (= thread2Thread1of1ForFork1_~i~1 1) (= thread2Thread1of1ForFork1_~i~1 0)) (<= (+ 2 (* (div ~M~0 4294967296) 4294967296)) ~M~0))} is VALID [2022-02-20 20:55:17,782 INFO L290 TraceCheckUtils]: 47: Hoare triple {3877#(and (or (= thread2Thread1of1ForFork1_~i~1 1) (= thread2Thread1of1ForFork1_~i~1 0)) (<= (+ 2 (* (div ~M~0 4294967296) 4294967296)) ~M~0))} [218] L54-1-->L52-2: Formula: (not (< (mod v_thread2Thread1of1ForFork1_~i~1_3 4294967296) (mod v_~M~0_3 4294967296))) 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[] {3727#false} is VALID [2022-02-20 20:55:17,782 INFO L290 TraceCheckUtils]: 48: Hoare triple {3727#false} [211] L42-->L44: Formula: (= v_~counter~0_1 (+ v_~counter~0_2 v_~C~0_1)) InVars {~counter~0=v_~counter~0_2, ~C~0=v_~C~0_1} OutVars{~counter~0=v_~counter~0_1, ~C~0=v_~C~0_1} AuxVars[] AssignedVars[~counter~0] {3727#false} is VALID [2022-02-20 20:55:17,782 INFO L290 TraceCheckUtils]: 49: Hoare triple {3727#false} [213] 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] {3727#false} is VALID [2022-02-20 20:55:17,782 INFO L290 TraceCheckUtils]: 50: Hoare triple {3727#false} [214] 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] {3727#false} is VALID [2022-02-20 20:55:17,782 INFO L290 TraceCheckUtils]: 51: Hoare triple {3727#false} [215] L41-3-->L41-4: Formula: true InVars {} OutVars{thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_5|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1] {3727#false} is VALID [2022-02-20 20:55:17,782 INFO L290 TraceCheckUtils]: 52: Hoare triple {3727#false} [208] L41-4-->L41-5: Formula: (not (< (mod v_thread1Thread1of1ForFork0_~i~0_3 4294967296) (mod v_~M~0_1 4294967296))) 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[] {3727#false} is VALID [2022-02-20 20:55:17,782 INFO L290 TraceCheckUtils]: 53: Hoare triple {3727#false} [210] 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] {3727#false} is VALID [2022-02-20 20:55:17,782 INFO L290 TraceCheckUtils]: 54: Hoare triple {3727#false} [212] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3727#false} is VALID [2022-02-20 20:55:17,782 INFO L290 TraceCheckUtils]: 55: Hoare triple {3727#false} [165] L73-4-->L73-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre7#1] {3727#false} is VALID [2022-02-20 20:55:17,783 INFO L290 TraceCheckUtils]: 56: Hoare triple {3727#false} [164] L73-5-->L74: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet8#1=|v_ULTIMATE.start_main_#t~nondet8#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet8#1] {3727#false} is VALID [2022-02-20 20:55:17,783 INFO L290 TraceCheckUtils]: 57: Hoare triple {3727#false} [125] L74-->L74-1: Formula: (= |v_ULTIMATE.start_main_#t~mem9#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_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_2|, 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|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem9#1] {3727#false} is VALID [2022-02-20 20:55:17,783 INFO L290 TraceCheckUtils]: 58: Hoare triple {3727#false} [227] thread1EXIT-->L74-2: Formula: (and (= v_thread1Thread1of1ForFork0_thidvar1_4 0) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem9#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ (- 4294967296) .cse0))) v_thread1Thread1of1ForFork0_thidvar0_4)) InVars {thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_5|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4} OutVars{thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_5|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4} AuxVars[] AssignedVars[] {3727#false} is VALID [2022-02-20 20:55:17,783 INFO L290 TraceCheckUtils]: 59: Hoare triple {3727#false} [170] L74-2-->L75: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem9#1] {3727#false} is VALID [2022-02-20 20:55:17,783 INFO L290 TraceCheckUtils]: 60: Hoare triple {3727#false} [196] L75-->L75-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~mem10#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{#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_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10#1] {3727#false} is VALID [2022-02-20 20:55:17,783 INFO L290 TraceCheckUtils]: 61: Hoare triple {3727#false} [220] 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] {3727#false} is VALID [2022-02-20 20:55:17,783 INFO L290 TraceCheckUtils]: 62: Hoare triple {3727#false} [222] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3727#false} is VALID [2022-02-20 20:55:17,783 INFO L290 TraceCheckUtils]: 63: Hoare triple {3727#false} [228] thread2EXIT-->L75-2: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar2_4) (= 0 v_thread2Thread1of1ForFork1_thidvar1_4) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem10#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ .cse0 (- 4294967296)))) v_thread2Thread1of1ForFork1_thidvar0_4)) InVars {thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} OutVars{thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} AuxVars[] AssignedVars[] {3727#false} is VALID [2022-02-20 20:55:17,783 INFO L290 TraceCheckUtils]: 64: Hoare triple {3727#false} [183] L75-2-->L77: 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] {3727#false} is VALID [2022-02-20 20:55:17,783 INFO L290 TraceCheckUtils]: 65: Hoare triple {3727#false} [136] L77-->L77-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3727#false} is VALID [2022-02-20 20:55:17,783 INFO L290 TraceCheckUtils]: 66: Hoare triple {3727#false} [152] L77-1-->L77-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3| (ite (not (= (mod v_~counter~0_8 4294967296) 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] {3727#false} is VALID [2022-02-20 20:55:17,783 INFO L290 TraceCheckUtils]: 67: Hoare triple {3727#false} [174] L77-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] {3727#false} is VALID [2022-02-20 20:55:17,783 INFO L290 TraceCheckUtils]: 68: Hoare triple {3727#false} [171] 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] {3727#false} is VALID [2022-02-20 20:55:17,783 INFO L290 TraceCheckUtils]: 69: Hoare triple {3727#false} [138] 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[] {3727#false} is VALID [2022-02-20 20:55:17,784 INFO L290 TraceCheckUtils]: 70: Hoare triple {3727#false} [146] L34-3-->L78: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3727#false} is VALID [2022-02-20 20:55:17,784 INFO L290 TraceCheckUtils]: 71: Hoare triple {3727#false} [153] L78-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3727#false} is VALID [2022-02-20 20:55:17,784 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 6 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 20:55:17,784 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 20:55:18,712 INFO L290 TraceCheckUtils]: 71: Hoare triple {3727#false} [153] L78-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3727#false} is VALID [2022-02-20 20:55:18,712 INFO L290 TraceCheckUtils]: 70: Hoare triple {3727#false} [146] L34-3-->L78: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3727#false} is VALID [2022-02-20 20:55:18,713 INFO L290 TraceCheckUtils]: 69: Hoare triple {3727#false} [138] 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[] {3727#false} is VALID [2022-02-20 20:55:18,713 INFO L290 TraceCheckUtils]: 68: Hoare triple {3727#false} [171] 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] {3727#false} is VALID [2022-02-20 20:55:18,713 INFO L290 TraceCheckUtils]: 67: Hoare triple {3727#false} [174] L77-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] {3727#false} is VALID [2022-02-20 20:55:18,713 INFO L290 TraceCheckUtils]: 66: Hoare triple {3727#false} [152] L77-1-->L77-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3| (ite (not (= (mod v_~counter~0_8 4294967296) 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] {3727#false} is VALID [2022-02-20 20:55:18,713 INFO L290 TraceCheckUtils]: 65: Hoare triple {3727#false} [136] L77-->L77-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3727#false} is VALID [2022-02-20 20:55:18,713 INFO L290 TraceCheckUtils]: 64: Hoare triple {3727#false} [183] L75-2-->L77: 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] {3727#false} is VALID [2022-02-20 20:55:18,713 INFO L290 TraceCheckUtils]: 63: Hoare triple {3727#false} [228] thread2EXIT-->L75-2: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar2_4) (= 0 v_thread2Thread1of1ForFork1_thidvar1_4) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem10#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ .cse0 (- 4294967296)))) v_thread2Thread1of1ForFork1_thidvar0_4)) InVars {thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} OutVars{thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} AuxVars[] AssignedVars[] {3727#false} is VALID [2022-02-20 20:55:18,714 INFO L290 TraceCheckUtils]: 62: Hoare triple {3727#false} [222] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3727#false} is VALID [2022-02-20 20:55:18,714 INFO L290 TraceCheckUtils]: 61: Hoare triple {3727#false} [220] 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] {3727#false} is VALID [2022-02-20 20:55:18,714 INFO L290 TraceCheckUtils]: 60: Hoare triple {3727#false} [196] L75-->L75-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~mem10#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{#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_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10#1] {3727#false} is VALID [2022-02-20 20:55:18,714 INFO L290 TraceCheckUtils]: 59: Hoare triple {3727#false} [170] L74-2-->L75: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem9#1] {3727#false} is VALID [2022-02-20 20:55:18,714 INFO L290 TraceCheckUtils]: 58: Hoare triple {3727#false} [227] thread1EXIT-->L74-2: Formula: (and (= v_thread1Thread1of1ForFork0_thidvar1_4 0) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem9#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ (- 4294967296) .cse0))) v_thread1Thread1of1ForFork0_thidvar0_4)) InVars {thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_5|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4} OutVars{thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_5|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4} AuxVars[] AssignedVars[] {3727#false} is VALID [2022-02-20 20:55:18,714 INFO L290 TraceCheckUtils]: 57: Hoare triple {3727#false} [125] L74-->L74-1: Formula: (= |v_ULTIMATE.start_main_#t~mem9#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_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_2|, 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|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem9#1] {3727#false} is VALID [2022-02-20 20:55:18,714 INFO L290 TraceCheckUtils]: 56: Hoare triple {3727#false} [164] L73-5-->L74: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet8#1=|v_ULTIMATE.start_main_#t~nondet8#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet8#1] {3727#false} is VALID [2022-02-20 20:55:18,715 INFO L290 TraceCheckUtils]: 55: Hoare triple {3727#false} [165] L73-4-->L73-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre7#1] {3727#false} is VALID [2022-02-20 20:55:18,715 INFO L290 TraceCheckUtils]: 54: Hoare triple {3727#false} [212] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3727#false} is VALID [2022-02-20 20:55:18,715 INFO L290 TraceCheckUtils]: 53: Hoare triple {3727#false} [210] 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] {3727#false} is VALID [2022-02-20 20:55:18,715 INFO L290 TraceCheckUtils]: 52: Hoare triple {3727#false} [208] L41-4-->L41-5: Formula: (not (< (mod v_thread1Thread1of1ForFork0_~i~0_3 4294967296) (mod v_~M~0_1 4294967296))) 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[] {3727#false} is VALID [2022-02-20 20:55:18,715 INFO L290 TraceCheckUtils]: 51: Hoare triple {3727#false} [215] L41-3-->L41-4: Formula: true InVars {} OutVars{thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_5|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1] {3727#false} is VALID [2022-02-20 20:55:18,715 INFO L290 TraceCheckUtils]: 50: Hoare triple {3727#false} [214] 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] {3727#false} is VALID [2022-02-20 20:55:18,715 INFO L290 TraceCheckUtils]: 49: Hoare triple {3727#false} [213] 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] {3727#false} is VALID [2022-02-20 20:55:18,715 INFO L290 TraceCheckUtils]: 48: Hoare triple {3727#false} [211] L42-->L44: Formula: (= v_~counter~0_1 (+ v_~counter~0_2 v_~C~0_1)) InVars {~counter~0=v_~counter~0_2, ~C~0=v_~C~0_1} OutVars{~counter~0=v_~counter~0_1, ~C~0=v_~C~0_1} AuxVars[] AssignedVars[~counter~0] {3727#false} is VALID [2022-02-20 20:55:18,716 INFO L290 TraceCheckUtils]: 47: Hoare triple {4025#(< (mod thread2Thread1of1ForFork1_~i~1 4294967296) (mod ~M~0 4294967296))} [218] L54-1-->L52-2: Formula: (not (< (mod v_thread2Thread1of1ForFork1_~i~1_3 4294967296) (mod v_~M~0_3 4294967296))) 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[] {3727#false} is VALID [2022-02-20 20:55:18,719 INFO L290 TraceCheckUtils]: 46: Hoare triple {4029#(and (<= (div (+ (- 2) (mod ~M~0 4294967296) (* (- 1) thread2Thread1of1ForFork1_~i~1)) (- 4294967296)) (+ (div (+ thread2Thread1of1ForFork1_~i~1 (- 4294967295)) 4294967296) 1)) (<= (div (+ (- 1) (mod ~M~0 4294967296) (* (- 1) thread2Thread1of1ForFork1_~i~1)) (- 4294967296)) (+ (div (+ thread2Thread1of1ForFork1_~i~1 (- 4294967296)) 4294967296) 1)))} [221] L53-->L54-1: Formula: (let ((.cse0 (< 0 (mod v_~counter~0_In_1 4294967296)))) (or (and (= |v_thread2Thread1of1ForFork1_#t~post2_2| |v_thread2Thread1of1ForFork1_#t~post2_1|) (= v_~counter~0_Out_2 v_~counter~0_In_1) (= v_thread2Thread1of1ForFork1_~i~1_8 v_thread2Thread1of1ForFork1_~i~1_7) (not .cse0)) (and (= v_~counter~0_Out_2 (+ v_~counter~0_In_1 (* (- 1) v_~C~0_In_1))) .cse0 (= (+ v_thread2Thread1of1ForFork1_~i~1_7 1) v_thread2Thread1of1ForFork1_~i~1_8)))) InVars {~counter~0=v_~counter~0_In_1, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_7, thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_1|, ~C~0=v_~C~0_In_1} OutVars{~counter~0=v_~counter~0_Out_2, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_8, thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_2|, ~C~0=v_~C~0_In_1} AuxVars[] AssignedVars[~counter~0, thread2Thread1of1ForFork1_~i~1, thread2Thread1of1ForFork1_#t~post2] {4025#(< (mod thread2Thread1of1ForFork1_~i~1 4294967296) (mod ~M~0 4294967296))} is VALID [2022-02-20 20:55:18,720 INFO L290 TraceCheckUtils]: 45: Hoare triple {4029#(and (<= (div (+ (- 2) (mod ~M~0 4294967296) (* (- 1) thread2Thread1of1ForFork1_~i~1)) (- 4294967296)) (+ (div (+ thread2Thread1of1ForFork1_~i~1 (- 4294967295)) 4294967296) 1)) (<= (div (+ (- 1) (mod ~M~0 4294967296) (* (- 1) thread2Thread1of1ForFork1_~i~1)) (- 4294967296)) (+ (div (+ thread2Thread1of1ForFork1_~i~1 (- 4294967296)) 4294967296) 1)))} [219] L54-1-->L53: Formula: (< (mod v_thread2Thread1of1ForFork1_~i~1_5 4294967296) (mod v_~M~0_4 4294967296)) 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[] {4029#(and (<= (div (+ (- 2) (mod ~M~0 4294967296) (* (- 1) thread2Thread1of1ForFork1_~i~1)) (- 4294967296)) (+ (div (+ thread2Thread1of1ForFork1_~i~1 (- 4294967295)) 4294967296) 1)) (<= (div (+ (- 1) (mod ~M~0 4294967296) (* (- 1) thread2Thread1of1ForFork1_~i~1)) (- 4294967296)) (+ (div (+ thread2Thread1of1ForFork1_~i~1 (- 4294967296)) 4294967296) 1)))} is VALID [2022-02-20 20:55:18,720 INFO L290 TraceCheckUtils]: 44: Hoare triple {3732#(<= (+ 2 (* (div ~M~0 4294967296) 4294967296)) ~M~0)} [216] 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] {4029#(and (<= (div (+ (- 2) (mod ~M~0 4294967296) (* (- 1) thread2Thread1of1ForFork1_~i~1)) (- 4294967296)) (+ (div (+ thread2Thread1of1ForFork1_~i~1 (- 4294967295)) 4294967296) 1)) (<= (div (+ (- 1) (mod ~M~0 4294967296) (* (- 1) thread2Thread1of1ForFork1_~i~1)) (- 4294967296)) (+ (div (+ thread2Thread1of1ForFork1_~i~1 (- 4294967296)) 4294967296) 1)))} is VALID [2022-02-20 20:55:18,721 INFO L290 TraceCheckUtils]: 43: Hoare triple {4039#(or (not (< (mod thread1Thread1of1ForFork0_~i~0 4294967296) (mod ~M~0 4294967296))) (<= (+ 2 (* (div ~M~0 4294967296) 4294967296)) ~M~0))} [209] L41-4-->L42: Formula: (< (mod v_thread1Thread1of1ForFork0_~i~0_5 4294967296) (mod v_~M~0_2 4294967296)) 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[] {3732#(<= (+ 2 (* (div ~M~0 4294967296) 4294967296)) ~M~0)} is VALID [2022-02-20 20:55:18,721 INFO L290 TraceCheckUtils]: 42: Hoare triple {4039#(or (not (< (mod thread1Thread1of1ForFork0_~i~0 4294967296) (mod ~M~0 4294967296))) (<= (+ 2 (* (div ~M~0 4294967296) 4294967296)) ~M~0))} [215] L41-3-->L41-4: Formula: true InVars {} OutVars{thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_5|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1] {4039#(or (not (< (mod thread1Thread1of1ForFork0_~i~0 4294967296) (mod ~M~0 4294967296))) (<= (+ 2 (* (div ~M~0 4294967296) 4294967296)) ~M~0))} is VALID [2022-02-20 20:55:18,722 INFO L290 TraceCheckUtils]: 41: Hoare triple {4046#(or (not (< (mod (+ |thread1Thread1of1ForFork0_#t~post1| 1) 4294967296) (mod ~M~0 4294967296))) (<= (+ 2 (* (div ~M~0 4294967296) 4294967296)) ~M~0))} [214] 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] {4039#(or (not (< (mod thread1Thread1of1ForFork0_~i~0 4294967296) (mod ~M~0 4294967296))) (<= (+ 2 (* (div ~M~0 4294967296) 4294967296)) ~M~0))} is VALID [2022-02-20 20:55:18,722 INFO L290 TraceCheckUtils]: 40: Hoare triple {4050#(or (not (< (mod (+ thread1Thread1of1ForFork0_~i~0 1) 4294967296) (mod ~M~0 4294967296))) (<= (+ 2 (* (div ~M~0 4294967296) 4294967296)) ~M~0))} [213] 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] {4046#(or (not (< (mod (+ |thread1Thread1of1ForFork0_#t~post1| 1) 4294967296) (mod ~M~0 4294967296))) (<= (+ 2 (* (div ~M~0 4294967296) 4294967296)) ~M~0))} is VALID [2022-02-20 20:55:18,723 INFO L290 TraceCheckUtils]: 39: Hoare triple {4050#(or (not (< (mod (+ thread1Thread1of1ForFork0_~i~0 1) 4294967296) (mod ~M~0 4294967296))) (<= (+ 2 (* (div ~M~0 4294967296) 4294967296)) ~M~0))} [211] L42-->L44: Formula: (= v_~counter~0_1 (+ v_~counter~0_2 v_~C~0_1)) InVars {~counter~0=v_~counter~0_2, ~C~0=v_~C~0_1} OutVars{~counter~0=v_~counter~0_1, ~C~0=v_~C~0_1} AuxVars[] AssignedVars[~counter~0] {4050#(or (not (< (mod (+ thread1Thread1of1ForFork0_~i~0 1) 4294967296) (mod ~M~0 4294967296))) (<= (+ 2 (* (div ~M~0 4294967296) 4294967296)) ~M~0))} is VALID [2022-02-20 20:55:18,723 INFO L290 TraceCheckUtils]: 38: Hoare triple {3726#true} [209] L41-4-->L42: Formula: (< (mod v_thread1Thread1of1ForFork0_~i~0_5 4294967296) (mod v_~M~0_2 4294967296)) 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[] {4050#(or (not (< (mod (+ thread1Thread1of1ForFork0_~i~0 1) 4294967296) (mod ~M~0 4294967296))) (<= (+ 2 (* (div ~M~0 4294967296) 4294967296)) ~M~0))} is VALID [2022-02-20 20:55:18,724 INFO L290 TraceCheckUtils]: 37: Hoare triple {3726#true} [226] L73-3-->thread2ENTRY: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar1_2) (= |v_ULTIMATE.start_main_#t~pre7#1_6| v_thread2Thread1of1ForFork1_thidvar0_2) (= 0 v_thread2Thread1of1ForFork1_thidvar2_2)) InVars {ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_6|} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_4|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_12, thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_6|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_4|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#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~post2, thread2Thread1of1ForFork1_#res.base, thread2Thread1of1ForFork1_thidvar2, thread2Thread1of1ForFork1_thidvar0, thread2Thread1of1ForFork1_thidvar1] {3726#true} is VALID [2022-02-20 20:55:18,724 INFO L290 TraceCheckUtils]: 36: Hoare triple {3726#true} [163] L73-2-->L73-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~pre7#1_3|)) |v_#memory_int_5|) InVars {#memory_int=|v_#memory_int_6|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#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~pre7#1=|v_ULTIMATE.start_main_#t~pre7#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] {3726#true} is VALID [2022-02-20 20:55:18,724 INFO L290 TraceCheckUtils]: 35: Hoare triple {3726#true} [177] L73-1-->L73-2: Formula: (= (+ 1 |v_#pthreadsForks_6|) |v_#pthreadsForks_5|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_5|} AuxVars[] AssignedVars[#pthreadsForks] {3726#true} is VALID [2022-02-20 20:55:18,724 INFO L290 TraceCheckUtils]: 34: Hoare triple {3726#true} [162] L73-->L73-1: Formula: (= |v_ULTIMATE.start_main_#t~pre7#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre7#1] {3726#true} is VALID [2022-02-20 20:55:18,724 INFO L290 TraceCheckUtils]: 33: Hoare triple {3726#true} [127] L72-5-->L73: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet6#1] {3726#true} is VALID [2022-02-20 20:55:18,724 INFO L290 TraceCheckUtils]: 32: Hoare triple {3726#true} [195] L72-4-->L72-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1] {3726#true} is VALID [2022-02-20 20:55:18,724 INFO L290 TraceCheckUtils]: 31: Hoare triple {3726#true} [206] 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] {3726#true} is VALID [2022-02-20 20:55:18,724 INFO L290 TraceCheckUtils]: 30: Hoare triple {3726#true} [224] L72-3-->thread1ENTRY: Formula: (and (= v_thread1Thread1of1ForFork0_thidvar1_2 0) (= |v_ULTIMATE.start_main_#t~pre5#1_6| v_thread1Thread1of1ForFork0_thidvar0_2)) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_6|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_6|, thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_4|, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_8|, 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_~i~0, thread1Thread1of1ForFork0_thidvar0, thread1Thread1of1ForFork0_#res.offset, thread1Thread1of1ForFork0_thidvar1] {3726#true} is VALID [2022-02-20 20:55:18,725 INFO L290 TraceCheckUtils]: 29: Hoare triple {3726#true} [132] L72-2-->L72-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~pre5#1_3|)) |v_#memory_int_3|) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_3|, #memory_int=|v_#memory_int_4|, 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{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_3|, #memory_int=|v_#memory_int_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] {3726#true} is VALID [2022-02-20 20:55:18,725 INFO L290 TraceCheckUtils]: 28: Hoare triple {3726#true} [124] L72-1-->L72-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {3726#true} is VALID [2022-02-20 20:55:18,725 INFO L290 TraceCheckUtils]: 27: Hoare triple {3726#true} [203] L72-->L72-1: Formula: (= |v_ULTIMATE.start_main_#t~pre5#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_2|, #pthreadsForks=|v_#pthreadsForks_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1] {3726#true} is VALID [2022-02-20 20:55:18,725 INFO L290 TraceCheckUtils]: 26: Hoare triple {3726#true} [179] L34-1-->L72: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3726#true} is VALID [2022-02-20 20:55:18,725 INFO L290 TraceCheckUtils]: 25: Hoare triple {3726#true} [186] 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[] {3726#true} is VALID [2022-02-20 20:55:18,725 INFO L290 TraceCheckUtils]: 24: Hoare triple {3726#true} [158] 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] {3726#true} is VALID [2022-02-20 20:55:18,725 INFO L290 TraceCheckUtils]: 23: Hoare triple {3726#true} [166] L69-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] {3726#true} is VALID [2022-02-20 20:55:18,726 INFO L290 TraceCheckUtils]: 22: Hoare triple {3726#true} [194] L69-1-->L69-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1| (ite (< 0 (mod v_~M~0_7 4294967296)) 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] {3726#true} is VALID [2022-02-20 20:55:18,726 INFO L290 TraceCheckUtils]: 21: Hoare triple {3726#true} [142] L69-->L69-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3726#true} is VALID [2022-02-20 20:55:18,726 INFO L290 TraceCheckUtils]: 20: Hoare triple {3726#true} [155] L68-1-->L69: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet4#1] {3726#true} is VALID [2022-02-20 20:55:18,726 INFO L290 TraceCheckUtils]: 19: Hoare triple {3726#true} [191] L68-->L68-1: Formula: (= |v_ULTIMATE.start_main_#t~nondet4#1_2| v_~M~0_6) InVars {ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_2|} OutVars{~M~0=v_~M~0_6, ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_2|} AuxVars[] AssignedVars[~M~0] {3726#true} is VALID [2022-02-20 20:55:18,726 INFO L290 TraceCheckUtils]: 18: Hoare triple {3726#true} [187] L67-->L68: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] {3726#true} is VALID [2022-02-20 20:55:18,726 INFO L290 TraceCheckUtils]: 17: Hoare triple {3726#true} [168] L65-2-->L67: Formula: (= |v_ULTIMATE.start_main_#t~nondet3#1_2| v_~C~0_4) InVars {ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|, ~C~0=v_~C~0_4} AuxVars[] AssignedVars[~C~0] {3726#true} is VALID [2022-02-20 20:55:18,726 INFO L290 TraceCheckUtils]: 16: Hoare triple {3726#true} [189] 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] {3726#true} is VALID [2022-02-20 20:55:18,727 INFO L290 TraceCheckUtils]: 15: Hoare triple {3726#true} [204] 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] {3726#true} is VALID [2022-02-20 20:55:18,727 INFO L290 TraceCheckUtils]: 14: Hoare triple {3726#true} [175] L-1-6-->L65: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_1|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_1|, ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#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_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_#t~nondet8#1=|v_ULTIMATE.start_main_#t~nondet8#1_1|, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_1|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_1|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1, ULTIMATE.start_main_#t~nondet4#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_#t~nondet8#1, ULTIMATE.start_main_#t~nondet6#1, ULTIMATE.start_main_#t~mem9#1, ULTIMATE.start_main_#t~pre7#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] {3726#true} is VALID [2022-02-20 20:55:18,727 INFO L290 TraceCheckUtils]: 13: Hoare triple {3726#true} [143] 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] {3726#true} is VALID [2022-02-20 20:55:18,727 INFO L290 TraceCheckUtils]: 12: Hoare triple {3726#true} [178] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3726#true} is VALID [2022-02-20 20:55:18,727 INFO L290 TraceCheckUtils]: 11: Hoare triple {3726#true} [197] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3726#true} is VALID [2022-02-20 20:55:18,727 INFO L290 TraceCheckUtils]: 10: Hoare triple {3726#true} [151] L38-1-->L-1-3: Formula: (= v_~C~0_3 0) InVars {} OutVars{~C~0=v_~C~0_3} AuxVars[] AssignedVars[~C~0] {3726#true} is VALID [2022-02-20 20:55:18,727 INFO L290 TraceCheckUtils]: 9: Hoare triple {3726#true} [202] L38-->L38-1: Formula: (= v_~counter~0_7 0) InVars {} OutVars{~counter~0=v_~counter~0_7} AuxVars[] AssignedVars[~counter~0] {3726#true} is VALID [2022-02-20 20:55:18,727 INFO L290 TraceCheckUtils]: 8: Hoare triple {3726#true} [201] L21-4-->L38: Formula: (= v_~M~0_5 0) InVars {} OutVars{~M~0=v_~M~0_5} AuxVars[] AssignedVars[~M~0] {3726#true} is VALID [2022-02-20 20:55:18,728 INFO L290 TraceCheckUtils]: 7: Hoare triple {3726#true} [148] L21-3-->L21-4: Formula: (and (= 43 (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[] {3726#true} is VALID [2022-02-20 20:55:18,728 INFO L290 TraceCheckUtils]: 6: Hoare triple {3726#true} [181] 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[] {3726#true} is VALID [2022-02-20 20:55:18,728 INFO L290 TraceCheckUtils]: 5: Hoare triple {3726#true} [184] 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[] {3726#true} is VALID [2022-02-20 20:55:18,728 INFO L290 TraceCheckUtils]: 4: Hoare triple {3726#true} [160] 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[] {3726#true} is VALID [2022-02-20 20:55:18,728 INFO L290 TraceCheckUtils]: 3: Hoare triple {3726#true} [193] L-1-2-->L21: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {3726#true} is VALID [2022-02-20 20:55:18,728 INFO L290 TraceCheckUtils]: 2: Hoare triple {3726#true} [192] 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[] {3726#true} is VALID [2022-02-20 20:55:18,728 INFO L290 TraceCheckUtils]: 1: Hoare triple {3726#true} [169] 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] {3726#true} is VALID [2022-02-20 20:55:18,728 INFO L290 TraceCheckUtils]: 0: Hoare triple {3726#true} [188] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3726#true} is VALID [2022-02-20 20:55:18,729 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 7 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 20:55:18,729 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1809205894] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 20:55:18,729 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 20:55:18,729 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9, 8] total 16 [2022-02-20 20:55:18,729 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [57638923] [2022-02-20 20:55:18,730 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 20:55:18,730 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 5.875) internal successors, (94), 16 states have internal predecessors, (94), 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 72 [2022-02-20 20:55:18,730 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 20:55:18,730 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 16 states, 16 states have (on average 5.875) internal successors, (94), 16 states have internal predecessors, (94), 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:55:18,784 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 20:55:18,784 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-02-20 20:55:18,784 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 20:55:18,785 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-02-20 20:55:18,785 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=180, Unknown=0, NotChecked=0, Total=240 [2022-02-20 20:55:18,786 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 62 out of 84 [2022-02-20 20:55:18,787 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 94 places, 89 transitions, 326 flow. Second operand has 16 states, 16 states have (on average 64.3125) internal successors, (1029), 16 states have internal predecessors, (1029), 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:55:18,787 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 20:55:18,787 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 62 of 84 [2022-02-20 20:55:18,787 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 20:55:41,661 INFO L129 PetriNetUnfolder]: 319/819 cut-off events. [2022-02-20 20:55:41,662 INFO L130 PetriNetUnfolder]: For 1335/1340 co-relation queries the response was YES. [2022-02-20 20:55:41,665 INFO L84 FinitePrefix]: Finished finitePrefix Result has 2560 conditions, 819 events. 319/819 cut-off events. For 1335/1340 co-relation queries the response was YES. Maximal size of possible extension queue 54. Compared 4450 event pairs, 9 based on Foata normal form. 20/838 useless extension candidates. Maximal degree in co-relation 2537. Up to 172 conditions per place. [2022-02-20 20:55:41,673 INFO L132 encePairwiseOnDemand]: 72/84 looper letters, 73 selfloop transitions, 104 changer transitions 10/244 dead transitions. [2022-02-20 20:55:41,673 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 123 places, 244 transitions, 1593 flow [2022-02-20 20:55:41,673 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 32 states. [2022-02-20 20:55:41,673 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 32 states. [2022-02-20 20:55:41,693 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 2124 transitions. [2022-02-20 20:55:41,695 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.7901785714285714 [2022-02-20 20:55:41,695 INFO L72 ComplementDD]: Start complementDD. Operand 32 states and 2124 transitions. [2022-02-20 20:55:41,695 INFO L73 IsDeterministic]: Start isDeterministic. Operand 32 states and 2124 transitions. [2022-02-20 20:55:41,697 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 20:55:41,697 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 32 states and 2124 transitions. [2022-02-20 20:55:41,704 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 33 states, 32 states have (on average 66.375) internal successors, (2124), 32 states have internal predecessors, (2124), 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:55:41,707 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 33 states, 33 states have (on average 84.0) internal successors, (2772), 33 states have internal predecessors, (2772), 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:55:41,708 INFO L81 ComplementDD]: Finished complementDD. Result has 33 states, 33 states have (on average 84.0) internal successors, (2772), 33 states have internal predecessors, (2772), 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:55:41,708 INFO L186 Difference]: Start difference. First operand has 94 places, 89 transitions, 326 flow. Second operand 32 states and 2124 transitions. [2022-02-20 20:55:41,709 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 123 places, 244 transitions, 1593 flow