./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/weaver/popl20-nonblocking-cntr-alt.wvr.c --full-output -ea --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 03d7b7b3 Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -ea -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/weaver/popl20-nonblocking-cntr-alt.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 dfec19cb420bdcc992ee0af7789c6701a360457d4b79eebd70c54f4e314fbf3f --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 20:56:01,789 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 20:56:01,792 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 20:56:01,828 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 20:56:01,828 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 20:56:01,831 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 20:56:01,831 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 20:56:01,834 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 20:56:01,835 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 20:56:01,838 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 20:56:01,839 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 20:56:01,840 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 20:56:01,840 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 20:56:01,842 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 20:56:01,843 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 20:56:01,845 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 20:56:01,846 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 20:56:01,847 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 20:56:01,848 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 20:56:01,852 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 20:56:01,853 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 20:56:01,854 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 20:56:01,855 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 20:56:01,856 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 20:56:01,861 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 20:56:01,861 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 20:56:01,861 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 20:56:01,862 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 20:56:01,863 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 20:56:01,863 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 20:56:01,863 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 20:56:01,864 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 20:56:01,865 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 20:56:01,866 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 20:56:01,867 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 20:56:01,867 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 20:56:01,867 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 20:56:01,867 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 20:56:01,867 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 20:56:01,869 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 20:56:01,869 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 20:56:01,870 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2022-02-20 20:56:01,895 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 20:56:01,895 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 20:56:01,895 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 20:56:01,896 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 20:56:01,896 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 20:56:01,896 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 20:56:01,897 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 20:56:01,897 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 20:56:01,897 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 20:56:01,897 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 20:56:01,898 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 20:56:01,898 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 20:56:01,898 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 20:56:01,898 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 20:56:01,898 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 20:56:01,898 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 20:56:01,899 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 20:56:01,899 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 20:56:01,899 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 20:56:01,899 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 20:56:01,899 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 20:56:01,899 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 20:56:01,899 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 20:56:01,900 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 20:56:01,900 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 20:56:01,900 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 20:56:01,900 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 20:56:01,901 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 20:56:01,901 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 20:56:01,901 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 20:56:01,901 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 20:56:01,901 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 20:56:01,902 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 20:56:01,902 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 -> dfec19cb420bdcc992ee0af7789c6701a360457d4b79eebd70c54f4e314fbf3f [2022-02-20 20:56:02,088 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 20:56:02,106 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 20:56:02,107 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 20:56:02,108 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 20:56:02,108 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 20:56:02,109 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/weaver/popl20-nonblocking-cntr-alt.wvr.c [2022-02-20 20:56:02,155 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f10d57746/e4aee5ab8e6f440e9c7e43c8226dbc9b/FLAGa9601720f [2022-02-20 20:56:02,453 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 20:56:02,453 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/weaver/popl20-nonblocking-cntr-alt.wvr.c [2022-02-20 20:56:02,461 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f10d57746/e4aee5ab8e6f440e9c7e43c8226dbc9b/FLAGa9601720f [2022-02-20 20:56:02,913 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f10d57746/e4aee5ab8e6f440e9c7e43c8226dbc9b [2022-02-20 20:56:02,915 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 20:56:02,916 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 20:56:02,919 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 20:56:02,919 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 20:56:02,921 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 20:56:02,922 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 08:56:02" (1/1) ... [2022-02-20 20:56:02,923 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@5a2ba3be and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:56:02, skipping insertion in model container [2022-02-20 20:56:02,923 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 08:56:02" (1/1) ... [2022-02-20 20:56:02,928 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 20:56:02,941 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 20:56:03,089 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/weaver/popl20-nonblocking-cntr-alt.wvr.c[2098,2111] [2022-02-20 20:56:03,091 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 20:56:03,098 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 20:56:03,111 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/weaver/popl20-nonblocking-cntr-alt.wvr.c[2098,2111] [2022-02-20 20:56:03,111 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 20:56:03,120 INFO L208 MainTranslator]: Completed translation [2022-02-20 20:56:03,121 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:56:03 WrapperNode [2022-02-20 20:56:03,121 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 20:56:03,122 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 20:56:03,122 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 20:56:03,122 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 20:56:03,126 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:56:03" (1/1) ... [2022-02-20 20:56:03,131 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:56:03" (1/1) ... [2022-02-20 20:56:03,145 INFO L137 Inliner]: procedures = 21, calls = 24, calls flagged for inlining = 4, calls inlined = 4, statements flattened = 57 [2022-02-20 20:56:03,146 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 20:56:03,147 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 20:56:03,147 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 20:56:03,147 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 20:56:03,153 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:56:03" (1/1) ... [2022-02-20 20:56:03,153 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:56:03" (1/1) ... [2022-02-20 20:56:03,161 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:56:03" (1/1) ... [2022-02-20 20:56:03,162 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:56:03" (1/1) ... [2022-02-20 20:56:03,167 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:56:03" (1/1) ... [2022-02-20 20:56:03,174 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:56:03" (1/1) ... [2022-02-20 20:56:03,188 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:56:03" (1/1) ... [2022-02-20 20:56:03,196 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 20:56:03,197 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 20:56:03,197 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 20:56:03,197 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 20:56:03,207 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:56:03" (1/1) ... [2022-02-20 20:56:03,212 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 20:56:03,231 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 20:56:03,242 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-02-20 20:56:03,245 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-02-20 20:56:03,268 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 20:56:03,268 INFO L130 BoogieDeclarations]: Found specification of procedure thread1 [2022-02-20 20:56:03,268 INFO L138 BoogieDeclarations]: Found implementation of procedure thread1 [2022-02-20 20:56:03,268 INFO L130 BoogieDeclarations]: Found specification of procedure thread2 [2022-02-20 20:56:03,268 INFO L138 BoogieDeclarations]: Found implementation of procedure thread2 [2022-02-20 20:56:03,268 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 20:56:03,269 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-02-20 20:56:03,269 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-02-20 20:56:03,269 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2022-02-20 20:56:03,269 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2022-02-20 20:56:03,269 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 20:56:03,269 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 20:56:03,269 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-02-20 20:56:03,269 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 20:56:03,270 WARN L208 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to SingleStatement [2022-02-20 20:56:03,322 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 20:56:03,323 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 20:56:03,468 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 20:56:03,548 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 20:56:03,548 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-02-20 20:56:03,550 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 08:56:03 BoogieIcfgContainer [2022-02-20 20:56:03,550 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 20:56:03,551 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 20:56:03,551 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 20:56:03,557 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 20:56:03,558 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 08:56:02" (1/3) ... [2022-02-20 20:56:03,560 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@69f96434 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 08:56:03, skipping insertion in model container [2022-02-20 20:56:03,560 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:56:03" (2/3) ... [2022-02-20 20:56:03,560 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@69f96434 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 08:56:03, skipping insertion in model container [2022-02-20 20:56:03,560 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 08:56:03" (3/3) ... [2022-02-20 20:56:03,561 INFO L111 eAbstractionObserver]: Analyzing ICFG popl20-nonblocking-cntr-alt.wvr.c [2022-02-20 20:56:03,565 WARN L150 ceAbstractionStarter]: Switching off computation of Hoare annotation because input is a concurrent program [2022-02-20 20:56:03,565 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 20:56:03,565 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 20:56:03,565 INFO L534 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2022-02-20 20:56:03,616 WARN L322 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork0_~i~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:03,616 WARN L322 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork0_~i~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:03,617 WARN L322 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork0_~i~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:03,623 WARN L322 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork0_~i~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:03,624 WARN L322 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork0_~i~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:03,625 WARN L322 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork0_~i~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:03,626 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:03,626 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:03,627 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:03,627 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:03,627 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#t~post2| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:03,627 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#t~post2| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:03,628 WARN L322 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork0_~i~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:03,628 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#t~post1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:03,628 WARN L322 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork0_~i~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:03,628 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#t~post1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:03,628 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#t~post1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:03,629 WARN L322 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork0_~i~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:03,629 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#t~post1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:03,629 WARN L322 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork0_~i~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:03,629 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#t~post1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:03,630 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#t~post1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:03,630 WARN L322 ript$VariableManager]: TermVariabe thread2Thread1of1ForFork1_~i~1 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:03,630 WARN L322 ript$VariableManager]: TermVariabe thread2Thread1of1ForFork1_~i~1 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:03,630 WARN L322 ript$VariableManager]: TermVariabe thread2Thread1of1ForFork1_~i~1 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:03,632 WARN L322 ript$VariableManager]: TermVariabe thread2Thread1of1ForFork1_~i~1 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:03,633 WARN L322 ript$VariableManager]: TermVariabe thread2Thread1of1ForFork1_~i~1 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:03,634 WARN L322 ript$VariableManager]: TermVariabe thread2Thread1of1ForFork1_~i~1 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:03,635 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:03,635 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:03,635 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:03,635 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:03,635 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#t~post3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:03,636 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#t~post4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:03,636 WARN L322 ript$VariableManager]: TermVariabe thread2Thread1of1ForFork1_~i~1 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:03,636 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#t~post3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:03,636 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#t~post4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:03,636 WARN L322 ript$VariableManager]: TermVariabe thread2Thread1of1ForFork1_~i~1 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:03,637 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#t~post3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:03,637 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#t~post4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:03,637 WARN L322 ript$VariableManager]: TermVariabe thread2Thread1of1ForFork1_~i~1 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:03,637 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#t~post3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:03,637 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#t~post4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:03,638 WARN L322 ript$VariableManager]: TermVariabe thread2Thread1of1ForFork1_~i~1 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:03,641 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:03,641 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#t~post1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:03,641 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#t~post2| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:03,641 WARN L322 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork0_~i~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:03,642 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:03,643 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:03,643 WARN L322 ript$VariableManager]: TermVariabe thread2Thread1of1ForFork1_~i~1 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:03,643 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#t~post4| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:03,643 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#t~post3| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:03,643 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:56:03,664 INFO L148 ThreadInstanceAdder]: Constructed 2 joinOtherThreadTransitions. [2022-02-20 20:56:03,696 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 20:56:03,701 INFO L339 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopsAndPotentialCycles, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mLoopAccelerationTechnique=FAST_UPR [2022-02-20 20:56:03,702 INFO L340 AbstractCegarLoop]: Starting to check reachability of 3 error locations. [2022-02-20 20:56:03,710 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 87 places, 86 transitions, 188 flow [2022-02-20 20:56:03,743 INFO L129 PetriNetUnfolder]: 6/84 cut-off events. [2022-02-20 20:56:03,745 INFO L130 PetriNetUnfolder]: For 2/2 co-relation queries the response was YES. [2022-02-20 20:56:03,748 INFO L84 FinitePrefix]: Finished finitePrefix Result has 93 conditions, 84 events. 6/84 cut-off events. For 2/2 co-relation queries the response was YES. Maximal size of possible extension queue 3. Compared 43 event pairs, 0 based on Foata normal form. 0/77 useless extension candidates. Maximal degree in co-relation 52. Up to 2 conditions per place. [2022-02-20 20:56:03,748 INFO L82 GeneralOperation]: Start removeDead. Operand has 87 places, 86 transitions, 188 flow [2022-02-20 20:56:03,753 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 76 places, 75 transitions, 162 flow [2022-02-20 20:56:03,778 INFO L129 PetriNetUnfolder]: 6/74 cut-off events. [2022-02-20 20:56:03,778 INFO L130 PetriNetUnfolder]: For 2/2 co-relation queries the response was YES. [2022-02-20 20:56:03,778 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:56:03,779 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:56:03,783 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION] === [2022-02-20 20:56:03,786 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:56:03,787 INFO L85 PathProgramCache]: Analyzing trace with hash -1565492451, now seen corresponding path program 1 times [2022-02-20 20:56:03,793 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:56:03,793 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1901626216] [2022-02-20 20:56:03,793 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:56:03,794 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:56:03,928 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:56:03,996 INFO L290 TraceCheckUtils]: 0: Hoare triple {90#true} [200] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {90#true} is VALID [2022-02-20 20:56:03,997 INFO L290 TraceCheckUtils]: 1: Hoare triple {90#true} [181] L-1-->L-1-1: Formula: (and (= |v_#NULL.base_1| 0) (= |v_#NULL.offset_1| 0)) InVars {} OutVars{#NULL.offset=|v_#NULL.offset_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {90#true} is VALID [2022-02-20 20:56:03,997 INFO L290 TraceCheckUtils]: 2: Hoare triple {90#true} [204] L-1-1-->L-1-2: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] {90#true} is VALID [2022-02-20 20:56:03,997 INFO L290 TraceCheckUtils]: 3: Hoare triple {90#true} [205] L-1-2-->L21: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {90#true} is VALID [2022-02-20 20:56:03,998 INFO L290 TraceCheckUtils]: 4: Hoare triple {90#true} [172] 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[] {90#true} is VALID [2022-02-20 20:56:03,999 INFO L290 TraceCheckUtils]: 5: Hoare triple {90#true} [196] 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[] {90#true} is VALID [2022-02-20 20:56:04,001 INFO L290 TraceCheckUtils]: 6: Hoare triple {90#true} [193] 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[] {90#true} is VALID [2022-02-20 20:56:04,002 INFO L290 TraceCheckUtils]: 7: Hoare triple {90#true} [159] L21-3-->L21-4: Formula: (and (= 34 (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[] {90#true} is VALID [2022-02-20 20:56:04,002 INFO L290 TraceCheckUtils]: 8: Hoare triple {90#true} [213] L21-4-->L38: Formula: (= 0 v_~M1~0_3) InVars {} OutVars{~M1~0=v_~M1~0_3} AuxVars[] AssignedVars[~M1~0] {90#true} is VALID [2022-02-20 20:56:04,002 INFO L290 TraceCheckUtils]: 9: Hoare triple {90#true} [214] L38-->L38-1: Formula: (= 0 v_~M2~0_3) InVars {} OutVars{~M2~0=v_~M2~0_3} AuxVars[] AssignedVars[~M2~0] {90#true} is VALID [2022-02-20 20:56:04,002 INFO L290 TraceCheckUtils]: 10: Hoare triple {90#true} [162] L38-1-->L-1-3: Formula: (= v_~counter~0_7 0) InVars {} OutVars{~counter~0=v_~counter~0_7} AuxVars[] AssignedVars[~counter~0] {90#true} is VALID [2022-02-20 20:56:04,003 INFO L290 TraceCheckUtils]: 11: Hoare triple {90#true} [209] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {90#true} is VALID [2022-02-20 20:56:04,003 INFO L290 TraceCheckUtils]: 12: Hoare triple {90#true} [190] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {90#true} is VALID [2022-02-20 20:56:04,004 INFO L290 TraceCheckUtils]: 13: Hoare triple {90#true} [154] 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] {90#true} is VALID [2022-02-20 20:56:04,005 INFO L290 TraceCheckUtils]: 14: Hoare triple {90#true} [187] L-1-6-->L65: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_1|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#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_#t~mem12#1=|v_ULTIMATE.start_main_#t~mem12#1_1|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_1|, ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_1|, ULTIMATE.start_main_#t~nondet8#1=|v_ULTIMATE.start_main_#t~nondet8#1_1|, ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#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~nondet10#1, ULTIMATE.start_main_#t~pre9#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_#t~nondet5#1, ULTIMATE.start_main_#t~nondet8#1, ULTIMATE.start_main_#t~nondet6#1, ULTIMATE.start_main_#t~mem11#1, ULTIMATE.start_main_#t~pre7#1, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_#t~mem12#1, ULTIMATE.start_main_~#t1~0#1.offset, ULTIMATE.start_main_~#t2~0#1.base] {90#true} is VALID [2022-02-20 20:56:04,009 INFO L290 TraceCheckUtils]: 15: Hoare triple {90#true} [216] 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] {90#true} is VALID [2022-02-20 20:56:04,010 INFO L290 TraceCheckUtils]: 16: Hoare triple {90#true} [201] 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] {90#true} is VALID [2022-02-20 20:56:04,010 INFO L290 TraceCheckUtils]: 17: Hoare triple {90#true} [180] L65-2-->L67: Formula: (and (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet5#1_2| 2147483648)) (<= |v_ULTIMATE.start_main_#t~nondet5#1_2| 2147483647)) InVars {ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_2|} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_2|} AuxVars[] AssignedVars[] {90#true} is VALID [2022-02-20 20:56:04,010 INFO L290 TraceCheckUtils]: 18: Hoare triple {90#true} [199] L67-->L67-1: Formula: (= |v_ULTIMATE.start_main_#t~nondet5#1_3| v_~M1~0_4) InVars {ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_3|} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_3|, ~M1~0=v_~M1~0_4} AuxVars[] AssignedVars[~M1~0] {90#true} is VALID [2022-02-20 20:56:04,010 INFO L290 TraceCheckUtils]: 19: Hoare triple {90#true} [168] L67-1-->L68: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet5#1] {90#true} is VALID [2022-02-20 20:56:04,010 INFO L290 TraceCheckUtils]: 20: Hoare triple {90#true} [203] L68-->L68-1: Formula: (and (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet6#1_2| 2147483648)) (<= |v_ULTIMATE.start_main_#t~nondet6#1_2| 2147483647)) InVars {ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_2|} OutVars{ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_2|} AuxVars[] AssignedVars[] {90#true} is VALID [2022-02-20 20:56:04,011 INFO L290 TraceCheckUtils]: 21: Hoare triple {90#true} [166] L68-1-->L68-2: Formula: (= |v_ULTIMATE.start_main_#t~nondet6#1_3| v_~M2~0_4) InVars {ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_3|} OutVars{~M2~0=v_~M2~0_4, ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_3|} AuxVars[] AssignedVars[~M2~0] {90#true} is VALID [2022-02-20 20:56:04,011 INFO L290 TraceCheckUtils]: 22: Hoare triple {90#true} [146] L68-2-->L69: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet6#1] {90#true} is VALID [2022-02-20 20:56:04,011 INFO L290 TraceCheckUtils]: 23: Hoare triple {90#true} [153] L69-->L69-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {90#true} is VALID [2022-02-20 20:56:04,012 INFO L290 TraceCheckUtils]: 24: Hoare triple {90#true} [206] L69-1-->L69-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1| (ite (and (< 0 v_~M2~0_5) (< 0 v_~M1~0_5)) 1 0)) InVars {~M2~0=v_~M2~0_5, ~M1~0=v_~M1~0_5} OutVars{~M1~0=v_~M1~0_5, ~M2~0=v_~M2~0_5, 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#true} is VALID [2022-02-20 20:56:04,012 INFO L290 TraceCheckUtils]: 25: Hoare triple {90#true} [178] 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#true} is VALID [2022-02-20 20:56:04,012 INFO L290 TraceCheckUtils]: 26: Hoare triple {90#true} [170] 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] {90#true} is VALID [2022-02-20 20:56:04,013 INFO L290 TraceCheckUtils]: 27: Hoare triple {90#true} [198] 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[] {90#true} is VALID [2022-02-20 20:56:04,013 INFO L290 TraceCheckUtils]: 28: Hoare triple {90#true} [191] L34-1-->L72: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {90#true} is VALID [2022-02-20 20:56:04,013 INFO L290 TraceCheckUtils]: 29: Hoare triple {90#true} [215] L72-->L72-1: Formula: (= |v_ULTIMATE.start_main_#t~pre7#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre7#1] {90#true} is VALID [2022-02-20 20:56:04,013 INFO L290 TraceCheckUtils]: 30: Hoare triple {90#true} [134] 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] {90#true} is VALID [2022-02-20 20:56:04,014 INFO L290 TraceCheckUtils]: 31: Hoare triple {90#true} [142] 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~pre7#1_3|)) |v_#memory_int_3|) InVars {#memory_int=|v_#memory_int_4|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} OutVars{#memory_int=|v_#memory_int_3|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} AuxVars[] AssignedVars[#memory_int] {90#true} is VALID [2022-02-20 20:56:04,014 INFO L290 TraceCheckUtils]: 32: Hoare triple {90#true} [236] L72-3-->thread1ENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre7#1_6| v_thread1Thread1of1ForFork0_thidvar0_2) (= v_thread1Thread1of1ForFork0_thidvar1_2 0)) InVars {ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_6|} OutVars{thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_4|, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_8|, thread1Thread1of1ForFork0_#t~post2=|v_thread1Thread1of1ForFork0_#t~post2_4|, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_12, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_2, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_4|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_2, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_6|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#t~post1, thread1Thread1of1ForFork0_#t~post2, thread1Thread1of1ForFork0_~i~0, thread1Thread1of1ForFork0_thidvar0, thread1Thread1of1ForFork0_#res.offset, thread1Thread1of1ForFork0_thidvar1] {90#true} is VALID [2022-02-20 20:56:04,014 INFO L290 TraceCheckUtils]: 33: Hoare triple {90#true} [207] L72-4-->L72-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] {90#true} is VALID [2022-02-20 20:56:04,015 INFO L290 TraceCheckUtils]: 34: Hoare triple {90#true} [137] L72-5-->L73: 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] {90#true} is VALID [2022-02-20 20:56:04,015 INFO L290 TraceCheckUtils]: 35: Hoare triple {90#true} [174] L73-->L73-1: Formula: (= |v_ULTIMATE.start_main_#t~pre9#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre9#1] {90#true} is VALID [2022-02-20 20:56:04,015 INFO L290 TraceCheckUtils]: 36: Hoare triple {90#true} [189] 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] {90#true} is VALID [2022-02-20 20:56:04,016 INFO L290 TraceCheckUtils]: 37: Hoare triple {90#true} [175] 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~pre9#1_3|)) |v_#memory_int_5|) InVars {#memory_int=|v_#memory_int_6|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#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~pre9#1=|v_ULTIMATE.start_main_#t~pre9#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] {90#true} is VALID [2022-02-20 20:56:04,016 INFO L290 TraceCheckUtils]: 38: Hoare triple {90#true} [238] L73-3-->thread2ENTRY: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar1_2) (= |v_ULTIMATE.start_main_#t~pre9#1_6| v_thread2Thread1of1ForFork1_thidvar0_2) (= 0 v_thread2Thread1of1ForFork1_thidvar2_2)) InVars {ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_6|} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_4|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_12, thread2Thread1of1ForFork1_#t~post4=|v_thread2Thread1of1ForFork1_#t~post4_6|, thread2Thread1of1ForFork1_#t~post3=|v_thread2Thread1of1ForFork1_#t~post3_6|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_6|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_4|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_2, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_2, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_2} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_~i~1, thread2Thread1of1ForFork1_#t~post4, thread2Thread1of1ForFork1_#t~post3, thread2Thread1of1ForFork1_#res.base, thread2Thread1of1ForFork1_thidvar2, thread2Thread1of1ForFork1_thidvar0, thread2Thread1of1ForFork1_thidvar1] {90#true} is VALID [2022-02-20 20:56:04,016 INFO L290 TraceCheckUtils]: 39: Hoare triple {90#true} [228] 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] {90#true} is VALID [2022-02-20 20:56:04,017 INFO L290 TraceCheckUtils]: 40: Hoare triple {90#true} [229] L54-1-->L52-2: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {91#false} is VALID [2022-02-20 20:56:04,017 INFO L290 TraceCheckUtils]: 41: Hoare triple {91#false} [232] 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] {91#false} is VALID [2022-02-20 20:56:04,017 INFO L290 TraceCheckUtils]: 42: Hoare triple {91#false} [234] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {91#false} is VALID [2022-02-20 20:56:04,017 INFO L290 TraceCheckUtils]: 43: Hoare triple {91#false} [218] 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] {91#false} is VALID [2022-02-20 20:56:04,018 INFO L290 TraceCheckUtils]: 44: Hoare triple {91#false} [219] L41-4-->L41-5: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {91#false} is VALID [2022-02-20 20:56:04,018 INFO L290 TraceCheckUtils]: 45: Hoare triple {91#false} [222] 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] {91#false} is VALID [2022-02-20 20:56:04,018 INFO L290 TraceCheckUtils]: 46: Hoare triple {91#false} [224] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {91#false} is VALID [2022-02-20 20:56:04,018 INFO L290 TraceCheckUtils]: 47: Hoare triple {91#false} [177] L73-4-->L73-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre9#1] {91#false} is VALID [2022-02-20 20:56:04,018 INFO L290 TraceCheckUtils]: 48: Hoare triple {91#false} [176] L73-5-->L74: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet10#1] {91#false} is VALID [2022-02-20 20:56:04,021 INFO L290 TraceCheckUtils]: 49: Hoare triple {91#false} [135] L74-->L74-1: Formula: (= |v_ULTIMATE.start_main_#t~mem11#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{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_2|, #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|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem11#1] {91#false} is VALID [2022-02-20 20:56:04,021 INFO L290 TraceCheckUtils]: 50: Hoare triple {91#false} [239] thread1EXIT-->L74-2: Formula: (and (= v_thread1Thread1of1ForFork0_thidvar1_4 0) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem11#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ (- 4294967296) .cse0))) v_thread1Thread1of1ForFork0_thidvar0_4)) InVars {ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_5|, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_5|, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4} AuxVars[] AssignedVars[] {91#false} is VALID [2022-02-20 20:56:04,021 INFO L290 TraceCheckUtils]: 51: Hoare triple {91#false} [182] L74-2-->L75: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem11#1] {91#false} is VALID [2022-02-20 20:56:04,021 INFO L290 TraceCheckUtils]: 52: Hoare triple {91#false} [208] 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~mem12#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~mem12#1=|v_ULTIMATE.start_main_#t~mem12#1_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem12#1] {91#false} is VALID [2022-02-20 20:56:04,022 INFO L290 TraceCheckUtils]: 53: Hoare triple {91#false} [240] thread2EXIT-->L75-2: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar2_4) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem12#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ .cse0 (- 4294967296)))) v_thread2Thread1of1ForFork1_thidvar0_4) (= 0 v_thread2Thread1of1ForFork1_thidvar1_4)) InVars {thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, ULTIMATE.start_main_#t~mem12#1=|v_ULTIMATE.start_main_#t~mem12#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~mem12#1=|v_ULTIMATE.start_main_#t~mem12#1_5|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} AuxVars[] AssignedVars[] {91#false} is VALID [2022-02-20 20:56:04,022 INFO L290 TraceCheckUtils]: 54: Hoare triple {91#false} [195] L75-2-->L77: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem12#1=|v_ULTIMATE.start_main_#t~mem12#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem12#1] {91#false} is VALID [2022-02-20 20:56:04,023 INFO L290 TraceCheckUtils]: 55: Hoare triple {91#false} [147] L77-->L77-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {91#false} is VALID [2022-02-20 20:56:04,024 INFO L290 TraceCheckUtils]: 56: Hoare triple {91#false} [163] L77-1-->L77-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3| (ite (not (= v_~counter~0_8 (+ (* (- 1) v_~M2~0_6) v_~M1~0_6))) 1 0)) InVars {~counter~0=v_~counter~0_8, ~M1~0=v_~M1~0_6, ~M2~0=v_~M2~0_6} OutVars{~counter~0=v_~counter~0_8, ~M1~0=v_~M1~0_6, ~M2~0=v_~M2~0_6, 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] {91#false} is VALID [2022-02-20 20:56:04,024 INFO L290 TraceCheckUtils]: 57: Hoare triple {91#false} [186] 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] {91#false} is VALID [2022-02-20 20:56:04,024 INFO L290 TraceCheckUtils]: 58: Hoare triple {91#false} [183] 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] {91#false} is VALID [2022-02-20 20:56:04,025 INFO L290 TraceCheckUtils]: 59: Hoare triple {91#false} [149] 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[] {91#false} is VALID [2022-02-20 20:56:04,025 INFO L290 TraceCheckUtils]: 60: Hoare triple {91#false} [157] L34-3-->L78: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {91#false} is VALID [2022-02-20 20:56:04,025 INFO L290 TraceCheckUtils]: 61: Hoare triple {91#false} [164] L78-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {91#false} is VALID [2022-02-20 20:56:04,026 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 20:56:04,027 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 20:56:04,027 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1901626216] [2022-02-20 20:56:04,027 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1901626216] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 20:56:04,027 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 20:56:04,028 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 20:56:04,029 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [672448241] [2022-02-20 20:56:04,029 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 20:56:04,039 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 31.0) internal successors, (62), 2 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:56:04,040 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 20:56:04,043 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 2 states, 2 states have (on average 31.0) internal successors, (62), 2 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:56:04,100 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:56:04,100 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-02-20 20:56:04,100 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 20:56:04,132 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-02-20 20:56:04,133 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 20:56:04,135 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 75 out of 86 [2022-02-20 20:56:04,139 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 76 places, 75 transitions, 162 flow. Second operand has 2 states, 2 states have (on average 78.0) internal successors, (156), 2 states have internal predecessors, (156), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:04,139 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 20:56:04,139 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 75 of 86 [2022-02-20 20:56:04,140 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 20:56:04,192 INFO L129 PetriNetUnfolder]: 10/97 cut-off events. [2022-02-20 20:56:04,192 INFO L130 PetriNetUnfolder]: For 18/19 co-relation queries the response was YES. [2022-02-20 20:56:04,193 INFO L84 FinitePrefix]: Finished finitePrefix Result has 129 conditions, 97 events. 10/97 cut-off events. For 18/19 co-relation queries the response was YES. Maximal size of possible extension queue 5. Compared 108 event pairs, 1 based on Foata normal form. 11/98 useless extension candidates. Maximal degree in co-relation 55. Up to 18 conditions per place. [2022-02-20 20:56:04,194 INFO L132 encePairwiseOnDemand]: 82/86 looper letters, 6 selfloop transitions, 0 changer transitions 2/71 dead transitions. [2022-02-20 20:56:04,194 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 77 places, 71 transitions, 166 flow [2022-02-20 20:56:04,194 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-02-20 20:56:04,196 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2022-02-20 20:56:04,209 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 160 transitions. [2022-02-20 20:56:04,211 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.9302325581395349 [2022-02-20 20:56:04,212 INFO L72 ComplementDD]: Start complementDD. Operand 2 states and 160 transitions. [2022-02-20 20:56:04,212 INFO L73 IsDeterministic]: Start isDeterministic. Operand 2 states and 160 transitions. [2022-02-20 20:56:04,212 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 20:56:04,214 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 2 states and 160 transitions. [2022-02-20 20:56:04,221 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 3 states, 2 states have (on average 80.0) internal successors, (160), 2 states have internal predecessors, (160), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:04,224 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 3 states, 3 states have (on average 86.0) internal successors, (258), 3 states have internal predecessors, (258), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:04,224 INFO L81 ComplementDD]: Finished complementDD. Result has 3 states, 3 states have (on average 86.0) internal successors, (258), 3 states have internal predecessors, (258), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:04,226 INFO L186 Difference]: Start difference. First operand has 76 places, 75 transitions, 162 flow. Second operand 2 states and 160 transitions. [2022-02-20 20:56:04,226 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 77 places, 71 transitions, 166 flow [2022-02-20 20:56:04,231 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 73 places, 71 transitions, 158 flow, removed 0 selfloop flow, removed 4 redundant places. [2022-02-20 20:56:04,237 INFO L242 Difference]: Finished difference. Result has 73 places, 69 transitions, 142 flow [2022-02-20 20:56:04,238 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=86, PETRI_DIFFERENCE_MINUEND_FLOW=146, PETRI_DIFFERENCE_MINUEND_PLACES=72, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=71, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=0, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=71, PETRI_DIFFERENCE_SUBTRAHEND_STATES=2, PETRI_FLOW=142, PETRI_PLACES=73, PETRI_TRANSITIONS=69} [2022-02-20 20:56:04,241 INFO L334 CegarLoopForPetriNet]: 76 programPoint places, -3 predicate places. [2022-02-20 20:56:04,242 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 73 places, 69 transitions, 142 flow [2022-02-20 20:56:04,272 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 330 states, 329 states have (on average 2.370820668693009) internal successors, (780), 329 states have internal predecessors, (780), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:04,273 INFO L78 Accepts]: Start accepts. Automaton has has 330 states, 329 states have (on average 2.370820668693009) internal successors, (780), 329 states have internal predecessors, (780), 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:56:04,274 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 20:56:04,274 INFO L470 AbstractCegarLoop]: Abstraction has has 73 places, 69 transitions, 142 flow [2022-02-20 20:56:04,274 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 78.0) internal successors, (156), 2 states have internal predecessors, (156), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:04,274 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:56:04,274 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:56:04,274 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 20:56:04,275 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION] === [2022-02-20 20:56:04,275 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:56:04,275 INFO L85 PathProgramCache]: Analyzing trace with hash -305653797, now seen corresponding path program 1 times [2022-02-20 20:56:04,275 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:56:04,275 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1638935253] [2022-02-20 20:56:04,275 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:56:04,276 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:56:04,347 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:56:04,530 INFO L290 TraceCheckUtils]: 0: Hoare triple {424#true} [200] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {424#true} is VALID [2022-02-20 20:56:04,530 INFO L290 TraceCheckUtils]: 1: Hoare triple {424#true} [181] L-1-->L-1-1: Formula: (and (= |v_#NULL.base_1| 0) (= |v_#NULL.offset_1| 0)) InVars {} OutVars{#NULL.offset=|v_#NULL.offset_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {424#true} is VALID [2022-02-20 20:56:04,530 INFO L290 TraceCheckUtils]: 2: Hoare triple {424#true} [204] 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[] {424#true} is VALID [2022-02-20 20:56:04,531 INFO L290 TraceCheckUtils]: 3: Hoare triple {424#true} [205] L-1-2-->L21: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {424#true} is VALID [2022-02-20 20:56:04,531 INFO L290 TraceCheckUtils]: 4: Hoare triple {424#true} [172] 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[] {424#true} is VALID [2022-02-20 20:56:04,531 INFO L290 TraceCheckUtils]: 5: Hoare triple {424#true} [196] 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[] {424#true} is VALID [2022-02-20 20:56:04,532 INFO L290 TraceCheckUtils]: 6: Hoare triple {424#true} [193] 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[] {424#true} is VALID [2022-02-20 20:56:04,532 INFO L290 TraceCheckUtils]: 7: Hoare triple {424#true} [159] L21-3-->L21-4: Formula: (and (= 34 (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[] {424#true} is VALID [2022-02-20 20:56:04,533 INFO L290 TraceCheckUtils]: 8: Hoare triple {424#true} [213] L21-4-->L38: Formula: (= 0 v_~M1~0_3) InVars {} OutVars{~M1~0=v_~M1~0_3} AuxVars[] AssignedVars[~M1~0] {424#true} is VALID [2022-02-20 20:56:04,533 INFO L290 TraceCheckUtils]: 9: Hoare triple {424#true} [214] L38-->L38-1: Formula: (= 0 v_~M2~0_3) InVars {} OutVars{~M2~0=v_~M2~0_3} AuxVars[] AssignedVars[~M2~0] {424#true} is VALID [2022-02-20 20:56:04,534 INFO L290 TraceCheckUtils]: 10: Hoare triple {424#true} [162] L38-1-->L-1-3: Formula: (= v_~counter~0_7 0) InVars {} OutVars{~counter~0=v_~counter~0_7} AuxVars[] AssignedVars[~counter~0] {424#true} is VALID [2022-02-20 20:56:04,536 INFO L290 TraceCheckUtils]: 11: Hoare triple {424#true} [209] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {424#true} is VALID [2022-02-20 20:56:04,536 INFO L290 TraceCheckUtils]: 12: Hoare triple {424#true} [190] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {424#true} is VALID [2022-02-20 20:56:04,536 INFO L290 TraceCheckUtils]: 13: Hoare triple {424#true} [154] 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] {424#true} is VALID [2022-02-20 20:56:04,537 INFO L290 TraceCheckUtils]: 14: Hoare triple {424#true} [187] L-1-6-->L65: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_1|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#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_#t~mem12#1=|v_ULTIMATE.start_main_#t~mem12#1_1|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_1|, ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_1|, ULTIMATE.start_main_#t~nondet8#1=|v_ULTIMATE.start_main_#t~nondet8#1_1|, ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#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~nondet10#1, ULTIMATE.start_main_#t~pre9#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_#t~nondet5#1, ULTIMATE.start_main_#t~nondet8#1, ULTIMATE.start_main_#t~nondet6#1, ULTIMATE.start_main_#t~mem11#1, ULTIMATE.start_main_#t~pre7#1, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_#t~mem12#1, ULTIMATE.start_main_~#t1~0#1.offset, ULTIMATE.start_main_~#t2~0#1.base] {424#true} is VALID [2022-02-20 20:56:04,537 INFO L290 TraceCheckUtils]: 15: Hoare triple {424#true} [216] 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] {424#true} is VALID [2022-02-20 20:56:04,537 INFO L290 TraceCheckUtils]: 16: Hoare triple {424#true} [201] 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] {424#true} is VALID [2022-02-20 20:56:04,537 INFO L290 TraceCheckUtils]: 17: Hoare triple {424#true} [180] L65-2-->L67: Formula: (and (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet5#1_2| 2147483648)) (<= |v_ULTIMATE.start_main_#t~nondet5#1_2| 2147483647)) InVars {ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_2|} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_2|} AuxVars[] AssignedVars[] {424#true} is VALID [2022-02-20 20:56:04,538 INFO L290 TraceCheckUtils]: 18: Hoare triple {424#true} [199] L67-->L67-1: Formula: (= |v_ULTIMATE.start_main_#t~nondet5#1_3| v_~M1~0_4) InVars {ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_3|} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_3|, ~M1~0=v_~M1~0_4} AuxVars[] AssignedVars[~M1~0] {424#true} is VALID [2022-02-20 20:56:04,538 INFO L290 TraceCheckUtils]: 19: Hoare triple {424#true} [168] L67-1-->L68: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet5#1] {424#true} is VALID [2022-02-20 20:56:04,539 INFO L290 TraceCheckUtils]: 20: Hoare triple {424#true} [203] L68-->L68-1: Formula: (and (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet6#1_2| 2147483648)) (<= |v_ULTIMATE.start_main_#t~nondet6#1_2| 2147483647)) InVars {ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_2|} OutVars{ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_2|} AuxVars[] AssignedVars[] {424#true} is VALID [2022-02-20 20:56:04,539 INFO L290 TraceCheckUtils]: 21: Hoare triple {424#true} [166] L68-1-->L68-2: Formula: (= |v_ULTIMATE.start_main_#t~nondet6#1_3| v_~M2~0_4) InVars {ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_3|} OutVars{~M2~0=v_~M2~0_4, ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_3|} AuxVars[] AssignedVars[~M2~0] {424#true} is VALID [2022-02-20 20:56:04,539 INFO L290 TraceCheckUtils]: 22: Hoare triple {424#true} [146] L68-2-->L69: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet6#1] {424#true} is VALID [2022-02-20 20:56:04,540 INFO L290 TraceCheckUtils]: 23: Hoare triple {424#true} [153] L69-->L69-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {424#true} is VALID [2022-02-20 20:56:04,541 INFO L290 TraceCheckUtils]: 24: Hoare triple {424#true} [206] L69-1-->L69-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1| (ite (and (< 0 v_~M2~0_5) (< 0 v_~M1~0_5)) 1 0)) InVars {~M2~0=v_~M2~0_5, ~M1~0=v_~M1~0_5} OutVars{~M1~0=v_~M1~0_5, ~M2~0=v_~M2~0_5, 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] {426#(or (and (not (<= ~M2~0 0)) (not (<= ~M1~0 0))) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0))} is VALID [2022-02-20 20:56:04,541 INFO L290 TraceCheckUtils]: 25: Hoare triple {426#(or (and (not (<= ~M2~0 0)) (not (<= ~M1~0 0))) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0))} [178] 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] {426#(or (and (not (<= ~M2~0 0)) (not (<= ~M1~0 0))) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0))} is VALID [2022-02-20 20:56:04,542 INFO L290 TraceCheckUtils]: 26: Hoare triple {426#(or (and (not (<= ~M2~0 0)) (not (<= ~M1~0 0))) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0))} [170] 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] {427#(or (and (not (<= ~M2~0 0)) (not (<= ~M1~0 0))) (= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0))} is VALID [2022-02-20 20:56:04,542 INFO L290 TraceCheckUtils]: 27: Hoare triple {427#(or (and (not (<= ~M2~0 0)) (not (<= ~M1~0 0))) (= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0))} [198] 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[] {428#(and (<= 1 ~M1~0) (< 0 ~M2~0))} is VALID [2022-02-20 20:56:04,543 INFO L290 TraceCheckUtils]: 28: Hoare triple {428#(and (<= 1 ~M1~0) (< 0 ~M2~0))} [191] L34-1-->L72: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {428#(and (<= 1 ~M1~0) (< 0 ~M2~0))} is VALID [2022-02-20 20:56:04,544 INFO L290 TraceCheckUtils]: 29: Hoare triple {428#(and (<= 1 ~M1~0) (< 0 ~M2~0))} [215] L72-->L72-1: Formula: (= |v_ULTIMATE.start_main_#t~pre7#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre7#1] {428#(and (<= 1 ~M1~0) (< 0 ~M2~0))} is VALID [2022-02-20 20:56:04,544 INFO L290 TraceCheckUtils]: 30: Hoare triple {428#(and (<= 1 ~M1~0) (< 0 ~M2~0))} [134] 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] {428#(and (<= 1 ~M1~0) (< 0 ~M2~0))} is VALID [2022-02-20 20:56:04,545 INFO L290 TraceCheckUtils]: 31: Hoare triple {428#(and (<= 1 ~M1~0) (< 0 ~M2~0))} [142] 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~pre7#1_3|)) |v_#memory_int_3|) InVars {#memory_int=|v_#memory_int_4|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} OutVars{#memory_int=|v_#memory_int_3|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} AuxVars[] AssignedVars[#memory_int] {428#(and (<= 1 ~M1~0) (< 0 ~M2~0))} is VALID [2022-02-20 20:56:04,546 INFO L290 TraceCheckUtils]: 32: Hoare triple {428#(and (<= 1 ~M1~0) (< 0 ~M2~0))} [236] L72-3-->thread1ENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre7#1_6| v_thread1Thread1of1ForFork0_thidvar0_2) (= v_thread1Thread1of1ForFork0_thidvar1_2 0)) InVars {ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_6|} OutVars{thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_4|, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_8|, thread1Thread1of1ForFork0_#t~post2=|v_thread1Thread1of1ForFork0_#t~post2_4|, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_12, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_2, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_4|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_2, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_6|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#t~post1, thread1Thread1of1ForFork0_#t~post2, thread1Thread1of1ForFork0_~i~0, thread1Thread1of1ForFork0_thidvar0, thread1Thread1of1ForFork0_#res.offset, thread1Thread1of1ForFork0_thidvar1] {428#(and (<= 1 ~M1~0) (< 0 ~M2~0))} is VALID [2022-02-20 20:56:04,546 INFO L290 TraceCheckUtils]: 33: Hoare triple {428#(and (<= 1 ~M1~0) (< 0 ~M2~0))} [207] L72-4-->L72-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] {428#(and (<= 1 ~M1~0) (< 0 ~M2~0))} is VALID [2022-02-20 20:56:04,547 INFO L290 TraceCheckUtils]: 34: Hoare triple {428#(and (<= 1 ~M1~0) (< 0 ~M2~0))} [137] L72-5-->L73: 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] {428#(and (<= 1 ~M1~0) (< 0 ~M2~0))} is VALID [2022-02-20 20:56:04,548 INFO L290 TraceCheckUtils]: 35: Hoare triple {428#(and (<= 1 ~M1~0) (< 0 ~M2~0))} [174] L73-->L73-1: Formula: (= |v_ULTIMATE.start_main_#t~pre9#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre9#1] {428#(and (<= 1 ~M1~0) (< 0 ~M2~0))} is VALID [2022-02-20 20:56:04,548 INFO L290 TraceCheckUtils]: 36: Hoare triple {428#(and (<= 1 ~M1~0) (< 0 ~M2~0))} [189] 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] {428#(and (<= 1 ~M1~0) (< 0 ~M2~0))} is VALID [2022-02-20 20:56:04,549 INFO L290 TraceCheckUtils]: 37: Hoare triple {428#(and (<= 1 ~M1~0) (< 0 ~M2~0))} [175] 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~pre9#1_3|)) |v_#memory_int_5|) InVars {#memory_int=|v_#memory_int_6|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#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~pre9#1=|v_ULTIMATE.start_main_#t~pre9#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] {428#(and (<= 1 ~M1~0) (< 0 ~M2~0))} is VALID [2022-02-20 20:56:04,549 INFO L290 TraceCheckUtils]: 38: Hoare triple {428#(and (<= 1 ~M1~0) (< 0 ~M2~0))} [238] L73-3-->thread2ENTRY: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar1_2) (= |v_ULTIMATE.start_main_#t~pre9#1_6| v_thread2Thread1of1ForFork1_thidvar0_2) (= 0 v_thread2Thread1of1ForFork1_thidvar2_2)) InVars {ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_6|} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_4|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_12, thread2Thread1of1ForFork1_#t~post4=|v_thread2Thread1of1ForFork1_#t~post4_6|, thread2Thread1of1ForFork1_#t~post3=|v_thread2Thread1of1ForFork1_#t~post3_6|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_6|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_4|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_2, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_2, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_2} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_~i~1, thread2Thread1of1ForFork1_#t~post4, thread2Thread1of1ForFork1_#t~post3, thread2Thread1of1ForFork1_#res.base, thread2Thread1of1ForFork1_thidvar2, thread2Thread1of1ForFork1_thidvar0, thread2Thread1of1ForFork1_thidvar1] {428#(and (<= 1 ~M1~0) (< 0 ~M2~0))} is VALID [2022-02-20 20:56:04,550 INFO L290 TraceCheckUtils]: 39: Hoare triple {428#(and (<= 1 ~M1~0) (< 0 ~M2~0))} [228] 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] {428#(and (<= 1 ~M1~0) (< 0 ~M2~0))} is VALID [2022-02-20 20:56:04,550 INFO L290 TraceCheckUtils]: 40: Hoare triple {428#(and (<= 1 ~M1~0) (< 0 ~M2~0))} [230] L54-1-->L52-2: Formula: (not (< v_thread2Thread1of1ForFork1_~i~1_3 v_~M2~0_1)) InVars {~M2~0=v_~M2~0_1, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_3} OutVars{~M2~0=v_~M2~0_1, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_3} AuxVars[] AssignedVars[] {428#(and (<= 1 ~M1~0) (< 0 ~M2~0))} is VALID [2022-02-20 20:56:04,551 INFO L290 TraceCheckUtils]: 41: Hoare triple {428#(and (<= 1 ~M1~0) (< 0 ~M2~0))} [232] 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] {428#(and (<= 1 ~M1~0) (< 0 ~M2~0))} is VALID [2022-02-20 20:56:04,551 INFO L290 TraceCheckUtils]: 42: Hoare triple {428#(and (<= 1 ~M1~0) (< 0 ~M2~0))} [234] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {428#(and (<= 1 ~M1~0) (< 0 ~M2~0))} is VALID [2022-02-20 20:56:04,554 INFO L290 TraceCheckUtils]: 43: Hoare triple {428#(and (<= 1 ~M1~0) (< 0 ~M2~0))} [218] 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] {429#(and (<= 1 ~M1~0) (= thread1Thread1of1ForFork0_~i~0 0) (< 0 ~M2~0))} is VALID [2022-02-20 20:56:04,554 INFO L290 TraceCheckUtils]: 44: Hoare triple {429#(and (<= 1 ~M1~0) (= thread1Thread1of1ForFork0_~i~0 0) (< 0 ~M2~0))} [220] L41-4-->L41-5: Formula: (not (< v_thread1Thread1of1ForFork0_~i~0_3 v_~M1~0_1)) InVars {thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_3, ~M1~0=v_~M1~0_1} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_3, ~M1~0=v_~M1~0_1} AuxVars[] AssignedVars[] {425#false} is VALID [2022-02-20 20:56:04,555 INFO L290 TraceCheckUtils]: 45: Hoare triple {425#false} [222] 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] {425#false} is VALID [2022-02-20 20:56:04,555 INFO L290 TraceCheckUtils]: 46: Hoare triple {425#false} [224] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {425#false} is VALID [2022-02-20 20:56:04,555 INFO L290 TraceCheckUtils]: 47: Hoare triple {425#false} [177] L73-4-->L73-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre9#1] {425#false} is VALID [2022-02-20 20:56:04,555 INFO L290 TraceCheckUtils]: 48: Hoare triple {425#false} [176] L73-5-->L74: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet10#1] {425#false} is VALID [2022-02-20 20:56:04,555 INFO L290 TraceCheckUtils]: 49: Hoare triple {425#false} [135] L74-->L74-1: Formula: (= |v_ULTIMATE.start_main_#t~mem11#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{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_2|, #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|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem11#1] {425#false} is VALID [2022-02-20 20:56:04,556 INFO L290 TraceCheckUtils]: 50: Hoare triple {425#false} [239] thread1EXIT-->L74-2: Formula: (and (= v_thread1Thread1of1ForFork0_thidvar1_4 0) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem11#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ (- 4294967296) .cse0))) v_thread1Thread1of1ForFork0_thidvar0_4)) InVars {ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_5|, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_5|, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4} AuxVars[] AssignedVars[] {425#false} is VALID [2022-02-20 20:56:04,556 INFO L290 TraceCheckUtils]: 51: Hoare triple {425#false} [182] L74-2-->L75: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem11#1] {425#false} is VALID [2022-02-20 20:56:04,557 INFO L290 TraceCheckUtils]: 52: Hoare triple {425#false} [208] 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~mem12#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~mem12#1=|v_ULTIMATE.start_main_#t~mem12#1_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem12#1] {425#false} is VALID [2022-02-20 20:56:04,557 INFO L290 TraceCheckUtils]: 53: Hoare triple {425#false} [240] thread2EXIT-->L75-2: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar2_4) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem12#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ .cse0 (- 4294967296)))) v_thread2Thread1of1ForFork1_thidvar0_4) (= 0 v_thread2Thread1of1ForFork1_thidvar1_4)) InVars {thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, ULTIMATE.start_main_#t~mem12#1=|v_ULTIMATE.start_main_#t~mem12#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~mem12#1=|v_ULTIMATE.start_main_#t~mem12#1_5|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} AuxVars[] AssignedVars[] {425#false} is VALID [2022-02-20 20:56:04,557 INFO L290 TraceCheckUtils]: 54: Hoare triple {425#false} [195] L75-2-->L77: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem12#1=|v_ULTIMATE.start_main_#t~mem12#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem12#1] {425#false} is VALID [2022-02-20 20:56:04,558 INFO L290 TraceCheckUtils]: 55: Hoare triple {425#false} [147] L77-->L77-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {425#false} is VALID [2022-02-20 20:56:04,559 INFO L290 TraceCheckUtils]: 56: Hoare triple {425#false} [163] L77-1-->L77-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3| (ite (not (= v_~counter~0_8 (+ (* (- 1) v_~M2~0_6) v_~M1~0_6))) 1 0)) InVars {~counter~0=v_~counter~0_8, ~M1~0=v_~M1~0_6, ~M2~0=v_~M2~0_6} OutVars{~counter~0=v_~counter~0_8, ~M1~0=v_~M1~0_6, ~M2~0=v_~M2~0_6, 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] {425#false} is VALID [2022-02-20 20:56:04,567 INFO L290 TraceCheckUtils]: 57: Hoare triple {425#false} [186] 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] {425#false} is VALID [2022-02-20 20:56:04,567 INFO L290 TraceCheckUtils]: 58: Hoare triple {425#false} [183] 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] {425#false} is VALID [2022-02-20 20:56:04,567 INFO L290 TraceCheckUtils]: 59: Hoare triple {425#false} [149] 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[] {425#false} is VALID [2022-02-20 20:56:04,568 INFO L290 TraceCheckUtils]: 60: Hoare triple {425#false} [157] L34-3-->L78: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {425#false} is VALID [2022-02-20 20:56:04,568 INFO L290 TraceCheckUtils]: 61: Hoare triple {425#false} [164] L78-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {425#false} is VALID [2022-02-20 20:56:04,568 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 20:56:04,568 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 20:56:04,569 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1638935253] [2022-02-20 20:56:04,569 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1638935253] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 20:56:04,569 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 20:56:04,569 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-02-20 20:56:04,569 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1141012306] [2022-02-20 20:56:04,569 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 20:56:04,575 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:56:04,576 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 20:56:04,576 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:56:04,622 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:56:04,623 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 20:56:04,623 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 20:56:04,625 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 20:56:04,625 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=16, Unknown=0, NotChecked=0, Total=30 [2022-02-20 20:56:04,627 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 54 out of 86 [2022-02-20 20:56:04,627 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 73 places, 69 transitions, 142 flow. Second operand has 6 states, 6 states have (on average 57.166666666666664) internal successors, (343), 6 states have internal predecessors, (343), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:04,627 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 20:56:04,627 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 54 of 86 [2022-02-20 20:56:04,628 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 20:56:04,761 INFO L129 PetriNetUnfolder]: 64/187 cut-off events. [2022-02-20 20:56:04,761 INFO L130 PetriNetUnfolder]: For 5/5 co-relation queries the response was YES. [2022-02-20 20:56:04,762 INFO L84 FinitePrefix]: Finished finitePrefix Result has 331 conditions, 187 events. 64/187 cut-off events. For 5/5 co-relation queries the response was YES. Maximal size of possible extension queue 15. Compared 532 event pairs, 25 based on Foata normal form. 0/157 useless extension candidates. Maximal degree in co-relation 328. Up to 80 conditions per place. [2022-02-20 20:56:04,763 INFO L132 encePairwiseOnDemand]: 80/86 looper letters, 28 selfloop transitions, 5 changer transitions 0/77 dead transitions. [2022-02-20 20:56:04,763 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 76 places, 77 transitions, 225 flow [2022-02-20 20:56:04,763 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 20:56:04,763 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2022-02-20 20:56:04,767 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 358 transitions. [2022-02-20 20:56:04,767 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.6937984496124031 [2022-02-20 20:56:04,767 INFO L72 ComplementDD]: Start complementDD. Operand 6 states and 358 transitions. [2022-02-20 20:56:04,767 INFO L73 IsDeterministic]: Start isDeterministic. Operand 6 states and 358 transitions. [2022-02-20 20:56:04,768 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 20:56:04,768 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 6 states and 358 transitions. [2022-02-20 20:56:04,769 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 7 states, 6 states have (on average 59.666666666666664) internal successors, (358), 6 states have internal predecessors, (358), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:04,770 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 7 states, 7 states have (on average 86.0) internal successors, (602), 7 states have internal predecessors, (602), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:04,770 INFO L81 ComplementDD]: Finished complementDD. Result has 7 states, 7 states have (on average 86.0) internal successors, (602), 7 states have internal predecessors, (602), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:04,770 INFO L186 Difference]: Start difference. First operand has 73 places, 69 transitions, 142 flow. Second operand 6 states and 358 transitions. [2022-02-20 20:56:04,770 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 76 places, 77 transitions, 225 flow [2022-02-20 20:56:04,771 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 76 places, 77 transitions, 225 flow, removed 0 selfloop flow, removed 0 redundant places. [2022-02-20 20:56:04,772 INFO L242 Difference]: Finished difference. Result has 77 places, 70 transitions, 160 flow [2022-02-20 20:56:04,773 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=86, PETRI_DIFFERENCE_MINUEND_FLOW=142, PETRI_DIFFERENCE_MINUEND_PLACES=71, 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=160, PETRI_PLACES=77, PETRI_TRANSITIONS=70} [2022-02-20 20:56:04,774 INFO L334 CegarLoopForPetriNet]: 76 programPoint places, 1 predicate places. [2022-02-20 20:56:04,774 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 77 places, 70 transitions, 160 flow [2022-02-20 20:56:04,781 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 450 states, 449 states have (on average 2.4320712694877504) internal successors, (1092), 449 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:56:04,782 INFO L78 Accepts]: Start accepts. Automaton has has 450 states, 449 states have (on average 2.4320712694877504) internal successors, (1092), 449 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) Word has length 62 [2022-02-20 20:56:04,782 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 20:56:04,783 INFO L470 AbstractCegarLoop]: Abstraction has has 77 places, 70 transitions, 160 flow [2022-02-20 20:56:04,783 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 57.166666666666664) internal successors, (343), 6 states have internal predecessors, (343), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:04,783 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:56:04,783 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:56:04,783 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-20 20:56:04,784 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION] === [2022-02-20 20:56:04,784 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:56:04,785 INFO L85 PathProgramCache]: Analyzing trace with hash 2037993207, now seen corresponding path program 1 times [2022-02-20 20:56:04,785 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:56:04,785 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1997682494] [2022-02-20 20:56:04,785 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:56:04,785 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:56:04,825 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:56:04,943 INFO L290 TraceCheckUtils]: 0: Hoare triple {885#true} [200] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {885#true} is VALID [2022-02-20 20:56:04,943 INFO L290 TraceCheckUtils]: 1: Hoare triple {885#true} [181] L-1-->L-1-1: Formula: (and (= |v_#NULL.base_1| 0) (= |v_#NULL.offset_1| 0)) InVars {} OutVars{#NULL.offset=|v_#NULL.offset_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {885#true} is VALID [2022-02-20 20:56:04,943 INFO L290 TraceCheckUtils]: 2: Hoare triple {885#true} [204] 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[] {885#true} is VALID [2022-02-20 20:56:04,944 INFO L290 TraceCheckUtils]: 3: Hoare triple {885#true} [205] L-1-2-->L21: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {885#true} is VALID [2022-02-20 20:56:04,944 INFO L290 TraceCheckUtils]: 4: Hoare triple {885#true} [172] 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[] {885#true} is VALID [2022-02-20 20:56:04,944 INFO L290 TraceCheckUtils]: 5: Hoare triple {885#true} [196] 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[] {885#true} is VALID [2022-02-20 20:56:04,944 INFO L290 TraceCheckUtils]: 6: Hoare triple {885#true} [193] 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[] {885#true} is VALID [2022-02-20 20:56:04,944 INFO L290 TraceCheckUtils]: 7: Hoare triple {885#true} [159] L21-3-->L21-4: Formula: (and (= 34 (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[] {885#true} is VALID [2022-02-20 20:56:04,944 INFO L290 TraceCheckUtils]: 8: Hoare triple {885#true} [213] L21-4-->L38: Formula: (= 0 v_~M1~0_3) InVars {} OutVars{~M1~0=v_~M1~0_3} AuxVars[] AssignedVars[~M1~0] {885#true} is VALID [2022-02-20 20:56:04,945 INFO L290 TraceCheckUtils]: 9: Hoare triple {885#true} [214] L38-->L38-1: Formula: (= 0 v_~M2~0_3) InVars {} OutVars{~M2~0=v_~M2~0_3} AuxVars[] AssignedVars[~M2~0] {885#true} is VALID [2022-02-20 20:56:04,945 INFO L290 TraceCheckUtils]: 10: Hoare triple {885#true} [162] L38-1-->L-1-3: Formula: (= v_~counter~0_7 0) InVars {} OutVars{~counter~0=v_~counter~0_7} AuxVars[] AssignedVars[~counter~0] {885#true} is VALID [2022-02-20 20:56:04,945 INFO L290 TraceCheckUtils]: 11: Hoare triple {885#true} [209] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {885#true} is VALID [2022-02-20 20:56:04,945 INFO L290 TraceCheckUtils]: 12: Hoare triple {885#true} [190] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {885#true} is VALID [2022-02-20 20:56:04,945 INFO L290 TraceCheckUtils]: 13: Hoare triple {885#true} [154] 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] {885#true} is VALID [2022-02-20 20:56:04,945 INFO L290 TraceCheckUtils]: 14: Hoare triple {885#true} [187] L-1-6-->L65: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_1|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#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_#t~mem12#1=|v_ULTIMATE.start_main_#t~mem12#1_1|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_1|, ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_1|, ULTIMATE.start_main_#t~nondet8#1=|v_ULTIMATE.start_main_#t~nondet8#1_1|, ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#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~nondet10#1, ULTIMATE.start_main_#t~pre9#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_#t~nondet5#1, ULTIMATE.start_main_#t~nondet8#1, ULTIMATE.start_main_#t~nondet6#1, ULTIMATE.start_main_#t~mem11#1, ULTIMATE.start_main_#t~pre7#1, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_#t~mem12#1, ULTIMATE.start_main_~#t1~0#1.offset, ULTIMATE.start_main_~#t2~0#1.base] {885#true} is VALID [2022-02-20 20:56:04,946 INFO L290 TraceCheckUtils]: 15: Hoare triple {885#true} [216] 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] {885#true} is VALID [2022-02-20 20:56:04,946 INFO L290 TraceCheckUtils]: 16: Hoare triple {885#true} [201] 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] {885#true} is VALID [2022-02-20 20:56:04,946 INFO L290 TraceCheckUtils]: 17: Hoare triple {885#true} [180] L65-2-->L67: Formula: (and (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet5#1_2| 2147483648)) (<= |v_ULTIMATE.start_main_#t~nondet5#1_2| 2147483647)) InVars {ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_2|} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_2|} AuxVars[] AssignedVars[] {885#true} is VALID [2022-02-20 20:56:04,946 INFO L290 TraceCheckUtils]: 18: Hoare triple {885#true} [199] L67-->L67-1: Formula: (= |v_ULTIMATE.start_main_#t~nondet5#1_3| v_~M1~0_4) InVars {ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_3|} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_3|, ~M1~0=v_~M1~0_4} AuxVars[] AssignedVars[~M1~0] {885#true} is VALID [2022-02-20 20:56:04,946 INFO L290 TraceCheckUtils]: 19: Hoare triple {885#true} [168] L67-1-->L68: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet5#1] {885#true} is VALID [2022-02-20 20:56:04,947 INFO L290 TraceCheckUtils]: 20: Hoare triple {885#true} [203] L68-->L68-1: Formula: (and (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet6#1_2| 2147483648)) (<= |v_ULTIMATE.start_main_#t~nondet6#1_2| 2147483647)) InVars {ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_2|} OutVars{ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_2|} AuxVars[] AssignedVars[] {885#true} is VALID [2022-02-20 20:56:04,947 INFO L290 TraceCheckUtils]: 21: Hoare triple {885#true} [166] L68-1-->L68-2: Formula: (= |v_ULTIMATE.start_main_#t~nondet6#1_3| v_~M2~0_4) InVars {ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_3|} OutVars{~M2~0=v_~M2~0_4, ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_3|} AuxVars[] AssignedVars[~M2~0] {885#true} is VALID [2022-02-20 20:56:04,947 INFO L290 TraceCheckUtils]: 22: Hoare triple {885#true} [146] L68-2-->L69: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet6#1] {885#true} is VALID [2022-02-20 20:56:04,947 INFO L290 TraceCheckUtils]: 23: Hoare triple {885#true} [153] L69-->L69-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {885#true} is VALID [2022-02-20 20:56:04,948 INFO L290 TraceCheckUtils]: 24: Hoare triple {885#true} [206] L69-1-->L69-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1| (ite (and (< 0 v_~M2~0_5) (< 0 v_~M1~0_5)) 1 0)) InVars {~M2~0=v_~M2~0_5, ~M1~0=v_~M1~0_5} OutVars{~M1~0=v_~M1~0_5, ~M2~0=v_~M2~0_5, 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] {887#(or (and (not (<= ~M2~0 0)) (not (<= ~M1~0 0))) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0))} is VALID [2022-02-20 20:56:04,948 INFO L290 TraceCheckUtils]: 25: Hoare triple {887#(or (and (not (<= ~M2~0 0)) (not (<= ~M1~0 0))) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0))} [178] 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] {887#(or (and (not (<= ~M2~0 0)) (not (<= ~M1~0 0))) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0))} is VALID [2022-02-20 20:56:04,949 INFO L290 TraceCheckUtils]: 26: Hoare triple {887#(or (and (not (<= ~M2~0 0)) (not (<= ~M1~0 0))) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0))} [170] 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] {888#(or (and (not (<= ~M2~0 0)) (not (<= ~M1~0 0))) (= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0))} is VALID [2022-02-20 20:56:04,949 INFO L290 TraceCheckUtils]: 27: Hoare triple {888#(or (and (not (<= ~M2~0 0)) (not (<= ~M1~0 0))) (= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0))} [198] 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[] {889#(and (<= 1 ~M2~0) (< 0 ~M1~0))} is VALID [2022-02-20 20:56:04,950 INFO L290 TraceCheckUtils]: 28: Hoare triple {889#(and (<= 1 ~M2~0) (< 0 ~M1~0))} [191] L34-1-->L72: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {889#(and (<= 1 ~M2~0) (< 0 ~M1~0))} is VALID [2022-02-20 20:56:04,950 INFO L290 TraceCheckUtils]: 29: Hoare triple {889#(and (<= 1 ~M2~0) (< 0 ~M1~0))} [215] L72-->L72-1: Formula: (= |v_ULTIMATE.start_main_#t~pre7#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre7#1] {889#(and (<= 1 ~M2~0) (< 0 ~M1~0))} is VALID [2022-02-20 20:56:04,951 INFO L290 TraceCheckUtils]: 30: Hoare triple {889#(and (<= 1 ~M2~0) (< 0 ~M1~0))} [134] 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] {889#(and (<= 1 ~M2~0) (< 0 ~M1~0))} is VALID [2022-02-20 20:56:04,951 INFO L290 TraceCheckUtils]: 31: Hoare triple {889#(and (<= 1 ~M2~0) (< 0 ~M1~0))} [142] 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~pre7#1_3|)) |v_#memory_int_3|) InVars {#memory_int=|v_#memory_int_4|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} OutVars{#memory_int=|v_#memory_int_3|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} AuxVars[] AssignedVars[#memory_int] {889#(and (<= 1 ~M2~0) (< 0 ~M1~0))} is VALID [2022-02-20 20:56:04,952 INFO L290 TraceCheckUtils]: 32: Hoare triple {889#(and (<= 1 ~M2~0) (< 0 ~M1~0))} [236] L72-3-->thread1ENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre7#1_6| v_thread1Thread1of1ForFork0_thidvar0_2) (= v_thread1Thread1of1ForFork0_thidvar1_2 0)) InVars {ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_6|} OutVars{thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_4|, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_8|, thread1Thread1of1ForFork0_#t~post2=|v_thread1Thread1of1ForFork0_#t~post2_4|, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_12, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_2, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_4|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_2, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_6|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#t~post1, thread1Thread1of1ForFork0_#t~post2, thread1Thread1of1ForFork0_~i~0, thread1Thread1of1ForFork0_thidvar0, thread1Thread1of1ForFork0_#res.offset, thread1Thread1of1ForFork0_thidvar1] {889#(and (<= 1 ~M2~0) (< 0 ~M1~0))} is VALID [2022-02-20 20:56:04,952 INFO L290 TraceCheckUtils]: 33: Hoare triple {889#(and (<= 1 ~M2~0) (< 0 ~M1~0))} [207] L72-4-->L72-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] {889#(and (<= 1 ~M2~0) (< 0 ~M1~0))} is VALID [2022-02-20 20:56:04,952 INFO L290 TraceCheckUtils]: 34: Hoare triple {889#(and (<= 1 ~M2~0) (< 0 ~M1~0))} [137] L72-5-->L73: 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] {889#(and (<= 1 ~M2~0) (< 0 ~M1~0))} is VALID [2022-02-20 20:56:04,953 INFO L290 TraceCheckUtils]: 35: Hoare triple {889#(and (<= 1 ~M2~0) (< 0 ~M1~0))} [174] L73-->L73-1: Formula: (= |v_ULTIMATE.start_main_#t~pre9#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre9#1] {889#(and (<= 1 ~M2~0) (< 0 ~M1~0))} is VALID [2022-02-20 20:56:04,953 INFO L290 TraceCheckUtils]: 36: Hoare triple {889#(and (<= 1 ~M2~0) (< 0 ~M1~0))} [189] 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] {889#(and (<= 1 ~M2~0) (< 0 ~M1~0))} is VALID [2022-02-20 20:56:04,954 INFO L290 TraceCheckUtils]: 37: Hoare triple {889#(and (<= 1 ~M2~0) (< 0 ~M1~0))} [175] 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~pre9#1_3|)) |v_#memory_int_5|) InVars {#memory_int=|v_#memory_int_6|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#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~pre9#1=|v_ULTIMATE.start_main_#t~pre9#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] {889#(and (<= 1 ~M2~0) (< 0 ~M1~0))} is VALID [2022-02-20 20:56:04,954 INFO L290 TraceCheckUtils]: 38: Hoare triple {889#(and (<= 1 ~M2~0) (< 0 ~M1~0))} [238] L73-3-->thread2ENTRY: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar1_2) (= |v_ULTIMATE.start_main_#t~pre9#1_6| v_thread2Thread1of1ForFork1_thidvar0_2) (= 0 v_thread2Thread1of1ForFork1_thidvar2_2)) InVars {ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_6|} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_4|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_12, thread2Thread1of1ForFork1_#t~post4=|v_thread2Thread1of1ForFork1_#t~post4_6|, thread2Thread1of1ForFork1_#t~post3=|v_thread2Thread1of1ForFork1_#t~post3_6|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_6|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_4|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_2, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_2, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_2} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_~i~1, thread2Thread1of1ForFork1_#t~post4, thread2Thread1of1ForFork1_#t~post3, thread2Thread1of1ForFork1_#res.base, thread2Thread1of1ForFork1_thidvar2, thread2Thread1of1ForFork1_thidvar0, thread2Thread1of1ForFork1_thidvar1] {889#(and (<= 1 ~M2~0) (< 0 ~M1~0))} is VALID [2022-02-20 20:56:04,955 INFO L290 TraceCheckUtils]: 39: Hoare triple {889#(and (<= 1 ~M2~0) (< 0 ~M1~0))} [177] L73-4-->L73-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre9#1] {889#(and (<= 1 ~M2~0) (< 0 ~M1~0))} is VALID [2022-02-20 20:56:04,955 INFO L290 TraceCheckUtils]: 40: Hoare triple {889#(and (<= 1 ~M2~0) (< 0 ~M1~0))} [176] L73-5-->L74: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet10#1] {889#(and (<= 1 ~M2~0) (< 0 ~M1~0))} is VALID [2022-02-20 20:56:04,955 INFO L290 TraceCheckUtils]: 41: Hoare triple {889#(and (<= 1 ~M2~0) (< 0 ~M1~0))} [135] L74-->L74-1: Formula: (= |v_ULTIMATE.start_main_#t~mem11#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{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_2|, #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|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem11#1] {889#(and (<= 1 ~M2~0) (< 0 ~M1~0))} is VALID [2022-02-20 20:56:04,956 INFO L290 TraceCheckUtils]: 42: Hoare triple {889#(and (<= 1 ~M2~0) (< 0 ~M1~0))} [228] 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] {890#(and (<= 1 ~M2~0) (= thread2Thread1of1ForFork1_~i~1 0) (< 0 ~M1~0))} is VALID [2022-02-20 20:56:04,956 INFO L290 TraceCheckUtils]: 43: Hoare triple {890#(and (<= 1 ~M2~0) (= thread2Thread1of1ForFork1_~i~1 0) (< 0 ~M1~0))} [230] L54-1-->L52-2: Formula: (not (< v_thread2Thread1of1ForFork1_~i~1_3 v_~M2~0_1)) InVars {~M2~0=v_~M2~0_1, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_3} OutVars{~M2~0=v_~M2~0_1, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_3} AuxVars[] AssignedVars[] {886#false} is VALID [2022-02-20 20:56:04,957 INFO L290 TraceCheckUtils]: 44: Hoare triple {886#false} [218] 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] {886#false} is VALID [2022-02-20 20:56:04,957 INFO L290 TraceCheckUtils]: 45: Hoare triple {886#false} [221] L41-4-->L42: Formula: (< v_thread1Thread1of1ForFork0_~i~0_5 v_~M1~0_2) InVars {thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_5, ~M1~0=v_~M1~0_2} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_5, ~M1~0=v_~M1~0_2} AuxVars[] AssignedVars[] {886#false} is VALID [2022-02-20 20:56:04,957 INFO L290 TraceCheckUtils]: 46: Hoare triple {886#false} [223] L42-->L44: Formula: (= (+ v_~counter~0_26 1) v_~counter~0_25) InVars {~counter~0=v_~counter~0_26} OutVars{~counter~0=v_~counter~0_25, thread1Thread1of1ForFork0_#t~post2=|v_thread1Thread1of1ForFork0_#t~post2_1|} AuxVars[] AssignedVars[~counter~0, thread1Thread1of1ForFork0_#t~post2] {886#false} is VALID [2022-02-20 20:56:04,957 INFO L290 TraceCheckUtils]: 47: Hoare triple {886#false} [225] 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] {886#false} is VALID [2022-02-20 20:56:04,957 INFO L290 TraceCheckUtils]: 48: Hoare triple {886#false} [226] 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] {886#false} is VALID [2022-02-20 20:56:04,957 INFO L290 TraceCheckUtils]: 49: Hoare triple {886#false} [227] L41-3-->L41-4: Formula: true InVars {} OutVars{thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_5|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1] {886#false} is VALID [2022-02-20 20:56:04,957 INFO L290 TraceCheckUtils]: 50: Hoare triple {886#false} [220] L41-4-->L41-5: Formula: (not (< v_thread1Thread1of1ForFork0_~i~0_3 v_~M1~0_1)) InVars {thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_3, ~M1~0=v_~M1~0_1} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_3, ~M1~0=v_~M1~0_1} AuxVars[] AssignedVars[] {886#false} is VALID [2022-02-20 20:56:04,958 INFO L290 TraceCheckUtils]: 51: Hoare triple {886#false} [222] 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] {886#false} is VALID [2022-02-20 20:56:04,958 INFO L290 TraceCheckUtils]: 52: Hoare triple {886#false} [224] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {886#false} is VALID [2022-02-20 20:56:04,958 INFO L290 TraceCheckUtils]: 53: Hoare triple {886#false} [239] thread1EXIT-->L74-2: Formula: (and (= v_thread1Thread1of1ForFork0_thidvar1_4 0) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem11#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ (- 4294967296) .cse0))) v_thread1Thread1of1ForFork0_thidvar0_4)) InVars {ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_5|, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_5|, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4} AuxVars[] AssignedVars[] {886#false} is VALID [2022-02-20 20:56:04,958 INFO L290 TraceCheckUtils]: 54: Hoare triple {886#false} [182] L74-2-->L75: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem11#1] {886#false} is VALID [2022-02-20 20:56:04,958 INFO L290 TraceCheckUtils]: 55: Hoare triple {886#false} [208] 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~mem12#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~mem12#1=|v_ULTIMATE.start_main_#t~mem12#1_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem12#1] {886#false} is VALID [2022-02-20 20:56:04,958 INFO L290 TraceCheckUtils]: 56: Hoare triple {886#false} [232] 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] {886#false} is VALID [2022-02-20 20:56:04,959 INFO L290 TraceCheckUtils]: 57: Hoare triple {886#false} [234] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {886#false} is VALID [2022-02-20 20:56:04,959 INFO L290 TraceCheckUtils]: 58: Hoare triple {886#false} [240] thread2EXIT-->L75-2: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar2_4) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem12#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ .cse0 (- 4294967296)))) v_thread2Thread1of1ForFork1_thidvar0_4) (= 0 v_thread2Thread1of1ForFork1_thidvar1_4)) InVars {thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, ULTIMATE.start_main_#t~mem12#1=|v_ULTIMATE.start_main_#t~mem12#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~mem12#1=|v_ULTIMATE.start_main_#t~mem12#1_5|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} AuxVars[] AssignedVars[] {886#false} is VALID [2022-02-20 20:56:04,959 INFO L290 TraceCheckUtils]: 59: Hoare triple {886#false} [195] L75-2-->L77: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem12#1=|v_ULTIMATE.start_main_#t~mem12#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem12#1] {886#false} is VALID [2022-02-20 20:56:04,959 INFO L290 TraceCheckUtils]: 60: Hoare triple {886#false} [147] L77-->L77-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {886#false} is VALID [2022-02-20 20:56:04,959 INFO L290 TraceCheckUtils]: 61: Hoare triple {886#false} [163] L77-1-->L77-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3| (ite (not (= v_~counter~0_8 (+ (* (- 1) v_~M2~0_6) v_~M1~0_6))) 1 0)) InVars {~counter~0=v_~counter~0_8, ~M1~0=v_~M1~0_6, ~M2~0=v_~M2~0_6} OutVars{~counter~0=v_~counter~0_8, ~M1~0=v_~M1~0_6, ~M2~0=v_~M2~0_6, 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] {886#false} is VALID [2022-02-20 20:56:04,959 INFO L290 TraceCheckUtils]: 62: Hoare triple {886#false} [186] 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] {886#false} is VALID [2022-02-20 20:56:04,959 INFO L290 TraceCheckUtils]: 63: Hoare triple {886#false} [183] 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] {886#false} is VALID [2022-02-20 20:56:04,960 INFO L290 TraceCheckUtils]: 64: Hoare triple {886#false} [149] 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[] {886#false} is VALID [2022-02-20 20:56:04,960 INFO L290 TraceCheckUtils]: 65: Hoare triple {886#false} [157] L34-3-->L78: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {886#false} is VALID [2022-02-20 20:56:04,960 INFO L290 TraceCheckUtils]: 66: Hoare triple {886#false} [164] L78-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {886#false} is VALID [2022-02-20 20:56:04,960 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 20:56:04,961 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 20:56:04,961 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1997682494] [2022-02-20 20:56:04,961 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1997682494] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 20:56:04,961 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 20:56:04,961 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-02-20 20:56:04,961 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2133231145] [2022-02-20 20:56:04,961 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 20:56:04,962 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 11.166666666666666) internal successors, (67), 6 states have internal predecessors, (67), 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:56:04,962 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 20:56:04,962 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 11.166666666666666) internal successors, (67), 6 states have internal predecessors, (67), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:05,002 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 20:56:05,003 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 20:56:05,003 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 20:56:05,004 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 20:56:05,004 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=16, Unknown=0, NotChecked=0, Total=30 [2022-02-20 20:56:05,004 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 56 out of 86 [2022-02-20 20:56:05,005 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 77 places, 70 transitions, 160 flow. Second operand has 6 states, 6 states have (on average 59.5) internal successors, (357), 6 states have internal predecessors, (357), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:05,005 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 20:56:05,005 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 56 of 86 [2022-02-20 20:56:05,005 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 20:56:05,115 INFO L129 PetriNetUnfolder]: 44/170 cut-off events. [2022-02-20 20:56:05,115 INFO L130 PetriNetUnfolder]: For 16/22 co-relation queries the response was YES. [2022-02-20 20:56:05,116 INFO L84 FinitePrefix]: Finished finitePrefix Result has 302 conditions, 170 events. 44/170 cut-off events. For 16/22 co-relation queries the response was YES. Maximal size of possible extension queue 15. Compared 527 event pairs, 23 based on Foata normal form. 6/164 useless extension candidates. Maximal degree in co-relation 297. Up to 70 conditions per place. [2022-02-20 20:56:05,117 INFO L132 encePairwiseOnDemand]: 80/86 looper letters, 24 selfloop transitions, 5 changer transitions 0/76 dead transitions. [2022-02-20 20:56:05,117 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 82 places, 76 transitions, 233 flow [2022-02-20 20:56:05,117 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 20:56:05,117 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2022-02-20 20:56:05,121 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 366 transitions. [2022-02-20 20:56:05,121 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.7093023255813954 [2022-02-20 20:56:05,121 INFO L72 ComplementDD]: Start complementDD. Operand 6 states and 366 transitions. [2022-02-20 20:56:05,122 INFO L73 IsDeterministic]: Start isDeterministic. Operand 6 states and 366 transitions. [2022-02-20 20:56:05,122 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 20:56:05,122 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 6 states and 366 transitions. [2022-02-20 20:56:05,123 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 7 states, 6 states have (on average 61.0) internal successors, (366), 6 states have internal predecessors, (366), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:05,124 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 7 states, 7 states have (on average 86.0) internal successors, (602), 7 states have internal predecessors, (602), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:05,125 INFO L81 ComplementDD]: Finished complementDD. Result has 7 states, 7 states have (on average 86.0) internal successors, (602), 7 states have internal predecessors, (602), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:05,125 INFO L186 Difference]: Start difference. First operand has 77 places, 70 transitions, 160 flow. Second operand 6 states and 366 transitions. [2022-02-20 20:56:05,125 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 82 places, 76 transitions, 233 flow [2022-02-20 20:56:05,126 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 78 places, 76 transitions, 225 flow, removed 0 selfloop flow, removed 4 redundant places. [2022-02-20 20:56:05,128 INFO L242 Difference]: Finished difference. Result has 79 places, 71 transitions, 170 flow [2022-02-20 20:56:05,128 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=86, PETRI_DIFFERENCE_MINUEND_FLOW=152, PETRI_DIFFERENCE_MINUEND_PLACES=73, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=70, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=4, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=65, PETRI_DIFFERENCE_SUBTRAHEND_STATES=6, PETRI_FLOW=170, PETRI_PLACES=79, PETRI_TRANSITIONS=71} [2022-02-20 20:56:05,129 INFO L334 CegarLoopForPetriNet]: 76 programPoint places, 3 predicate places. [2022-02-20 20:56:05,129 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 79 places, 71 transitions, 170 flow [2022-02-20 20:56:05,139 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 560 states, 559 states have (on average 2.486583184257603) internal successors, (1390), 559 states have internal predecessors, (1390), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:05,140 INFO L78 Accepts]: Start accepts. Automaton has has 560 states, 559 states have (on average 2.486583184257603) internal successors, (1390), 559 states have internal predecessors, (1390), 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:56:05,140 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 20:56:05,140 INFO L470 AbstractCegarLoop]: Abstraction has has 79 places, 71 transitions, 170 flow [2022-02-20 20:56:05,141 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 59.5) internal successors, (357), 6 states have internal predecessors, (357), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:05,141 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:56:05,141 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, 1, 1] [2022-02-20 20:56:05,141 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-02-20 20:56:05,141 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION] === [2022-02-20 20:56:05,142 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:56:05,142 INFO L85 PathProgramCache]: Analyzing trace with hash -1287849495, now seen corresponding path program 1 times [2022-02-20 20:56:05,142 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:56:05,142 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2118824917] [2022-02-20 20:56:05,142 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:56:05,142 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:56:05,178 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:56:05,446 INFO L290 TraceCheckUtils]: 0: Hoare triple {1456#true} [200] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1456#true} is VALID [2022-02-20 20:56:05,446 INFO L290 TraceCheckUtils]: 1: Hoare triple {1456#true} [181] L-1-->L-1-1: Formula: (and (= |v_#NULL.base_1| 0) (= |v_#NULL.offset_1| 0)) InVars {} OutVars{#NULL.offset=|v_#NULL.offset_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {1456#true} is VALID [2022-02-20 20:56:05,446 INFO L290 TraceCheckUtils]: 2: Hoare triple {1456#true} [204] 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[] {1456#true} is VALID [2022-02-20 20:56:05,446 INFO L290 TraceCheckUtils]: 3: Hoare triple {1456#true} [205] L-1-2-->L21: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {1456#true} is VALID [2022-02-20 20:56:05,446 INFO L290 TraceCheckUtils]: 4: Hoare triple {1456#true} [172] 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[] {1456#true} is VALID [2022-02-20 20:56:05,447 INFO L290 TraceCheckUtils]: 5: Hoare triple {1456#true} [196] 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[] {1456#true} is VALID [2022-02-20 20:56:05,447 INFO L290 TraceCheckUtils]: 6: Hoare triple {1456#true} [193] 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[] {1456#true} is VALID [2022-02-20 20:56:05,447 INFO L290 TraceCheckUtils]: 7: Hoare triple {1456#true} [159] L21-3-->L21-4: Formula: (and (= 34 (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[] {1456#true} is VALID [2022-02-20 20:56:05,447 INFO L290 TraceCheckUtils]: 8: Hoare triple {1456#true} [213] L21-4-->L38: Formula: (= 0 v_~M1~0_3) InVars {} OutVars{~M1~0=v_~M1~0_3} AuxVars[] AssignedVars[~M1~0] {1456#true} is VALID [2022-02-20 20:56:05,447 INFO L290 TraceCheckUtils]: 9: Hoare triple {1456#true} [214] L38-->L38-1: Formula: (= 0 v_~M2~0_3) InVars {} OutVars{~M2~0=v_~M2~0_3} AuxVars[] AssignedVars[~M2~0] {1456#true} is VALID [2022-02-20 20:56:05,448 INFO L290 TraceCheckUtils]: 10: Hoare triple {1456#true} [162] L38-1-->L-1-3: Formula: (= v_~counter~0_7 0) InVars {} OutVars{~counter~0=v_~counter~0_7} AuxVars[] AssignedVars[~counter~0] {1458#(= ~counter~0 0)} is VALID [2022-02-20 20:56:05,448 INFO L290 TraceCheckUtils]: 11: Hoare triple {1458#(= ~counter~0 0)} [209] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1458#(= ~counter~0 0)} is VALID [2022-02-20 20:56:05,450 INFO L290 TraceCheckUtils]: 12: Hoare triple {1458#(= ~counter~0 0)} [190] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1458#(= ~counter~0 0)} is VALID [2022-02-20 20:56:05,451 INFO L290 TraceCheckUtils]: 13: Hoare triple {1458#(= ~counter~0 0)} [154] 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] {1458#(= ~counter~0 0)} is VALID [2022-02-20 20:56:05,451 INFO L290 TraceCheckUtils]: 14: Hoare triple {1458#(= ~counter~0 0)} [187] L-1-6-->L65: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_1|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#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_#t~mem12#1=|v_ULTIMATE.start_main_#t~mem12#1_1|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_1|, ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_1|, ULTIMATE.start_main_#t~nondet8#1=|v_ULTIMATE.start_main_#t~nondet8#1_1|, ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#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~nondet10#1, ULTIMATE.start_main_#t~pre9#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_#t~nondet5#1, ULTIMATE.start_main_#t~nondet8#1, ULTIMATE.start_main_#t~nondet6#1, ULTIMATE.start_main_#t~mem11#1, ULTIMATE.start_main_#t~pre7#1, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_#t~mem12#1, ULTIMATE.start_main_~#t1~0#1.offset, ULTIMATE.start_main_~#t2~0#1.base] {1458#(= ~counter~0 0)} is VALID [2022-02-20 20:56:05,452 INFO L290 TraceCheckUtils]: 15: Hoare triple {1458#(= ~counter~0 0)} [216] 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] {1458#(= ~counter~0 0)} is VALID [2022-02-20 20:56:05,452 INFO L290 TraceCheckUtils]: 16: Hoare triple {1458#(= ~counter~0 0)} [201] 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] {1458#(= ~counter~0 0)} is VALID [2022-02-20 20:56:05,452 INFO L290 TraceCheckUtils]: 17: Hoare triple {1458#(= ~counter~0 0)} [180] L65-2-->L67: Formula: (and (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet5#1_2| 2147483648)) (<= |v_ULTIMATE.start_main_#t~nondet5#1_2| 2147483647)) InVars {ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_2|} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_2|} AuxVars[] AssignedVars[] {1458#(= ~counter~0 0)} is VALID [2022-02-20 20:56:05,453 INFO L290 TraceCheckUtils]: 18: Hoare triple {1458#(= ~counter~0 0)} [199] L67-->L67-1: Formula: (= |v_ULTIMATE.start_main_#t~nondet5#1_3| v_~M1~0_4) InVars {ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_3|} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_3|, ~M1~0=v_~M1~0_4} AuxVars[] AssignedVars[~M1~0] {1458#(= ~counter~0 0)} is VALID [2022-02-20 20:56:05,453 INFO L290 TraceCheckUtils]: 19: Hoare triple {1458#(= ~counter~0 0)} [168] L67-1-->L68: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet5#1] {1458#(= ~counter~0 0)} is VALID [2022-02-20 20:56:05,453 INFO L290 TraceCheckUtils]: 20: Hoare triple {1458#(= ~counter~0 0)} [203] L68-->L68-1: Formula: (and (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet6#1_2| 2147483648)) (<= |v_ULTIMATE.start_main_#t~nondet6#1_2| 2147483647)) InVars {ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_2|} OutVars{ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_2|} AuxVars[] AssignedVars[] {1458#(= ~counter~0 0)} is VALID [2022-02-20 20:56:05,454 INFO L290 TraceCheckUtils]: 21: Hoare triple {1458#(= ~counter~0 0)} [166] L68-1-->L68-2: Formula: (= |v_ULTIMATE.start_main_#t~nondet6#1_3| v_~M2~0_4) InVars {ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_3|} OutVars{~M2~0=v_~M2~0_4, ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_3|} AuxVars[] AssignedVars[~M2~0] {1458#(= ~counter~0 0)} is VALID [2022-02-20 20:56:05,455 INFO L290 TraceCheckUtils]: 22: Hoare triple {1458#(= ~counter~0 0)} [146] L68-2-->L69: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet6#1] {1458#(= ~counter~0 0)} is VALID [2022-02-20 20:56:05,455 INFO L290 TraceCheckUtils]: 23: Hoare triple {1458#(= ~counter~0 0)} [153] L69-->L69-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1458#(= ~counter~0 0)} is VALID [2022-02-20 20:56:05,455 INFO L290 TraceCheckUtils]: 24: Hoare triple {1458#(= ~counter~0 0)} [206] L69-1-->L69-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1| (ite (and (< 0 v_~M2~0_5) (< 0 v_~M1~0_5)) 1 0)) InVars {~M2~0=v_~M2~0_5, ~M1~0=v_~M1~0_5} OutVars{~M1~0=v_~M1~0_5, ~M2~0=v_~M2~0_5, 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] {1458#(= ~counter~0 0)} is VALID [2022-02-20 20:56:05,456 INFO L290 TraceCheckUtils]: 25: Hoare triple {1458#(= ~counter~0 0)} [178] 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] {1458#(= ~counter~0 0)} is VALID [2022-02-20 20:56:05,456 INFO L290 TraceCheckUtils]: 26: Hoare triple {1458#(= ~counter~0 0)} [170] 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] {1458#(= ~counter~0 0)} is VALID [2022-02-20 20:56:05,456 INFO L290 TraceCheckUtils]: 27: Hoare triple {1458#(= ~counter~0 0)} [198] 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[] {1458#(= ~counter~0 0)} is VALID [2022-02-20 20:56:05,457 INFO L290 TraceCheckUtils]: 28: Hoare triple {1458#(= ~counter~0 0)} [191] L34-1-->L72: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1458#(= ~counter~0 0)} is VALID [2022-02-20 20:56:05,457 INFO L290 TraceCheckUtils]: 29: Hoare triple {1458#(= ~counter~0 0)} [215] L72-->L72-1: Formula: (= |v_ULTIMATE.start_main_#t~pre7#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre7#1] {1458#(= ~counter~0 0)} is VALID [2022-02-20 20:56:05,457 INFO L290 TraceCheckUtils]: 30: Hoare triple {1458#(= ~counter~0 0)} [134] 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] {1458#(= ~counter~0 0)} is VALID [2022-02-20 20:56:05,458 INFO L290 TraceCheckUtils]: 31: Hoare triple {1458#(= ~counter~0 0)} [142] 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~pre7#1_3|)) |v_#memory_int_3|) InVars {#memory_int=|v_#memory_int_4|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} OutVars{#memory_int=|v_#memory_int_3|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} AuxVars[] AssignedVars[#memory_int] {1458#(= ~counter~0 0)} is VALID [2022-02-20 20:56:05,458 INFO L290 TraceCheckUtils]: 32: Hoare triple {1458#(= ~counter~0 0)} [236] L72-3-->thread1ENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre7#1_6| v_thread1Thread1of1ForFork0_thidvar0_2) (= v_thread1Thread1of1ForFork0_thidvar1_2 0)) InVars {ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_6|} OutVars{thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_4|, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_8|, thread1Thread1of1ForFork0_#t~post2=|v_thread1Thread1of1ForFork0_#t~post2_4|, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_12, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_2, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_4|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_2, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_6|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#t~post1, thread1Thread1of1ForFork0_#t~post2, thread1Thread1of1ForFork0_~i~0, thread1Thread1of1ForFork0_thidvar0, thread1Thread1of1ForFork0_#res.offset, thread1Thread1of1ForFork0_thidvar1] {1458#(= ~counter~0 0)} is VALID [2022-02-20 20:56:05,458 INFO L290 TraceCheckUtils]: 33: Hoare triple {1458#(= ~counter~0 0)} [218] 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] {1459#(and (= thread1Thread1of1ForFork0_~i~0 0) (= ~counter~0 0))} is VALID [2022-02-20 20:56:05,459 INFO L290 TraceCheckUtils]: 34: Hoare triple {1459#(and (= thread1Thread1of1ForFork0_~i~0 0) (= ~counter~0 0))} [207] L72-4-->L72-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] {1459#(and (= thread1Thread1of1ForFork0_~i~0 0) (= ~counter~0 0))} is VALID [2022-02-20 20:56:05,459 INFO L290 TraceCheckUtils]: 35: Hoare triple {1459#(and (= thread1Thread1of1ForFork0_~i~0 0) (= ~counter~0 0))} [137] L72-5-->L73: 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] {1459#(and (= thread1Thread1of1ForFork0_~i~0 0) (= ~counter~0 0))} is VALID [2022-02-20 20:56:05,459 INFO L290 TraceCheckUtils]: 36: Hoare triple {1459#(and (= thread1Thread1of1ForFork0_~i~0 0) (= ~counter~0 0))} [174] L73-->L73-1: Formula: (= |v_ULTIMATE.start_main_#t~pre9#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre9#1] {1459#(and (= thread1Thread1of1ForFork0_~i~0 0) (= ~counter~0 0))} is VALID [2022-02-20 20:56:05,460 INFO L290 TraceCheckUtils]: 37: Hoare triple {1459#(and (= thread1Thread1of1ForFork0_~i~0 0) (= ~counter~0 0))} [189] 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] {1459#(and (= thread1Thread1of1ForFork0_~i~0 0) (= ~counter~0 0))} is VALID [2022-02-20 20:56:05,460 INFO L290 TraceCheckUtils]: 38: Hoare triple {1459#(and (= thread1Thread1of1ForFork0_~i~0 0) (= ~counter~0 0))} [175] 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~pre9#1_3|)) |v_#memory_int_5|) InVars {#memory_int=|v_#memory_int_6|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#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~pre9#1=|v_ULTIMATE.start_main_#t~pre9#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] {1459#(and (= thread1Thread1of1ForFork0_~i~0 0) (= ~counter~0 0))} is VALID [2022-02-20 20:56:05,461 INFO L290 TraceCheckUtils]: 39: Hoare triple {1459#(and (= thread1Thread1of1ForFork0_~i~0 0) (= ~counter~0 0))} [238] L73-3-->thread2ENTRY: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar1_2) (= |v_ULTIMATE.start_main_#t~pre9#1_6| v_thread2Thread1of1ForFork1_thidvar0_2) (= 0 v_thread2Thread1of1ForFork1_thidvar2_2)) InVars {ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_6|} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_4|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_12, thread2Thread1of1ForFork1_#t~post4=|v_thread2Thread1of1ForFork1_#t~post4_6|, thread2Thread1of1ForFork1_#t~post3=|v_thread2Thread1of1ForFork1_#t~post3_6|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_6|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_4|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_2, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_2, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_2} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_~i~1, thread2Thread1of1ForFork1_#t~post4, thread2Thread1of1ForFork1_#t~post3, thread2Thread1of1ForFork1_#res.base, thread2Thread1of1ForFork1_thidvar2, thread2Thread1of1ForFork1_thidvar0, thread2Thread1of1ForFork1_thidvar1] {1459#(and (= thread1Thread1of1ForFork0_~i~0 0) (= ~counter~0 0))} is VALID [2022-02-20 20:56:05,461 INFO L290 TraceCheckUtils]: 40: Hoare triple {1459#(and (= thread1Thread1of1ForFork0_~i~0 0) (= ~counter~0 0))} [221] L41-4-->L42: Formula: (< v_thread1Thread1of1ForFork0_~i~0_5 v_~M1~0_2) InVars {thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_5, ~M1~0=v_~M1~0_2} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_5, ~M1~0=v_~M1~0_2} AuxVars[] AssignedVars[] {1460#(and (= thread1Thread1of1ForFork0_~i~0 0) (= ~counter~0 0) (<= (+ thread1Thread1of1ForFork0_~i~0 1) ~M1~0))} is VALID [2022-02-20 20:56:05,462 INFO L290 TraceCheckUtils]: 41: Hoare triple {1460#(and (= thread1Thread1of1ForFork0_~i~0 0) (= ~counter~0 0) (<= (+ thread1Thread1of1ForFork0_~i~0 1) ~M1~0))} [223] L42-->L44: Formula: (= (+ v_~counter~0_26 1) v_~counter~0_25) InVars {~counter~0=v_~counter~0_26} OutVars{~counter~0=v_~counter~0_25, thread1Thread1of1ForFork0_#t~post2=|v_thread1Thread1of1ForFork0_#t~post2_1|} AuxVars[] AssignedVars[~counter~0, thread1Thread1of1ForFork0_#t~post2] {1461#(and (<= (+ ~counter~0 thread1Thread1of1ForFork0_~i~0) ~M1~0) (<= 1 ~counter~0) (= thread1Thread1of1ForFork0_~i~0 0))} is VALID [2022-02-20 20:56:05,462 INFO L290 TraceCheckUtils]: 42: Hoare triple {1461#(and (<= (+ ~counter~0 thread1Thread1of1ForFork0_~i~0) ~M1~0) (<= 1 ~counter~0) (= thread1Thread1of1ForFork0_~i~0 0))} [225] 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] {1462#(and (<= 1 ~counter~0) (<= ~counter~0 ~M1~0) (= |thread1Thread1of1ForFork0_#t~post1| 0))} is VALID [2022-02-20 20:56:05,463 INFO L290 TraceCheckUtils]: 43: Hoare triple {1462#(and (<= 1 ~counter~0) (<= ~counter~0 ~M1~0) (= |thread1Thread1of1ForFork0_#t~post1| 0))} [226] 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] {1463#(and (<= 1 ~counter~0) (<= thread1Thread1of1ForFork0_~i~0 ~counter~0) (<= ~counter~0 ~M1~0))} is VALID [2022-02-20 20:56:05,463 INFO L290 TraceCheckUtils]: 44: Hoare triple {1463#(and (<= 1 ~counter~0) (<= thread1Thread1of1ForFork0_~i~0 ~counter~0) (<= ~counter~0 ~M1~0))} [227] L41-3-->L41-4: Formula: true InVars {} OutVars{thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_5|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1] {1463#(and (<= 1 ~counter~0) (<= thread1Thread1of1ForFork0_~i~0 ~counter~0) (<= ~counter~0 ~M1~0))} is VALID [2022-02-20 20:56:05,464 INFO L290 TraceCheckUtils]: 45: Hoare triple {1463#(and (<= 1 ~counter~0) (<= thread1Thread1of1ForFork0_~i~0 ~counter~0) (<= ~counter~0 ~M1~0))} [220] L41-4-->L41-5: Formula: (not (< v_thread1Thread1of1ForFork0_~i~0_3 v_~M1~0_1)) InVars {thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_3, ~M1~0=v_~M1~0_1} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_3, ~M1~0=v_~M1~0_1} AuxVars[] AssignedVars[] {1464#(and (<= 1 ~counter~0) (<= ~M1~0 ~counter~0) (<= ~counter~0 ~M1~0))} is VALID [2022-02-20 20:56:05,464 INFO L290 TraceCheckUtils]: 46: Hoare triple {1464#(and (<= 1 ~counter~0) (<= ~M1~0 ~counter~0) (<= ~counter~0 ~M1~0))} [222] 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] {1464#(and (<= 1 ~counter~0) (<= ~M1~0 ~counter~0) (<= ~counter~0 ~M1~0))} is VALID [2022-02-20 20:56:05,465 INFO L290 TraceCheckUtils]: 47: Hoare triple {1464#(and (<= 1 ~counter~0) (<= ~M1~0 ~counter~0) (<= ~counter~0 ~M1~0))} [224] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1464#(and (<= 1 ~counter~0) (<= ~M1~0 ~counter~0) (<= ~counter~0 ~M1~0))} is VALID [2022-02-20 20:56:05,465 INFO L290 TraceCheckUtils]: 48: Hoare triple {1464#(and (<= 1 ~counter~0) (<= ~M1~0 ~counter~0) (<= ~counter~0 ~M1~0))} [177] L73-4-->L73-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre9#1] {1464#(and (<= 1 ~counter~0) (<= ~M1~0 ~counter~0) (<= ~counter~0 ~M1~0))} is VALID [2022-02-20 20:56:05,465 INFO L290 TraceCheckUtils]: 49: Hoare triple {1464#(and (<= 1 ~counter~0) (<= ~M1~0 ~counter~0) (<= ~counter~0 ~M1~0))} [176] L73-5-->L74: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet10#1] {1464#(and (<= 1 ~counter~0) (<= ~M1~0 ~counter~0) (<= ~counter~0 ~M1~0))} is VALID [2022-02-20 20:56:05,466 INFO L290 TraceCheckUtils]: 50: Hoare triple {1464#(and (<= 1 ~counter~0) (<= ~M1~0 ~counter~0) (<= ~counter~0 ~M1~0))} [135] L74-->L74-1: Formula: (= |v_ULTIMATE.start_main_#t~mem11#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{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_2|, #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|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem11#1] {1464#(and (<= 1 ~counter~0) (<= ~M1~0 ~counter~0) (<= ~counter~0 ~M1~0))} is VALID [2022-02-20 20:56:05,466 INFO L290 TraceCheckUtils]: 51: Hoare triple {1464#(and (<= 1 ~counter~0) (<= ~M1~0 ~counter~0) (<= ~counter~0 ~M1~0))} [239] thread1EXIT-->L74-2: Formula: (and (= v_thread1Thread1of1ForFork0_thidvar1_4 0) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem11#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ (- 4294967296) .cse0))) v_thread1Thread1of1ForFork0_thidvar0_4)) InVars {ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_5|, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_5|, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4} AuxVars[] AssignedVars[] {1464#(and (<= 1 ~counter~0) (<= ~M1~0 ~counter~0) (<= ~counter~0 ~M1~0))} is VALID [2022-02-20 20:56:05,467 INFO L290 TraceCheckUtils]: 52: Hoare triple {1464#(and (<= 1 ~counter~0) (<= ~M1~0 ~counter~0) (<= ~counter~0 ~M1~0))} [182] L74-2-->L75: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem11#1] {1464#(and (<= 1 ~counter~0) (<= ~M1~0 ~counter~0) (<= ~counter~0 ~M1~0))} is VALID [2022-02-20 20:56:05,467 INFO L290 TraceCheckUtils]: 53: Hoare triple {1464#(and (<= 1 ~counter~0) (<= ~M1~0 ~counter~0) (<= ~counter~0 ~M1~0))} [208] 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~mem12#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~mem12#1=|v_ULTIMATE.start_main_#t~mem12#1_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem12#1] {1464#(and (<= 1 ~counter~0) (<= ~M1~0 ~counter~0) (<= ~counter~0 ~M1~0))} is VALID [2022-02-20 20:56:05,468 INFO L290 TraceCheckUtils]: 54: Hoare triple {1464#(and (<= 1 ~counter~0) (<= ~M1~0 ~counter~0) (<= ~counter~0 ~M1~0))} [228] 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] {1465#(and (<= 1 ~counter~0) (<= ~M1~0 ~counter~0) (= thread2Thread1of1ForFork1_~i~1 0) (<= ~counter~0 ~M1~0))} is VALID [2022-02-20 20:56:05,471 INFO L290 TraceCheckUtils]: 55: Hoare triple {1465#(and (<= 1 ~counter~0) (<= ~M1~0 ~counter~0) (= thread2Thread1of1ForFork1_~i~1 0) (<= ~counter~0 ~M1~0))} [231] L54-1-->L53: Formula: (< v_thread2Thread1of1ForFork1_~i~1_5 v_~M2~0_2) InVars {~M2~0=v_~M2~0_2, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_5} OutVars{~M2~0=v_~M2~0_2, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_5} AuxVars[] AssignedVars[] {1466#(and (<= (+ ~M1~0 thread2Thread1of1ForFork1_~i~1 1) (+ ~counter~0 ~M2~0)) (<= 1 ~counter~0) (= thread2Thread1of1ForFork1_~i~1 0) (<= ~counter~0 ~M1~0))} is VALID [2022-02-20 20:56:05,473 INFO L290 TraceCheckUtils]: 56: Hoare triple {1466#(and (<= (+ ~M1~0 thread2Thread1of1ForFork1_~i~1 1) (+ ~counter~0 ~M2~0)) (<= 1 ~counter~0) (= thread2Thread1of1ForFork1_~i~1 0) (<= ~counter~0 ~M1~0))} [233] L53-->L54-1: Formula: (let ((.cse0 (< 0 v_~counter~0_In_1))) (or (and .cse0 (= v_~counter~0_In_1 (+ v_~counter~0_Out_2 1)) (= (+ v_thread2Thread1of1ForFork1_~i~1_7 1) v_thread2Thread1of1ForFork1_~i~1_8)) (and (= v_~counter~0_Out_2 v_~counter~0_In_1) (= v_thread2Thread1of1ForFork1_~i~1_8 v_thread2Thread1of1ForFork1_~i~1_7) (not .cse0) (= |v_thread2Thread1of1ForFork1_#t~post3_1| |v_thread2Thread1of1ForFork1_#t~post3_2|) (= |v_thread2Thread1of1ForFork1_#t~post4_2| |v_thread2Thread1of1ForFork1_#t~post4_1|)))) InVars {~counter~0=v_~counter~0_In_1, thread2Thread1of1ForFork1_#t~post4=|v_thread2Thread1of1ForFork1_#t~post4_1|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_7, thread2Thread1of1ForFork1_#t~post3=|v_thread2Thread1of1ForFork1_#t~post3_1|} OutVars{~counter~0=v_~counter~0_Out_2, thread2Thread1of1ForFork1_#t~post4=|v_thread2Thread1of1ForFork1_#t~post4_2|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_8, thread2Thread1of1ForFork1_#t~post3=|v_thread2Thread1of1ForFork1_#t~post3_2|} AuxVars[] AssignedVars[~counter~0, thread2Thread1of1ForFork1_#t~post4, thread2Thread1of1ForFork1_~i~1, thread2Thread1of1ForFork1_#t~post3] {1467#(or (and (<= (+ ~counter~0 thread2Thread1of1ForFork1_~i~1) ~M1~0) (<= ~M1~0 (+ ~counter~0 ~M2~0))) (= ~counter~0 (+ (* (- 1) ~M2~0) ~M1~0)))} is VALID [2022-02-20 20:56:05,478 INFO L290 TraceCheckUtils]: 57: Hoare triple {1467#(or (and (<= (+ ~counter~0 thread2Thread1of1ForFork1_~i~1) ~M1~0) (<= ~M1~0 (+ ~counter~0 ~M2~0))) (= ~counter~0 (+ (* (- 1) ~M2~0) ~M1~0)))} [230] L54-1-->L52-2: Formula: (not (< v_thread2Thread1of1ForFork1_~i~1_3 v_~M2~0_1)) InVars {~M2~0=v_~M2~0_1, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_3} OutVars{~M2~0=v_~M2~0_1, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_3} AuxVars[] AssignedVars[] {1468#(= ~M1~0 (+ ~counter~0 ~M2~0))} is VALID [2022-02-20 20:56:05,479 INFO L290 TraceCheckUtils]: 58: Hoare triple {1468#(= ~M1~0 (+ ~counter~0 ~M2~0))} [232] 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] {1468#(= ~M1~0 (+ ~counter~0 ~M2~0))} is VALID [2022-02-20 20:56:05,479 INFO L290 TraceCheckUtils]: 59: Hoare triple {1468#(= ~M1~0 (+ ~counter~0 ~M2~0))} [234] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1468#(= ~M1~0 (+ ~counter~0 ~M2~0))} is VALID [2022-02-20 20:56:05,480 INFO L290 TraceCheckUtils]: 60: Hoare triple {1468#(= ~M1~0 (+ ~counter~0 ~M2~0))} [240] thread2EXIT-->L75-2: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar2_4) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem12#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ .cse0 (- 4294967296)))) v_thread2Thread1of1ForFork1_thidvar0_4) (= 0 v_thread2Thread1of1ForFork1_thidvar1_4)) InVars {thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, ULTIMATE.start_main_#t~mem12#1=|v_ULTIMATE.start_main_#t~mem12#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~mem12#1=|v_ULTIMATE.start_main_#t~mem12#1_5|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} AuxVars[] AssignedVars[] {1468#(= ~M1~0 (+ ~counter~0 ~M2~0))} is VALID [2022-02-20 20:56:05,480 INFO L290 TraceCheckUtils]: 61: Hoare triple {1468#(= ~M1~0 (+ ~counter~0 ~M2~0))} [195] L75-2-->L77: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem12#1=|v_ULTIMATE.start_main_#t~mem12#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem12#1] {1468#(= ~M1~0 (+ ~counter~0 ~M2~0))} is VALID [2022-02-20 20:56:05,481 INFO L290 TraceCheckUtils]: 62: Hoare triple {1468#(= ~M1~0 (+ ~counter~0 ~M2~0))} [147] L77-->L77-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1468#(= ~M1~0 (+ ~counter~0 ~M2~0))} is VALID [2022-02-20 20:56:05,481 INFO L290 TraceCheckUtils]: 63: Hoare triple {1468#(= ~M1~0 (+ ~counter~0 ~M2~0))} [163] L77-1-->L77-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3| (ite (not (= v_~counter~0_8 (+ (* (- 1) v_~M2~0_6) v_~M1~0_6))) 1 0)) InVars {~counter~0=v_~counter~0_8, ~M1~0=v_~M1~0_6, ~M2~0=v_~M2~0_6} OutVars{~counter~0=v_~counter~0_8, ~M1~0=v_~M1~0_6, ~M2~0=v_~M2~0_6, 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] {1469#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} is VALID [2022-02-20 20:56:05,483 INFO L290 TraceCheckUtils]: 64: Hoare triple {1469#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} [186] 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] {1469#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} is VALID [2022-02-20 20:56:05,483 INFO L290 TraceCheckUtils]: 65: Hoare triple {1469#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} [183] 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] {1470#(= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0)} is VALID [2022-02-20 20:56:05,484 INFO L290 TraceCheckUtils]: 66: Hoare triple {1470#(= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0)} [149] 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[] {1457#false} is VALID [2022-02-20 20:56:05,484 INFO L290 TraceCheckUtils]: 67: Hoare triple {1457#false} [157] L34-3-->L78: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1457#false} is VALID [2022-02-20 20:56:05,484 INFO L290 TraceCheckUtils]: 68: Hoare triple {1457#false} [164] L78-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1457#false} is VALID [2022-02-20 20:56:05,486 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 20:56:05,486 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 20:56:05,486 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2118824917] [2022-02-20 20:56:05,486 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2118824917] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 20:56:05,487 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [401642504] [2022-02-20 20:56:05,487 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:56:05,487 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 20:56:05,487 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 20:56:05,492 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 20:56:05,514 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-02-20 20:56:05,561 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:56:05,562 INFO L263 TraceCheckSpWp]: Trace formula consists of 155 conjuncts, 20 conjunts are in the unsatisfiable core [2022-02-20 20:56:05,593 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:56:05,597 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 20:56:06,341 INFO L290 TraceCheckUtils]: 0: Hoare triple {1456#true} [200] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1456#true} is VALID [2022-02-20 20:56:06,341 INFO L290 TraceCheckUtils]: 1: Hoare triple {1456#true} [181] L-1-->L-1-1: Formula: (and (= |v_#NULL.base_1| 0) (= |v_#NULL.offset_1| 0)) InVars {} OutVars{#NULL.offset=|v_#NULL.offset_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {1456#true} is VALID [2022-02-20 20:56:06,341 INFO L290 TraceCheckUtils]: 2: Hoare triple {1456#true} [204] 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[] {1456#true} is VALID [2022-02-20 20:56:06,341 INFO L290 TraceCheckUtils]: 3: Hoare triple {1456#true} [205] L-1-2-->L21: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {1456#true} is VALID [2022-02-20 20:56:06,342 INFO L290 TraceCheckUtils]: 4: Hoare triple {1456#true} [172] 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[] {1456#true} is VALID [2022-02-20 20:56:06,342 INFO L290 TraceCheckUtils]: 5: Hoare triple {1456#true} [196] 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[] {1456#true} is VALID [2022-02-20 20:56:06,342 INFO L290 TraceCheckUtils]: 6: Hoare triple {1456#true} [193] 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[] {1456#true} is VALID [2022-02-20 20:56:06,342 INFO L290 TraceCheckUtils]: 7: Hoare triple {1456#true} [159] L21-3-->L21-4: Formula: (and (= 34 (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[] {1456#true} is VALID [2022-02-20 20:56:06,342 INFO L290 TraceCheckUtils]: 8: Hoare triple {1456#true} [213] L21-4-->L38: Formula: (= 0 v_~M1~0_3) InVars {} OutVars{~M1~0=v_~M1~0_3} AuxVars[] AssignedVars[~M1~0] {1456#true} is VALID [2022-02-20 20:56:06,342 INFO L290 TraceCheckUtils]: 9: Hoare triple {1456#true} [214] L38-->L38-1: Formula: (= 0 v_~M2~0_3) InVars {} OutVars{~M2~0=v_~M2~0_3} AuxVars[] AssignedVars[~M2~0] {1456#true} is VALID [2022-02-20 20:56:06,343 INFO L290 TraceCheckUtils]: 10: Hoare triple {1456#true} [162] L38-1-->L-1-3: Formula: (= v_~counter~0_7 0) InVars {} OutVars{~counter~0=v_~counter~0_7} AuxVars[] AssignedVars[~counter~0] {1458#(= ~counter~0 0)} is VALID [2022-02-20 20:56:06,343 INFO L290 TraceCheckUtils]: 11: Hoare triple {1458#(= ~counter~0 0)} [209] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1458#(= ~counter~0 0)} is VALID [2022-02-20 20:56:06,343 INFO L290 TraceCheckUtils]: 12: Hoare triple {1458#(= ~counter~0 0)} [190] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1458#(= ~counter~0 0)} is VALID [2022-02-20 20:56:06,343 INFO L290 TraceCheckUtils]: 13: Hoare triple {1458#(= ~counter~0 0)} [154] 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] {1458#(= ~counter~0 0)} is VALID [2022-02-20 20:56:06,344 INFO L290 TraceCheckUtils]: 14: Hoare triple {1458#(= ~counter~0 0)} [187] L-1-6-->L65: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_1|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#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_#t~mem12#1=|v_ULTIMATE.start_main_#t~mem12#1_1|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_1|, ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_1|, ULTIMATE.start_main_#t~nondet8#1=|v_ULTIMATE.start_main_#t~nondet8#1_1|, ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#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~nondet10#1, ULTIMATE.start_main_#t~pre9#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_#t~nondet5#1, ULTIMATE.start_main_#t~nondet8#1, ULTIMATE.start_main_#t~nondet6#1, ULTIMATE.start_main_#t~mem11#1, ULTIMATE.start_main_#t~pre7#1, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_#t~mem12#1, ULTIMATE.start_main_~#t1~0#1.offset, ULTIMATE.start_main_~#t2~0#1.base] {1458#(= ~counter~0 0)} is VALID [2022-02-20 20:56:06,344 INFO L290 TraceCheckUtils]: 15: Hoare triple {1458#(= ~counter~0 0)} [216] 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] {1458#(= ~counter~0 0)} is VALID [2022-02-20 20:56:06,344 INFO L290 TraceCheckUtils]: 16: Hoare triple {1458#(= ~counter~0 0)} [201] 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] {1458#(= ~counter~0 0)} is VALID [2022-02-20 20:56:06,345 INFO L290 TraceCheckUtils]: 17: Hoare triple {1458#(= ~counter~0 0)} [180] L65-2-->L67: Formula: (and (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet5#1_2| 2147483648)) (<= |v_ULTIMATE.start_main_#t~nondet5#1_2| 2147483647)) InVars {ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_2|} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_2|} AuxVars[] AssignedVars[] {1458#(= ~counter~0 0)} is VALID [2022-02-20 20:56:06,345 INFO L290 TraceCheckUtils]: 18: Hoare triple {1458#(= ~counter~0 0)} [199] L67-->L67-1: Formula: (= |v_ULTIMATE.start_main_#t~nondet5#1_3| v_~M1~0_4) InVars {ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_3|} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_3|, ~M1~0=v_~M1~0_4} AuxVars[] AssignedVars[~M1~0] {1458#(= ~counter~0 0)} is VALID [2022-02-20 20:56:06,345 INFO L290 TraceCheckUtils]: 19: Hoare triple {1458#(= ~counter~0 0)} [168] L67-1-->L68: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet5#1] {1458#(= ~counter~0 0)} is VALID [2022-02-20 20:56:06,346 INFO L290 TraceCheckUtils]: 20: Hoare triple {1458#(= ~counter~0 0)} [203] L68-->L68-1: Formula: (and (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet6#1_2| 2147483648)) (<= |v_ULTIMATE.start_main_#t~nondet6#1_2| 2147483647)) InVars {ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_2|} OutVars{ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_2|} AuxVars[] AssignedVars[] {1458#(= ~counter~0 0)} is VALID [2022-02-20 20:56:06,346 INFO L290 TraceCheckUtils]: 21: Hoare triple {1458#(= ~counter~0 0)} [166] L68-1-->L68-2: Formula: (= |v_ULTIMATE.start_main_#t~nondet6#1_3| v_~M2~0_4) InVars {ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_3|} OutVars{~M2~0=v_~M2~0_4, ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_3|} AuxVars[] AssignedVars[~M2~0] {1458#(= ~counter~0 0)} is VALID [2022-02-20 20:56:06,347 INFO L290 TraceCheckUtils]: 22: Hoare triple {1458#(= ~counter~0 0)} [146] L68-2-->L69: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet6#1] {1458#(= ~counter~0 0)} is VALID [2022-02-20 20:56:06,347 INFO L290 TraceCheckUtils]: 23: Hoare triple {1458#(= ~counter~0 0)} [153] L69-->L69-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1458#(= ~counter~0 0)} is VALID [2022-02-20 20:56:06,347 INFO L290 TraceCheckUtils]: 24: Hoare triple {1458#(= ~counter~0 0)} [206] L69-1-->L69-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1| (ite (and (< 0 v_~M2~0_5) (< 0 v_~M1~0_5)) 1 0)) InVars {~M2~0=v_~M2~0_5, ~M1~0=v_~M1~0_5} OutVars{~M1~0=v_~M1~0_5, ~M2~0=v_~M2~0_5, 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] {1458#(= ~counter~0 0)} is VALID [2022-02-20 20:56:06,348 INFO L290 TraceCheckUtils]: 25: Hoare triple {1458#(= ~counter~0 0)} [178] 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] {1458#(= ~counter~0 0)} is VALID [2022-02-20 20:56:06,348 INFO L290 TraceCheckUtils]: 26: Hoare triple {1458#(= ~counter~0 0)} [170] 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] {1458#(= ~counter~0 0)} is VALID [2022-02-20 20:56:06,348 INFO L290 TraceCheckUtils]: 27: Hoare triple {1458#(= ~counter~0 0)} [198] 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[] {1458#(= ~counter~0 0)} is VALID [2022-02-20 20:56:06,348 INFO L290 TraceCheckUtils]: 28: Hoare triple {1458#(= ~counter~0 0)} [191] L34-1-->L72: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1458#(= ~counter~0 0)} is VALID [2022-02-20 20:56:06,349 INFO L290 TraceCheckUtils]: 29: Hoare triple {1458#(= ~counter~0 0)} [215] L72-->L72-1: Formula: (= |v_ULTIMATE.start_main_#t~pre7#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre7#1] {1458#(= ~counter~0 0)} is VALID [2022-02-20 20:56:06,349 INFO L290 TraceCheckUtils]: 30: Hoare triple {1458#(= ~counter~0 0)} [134] 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] {1458#(= ~counter~0 0)} is VALID [2022-02-20 20:56:06,349 INFO L290 TraceCheckUtils]: 31: Hoare triple {1458#(= ~counter~0 0)} [142] 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~pre7#1_3|)) |v_#memory_int_3|) InVars {#memory_int=|v_#memory_int_4|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} OutVars{#memory_int=|v_#memory_int_3|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} AuxVars[] AssignedVars[#memory_int] {1458#(= ~counter~0 0)} is VALID [2022-02-20 20:56:06,350 INFO L290 TraceCheckUtils]: 32: Hoare triple {1458#(= ~counter~0 0)} [236] L72-3-->thread1ENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre7#1_6| v_thread1Thread1of1ForFork0_thidvar0_2) (= v_thread1Thread1of1ForFork0_thidvar1_2 0)) InVars {ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_6|} OutVars{thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_4|, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_8|, thread1Thread1of1ForFork0_#t~post2=|v_thread1Thread1of1ForFork0_#t~post2_4|, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_12, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_2, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_4|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_2, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_6|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#t~post1, thread1Thread1of1ForFork0_#t~post2, thread1Thread1of1ForFork0_~i~0, thread1Thread1of1ForFork0_thidvar0, thread1Thread1of1ForFork0_#res.offset, thread1Thread1of1ForFork0_thidvar1] {1458#(= ~counter~0 0)} is VALID [2022-02-20 20:56:06,350 INFO L290 TraceCheckUtils]: 33: Hoare triple {1458#(= ~counter~0 0)} [218] 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] {1459#(and (= thread1Thread1of1ForFork0_~i~0 0) (= ~counter~0 0))} is VALID [2022-02-20 20:56:06,350 INFO L290 TraceCheckUtils]: 34: Hoare triple {1459#(and (= thread1Thread1of1ForFork0_~i~0 0) (= ~counter~0 0))} [207] L72-4-->L72-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] {1459#(and (= thread1Thread1of1ForFork0_~i~0 0) (= ~counter~0 0))} is VALID [2022-02-20 20:56:06,351 INFO L290 TraceCheckUtils]: 35: Hoare triple {1459#(and (= thread1Thread1of1ForFork0_~i~0 0) (= ~counter~0 0))} [137] L72-5-->L73: 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] {1459#(and (= thread1Thread1of1ForFork0_~i~0 0) (= ~counter~0 0))} is VALID [2022-02-20 20:56:06,351 INFO L290 TraceCheckUtils]: 36: Hoare triple {1459#(and (= thread1Thread1of1ForFork0_~i~0 0) (= ~counter~0 0))} [174] L73-->L73-1: Formula: (= |v_ULTIMATE.start_main_#t~pre9#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre9#1] {1459#(and (= thread1Thread1of1ForFork0_~i~0 0) (= ~counter~0 0))} is VALID [2022-02-20 20:56:06,351 INFO L290 TraceCheckUtils]: 37: Hoare triple {1459#(and (= thread1Thread1of1ForFork0_~i~0 0) (= ~counter~0 0))} [189] 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] {1459#(and (= thread1Thread1of1ForFork0_~i~0 0) (= ~counter~0 0))} is VALID [2022-02-20 20:56:06,352 INFO L290 TraceCheckUtils]: 38: Hoare triple {1459#(and (= thread1Thread1of1ForFork0_~i~0 0) (= ~counter~0 0))} [175] 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~pre9#1_3|)) |v_#memory_int_5|) InVars {#memory_int=|v_#memory_int_6|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#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~pre9#1=|v_ULTIMATE.start_main_#t~pre9#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] {1459#(and (= thread1Thread1of1ForFork0_~i~0 0) (= ~counter~0 0))} is VALID [2022-02-20 20:56:06,352 INFO L290 TraceCheckUtils]: 39: Hoare triple {1459#(and (= thread1Thread1of1ForFork0_~i~0 0) (= ~counter~0 0))} [238] L73-3-->thread2ENTRY: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar1_2) (= |v_ULTIMATE.start_main_#t~pre9#1_6| v_thread2Thread1of1ForFork1_thidvar0_2) (= 0 v_thread2Thread1of1ForFork1_thidvar2_2)) InVars {ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_6|} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_4|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_12, thread2Thread1of1ForFork1_#t~post4=|v_thread2Thread1of1ForFork1_#t~post4_6|, thread2Thread1of1ForFork1_#t~post3=|v_thread2Thread1of1ForFork1_#t~post3_6|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_6|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_4|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_2, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_2, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_2} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_~i~1, thread2Thread1of1ForFork1_#t~post4, thread2Thread1of1ForFork1_#t~post3, thread2Thread1of1ForFork1_#res.base, thread2Thread1of1ForFork1_thidvar2, thread2Thread1of1ForFork1_thidvar0, thread2Thread1of1ForFork1_thidvar1] {1459#(and (= thread1Thread1of1ForFork0_~i~0 0) (= ~counter~0 0))} is VALID [2022-02-20 20:56:06,353 INFO L290 TraceCheckUtils]: 40: Hoare triple {1459#(and (= thread1Thread1of1ForFork0_~i~0 0) (= ~counter~0 0))} [221] L41-4-->L42: Formula: (< v_thread1Thread1of1ForFork0_~i~0_5 v_~M1~0_2) InVars {thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_5, ~M1~0=v_~M1~0_2} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_5, ~M1~0=v_~M1~0_2} AuxVars[] AssignedVars[] {1460#(and (= thread1Thread1of1ForFork0_~i~0 0) (= ~counter~0 0) (<= (+ thread1Thread1of1ForFork0_~i~0 1) ~M1~0))} is VALID [2022-02-20 20:56:06,353 INFO L290 TraceCheckUtils]: 41: Hoare triple {1460#(and (= thread1Thread1of1ForFork0_~i~0 0) (= ~counter~0 0) (<= (+ thread1Thread1of1ForFork0_~i~0 1) ~M1~0))} [223] L42-->L44: Formula: (= (+ v_~counter~0_26 1) v_~counter~0_25) InVars {~counter~0=v_~counter~0_26} OutVars{~counter~0=v_~counter~0_25, thread1Thread1of1ForFork0_#t~post2=|v_thread1Thread1of1ForFork0_#t~post2_1|} AuxVars[] AssignedVars[~counter~0, thread1Thread1of1ForFork0_#t~post2] {1597#(and (= thread1Thread1of1ForFork0_~i~0 0) (= ~counter~0 1) (<= (+ thread1Thread1of1ForFork0_~i~0 1) ~M1~0))} is VALID [2022-02-20 20:56:06,353 INFO L290 TraceCheckUtils]: 42: Hoare triple {1597#(and (= thread1Thread1of1ForFork0_~i~0 0) (= ~counter~0 1) (<= (+ thread1Thread1of1ForFork0_~i~0 1) ~M1~0))} [225] 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] {1601#(and (<= 1 ~M1~0) (= ~counter~0 1) (<= |thread1Thread1of1ForFork0_#t~post1| 0))} is VALID [2022-02-20 20:56:06,354 INFO L290 TraceCheckUtils]: 43: Hoare triple {1601#(and (<= 1 ~M1~0) (= ~counter~0 1) (<= |thread1Thread1of1ForFork0_#t~post1| 0))} [226] 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] {1605#(and (<= thread1Thread1of1ForFork0_~i~0 1) (<= 1 ~M1~0) (= ~counter~0 1))} is VALID [2022-02-20 20:56:06,355 INFO L290 TraceCheckUtils]: 44: Hoare triple {1605#(and (<= thread1Thread1of1ForFork0_~i~0 1) (<= 1 ~M1~0) (= ~counter~0 1))} [227] L41-3-->L41-4: Formula: true InVars {} OutVars{thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_5|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1] {1605#(and (<= thread1Thread1of1ForFork0_~i~0 1) (<= 1 ~M1~0) (= ~counter~0 1))} is VALID [2022-02-20 20:56:06,355 INFO L290 TraceCheckUtils]: 45: Hoare triple {1605#(and (<= thread1Thread1of1ForFork0_~i~0 1) (<= 1 ~M1~0) (= ~counter~0 1))} [220] L41-4-->L41-5: Formula: (not (< v_thread1Thread1of1ForFork0_~i~0_3 v_~M1~0_1)) InVars {thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_3, ~M1~0=v_~M1~0_1} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_3, ~M1~0=v_~M1~0_1} AuxVars[] AssignedVars[] {1612#(and (<= ~M1~0 1) (<= 1 ~M1~0) (= ~counter~0 1))} is VALID [2022-02-20 20:56:06,356 INFO L290 TraceCheckUtils]: 46: Hoare triple {1612#(and (<= ~M1~0 1) (<= 1 ~M1~0) (= ~counter~0 1))} [222] 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] {1612#(and (<= ~M1~0 1) (<= 1 ~M1~0) (= ~counter~0 1))} is VALID [2022-02-20 20:56:06,356 INFO L290 TraceCheckUtils]: 47: Hoare triple {1612#(and (<= ~M1~0 1) (<= 1 ~M1~0) (= ~counter~0 1))} [224] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1612#(and (<= ~M1~0 1) (<= 1 ~M1~0) (= ~counter~0 1))} is VALID [2022-02-20 20:56:06,357 INFO L290 TraceCheckUtils]: 48: Hoare triple {1612#(and (<= ~M1~0 1) (<= 1 ~M1~0) (= ~counter~0 1))} [177] L73-4-->L73-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre9#1] {1612#(and (<= ~M1~0 1) (<= 1 ~M1~0) (= ~counter~0 1))} is VALID [2022-02-20 20:56:06,357 INFO L290 TraceCheckUtils]: 49: Hoare triple {1612#(and (<= ~M1~0 1) (<= 1 ~M1~0) (= ~counter~0 1))} [176] L73-5-->L74: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet10#1] {1612#(and (<= ~M1~0 1) (<= 1 ~M1~0) (= ~counter~0 1))} is VALID [2022-02-20 20:56:06,357 INFO L290 TraceCheckUtils]: 50: Hoare triple {1612#(and (<= ~M1~0 1) (<= 1 ~M1~0) (= ~counter~0 1))} [135] L74-->L74-1: Formula: (= |v_ULTIMATE.start_main_#t~mem11#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{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_2|, #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|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem11#1] {1612#(and (<= ~M1~0 1) (<= 1 ~M1~0) (= ~counter~0 1))} is VALID [2022-02-20 20:56:06,358 INFO L290 TraceCheckUtils]: 51: Hoare triple {1612#(and (<= ~M1~0 1) (<= 1 ~M1~0) (= ~counter~0 1))} [239] thread1EXIT-->L74-2: Formula: (and (= v_thread1Thread1of1ForFork0_thidvar1_4 0) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem11#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ (- 4294967296) .cse0))) v_thread1Thread1of1ForFork0_thidvar0_4)) InVars {ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_5|, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_5|, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4} AuxVars[] AssignedVars[] {1612#(and (<= ~M1~0 1) (<= 1 ~M1~0) (= ~counter~0 1))} is VALID [2022-02-20 20:56:06,358 INFO L290 TraceCheckUtils]: 52: Hoare triple {1612#(and (<= ~M1~0 1) (<= 1 ~M1~0) (= ~counter~0 1))} [182] L74-2-->L75: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem11#1] {1612#(and (<= ~M1~0 1) (<= 1 ~M1~0) (= ~counter~0 1))} is VALID [2022-02-20 20:56:06,358 INFO L290 TraceCheckUtils]: 53: Hoare triple {1612#(and (<= ~M1~0 1) (<= 1 ~M1~0) (= ~counter~0 1))} [208] 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~mem12#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~mem12#1=|v_ULTIMATE.start_main_#t~mem12#1_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem12#1] {1612#(and (<= ~M1~0 1) (<= 1 ~M1~0) (= ~counter~0 1))} is VALID [2022-02-20 20:56:06,359 INFO L290 TraceCheckUtils]: 54: Hoare triple {1612#(and (<= ~M1~0 1) (<= 1 ~M1~0) (= ~counter~0 1))} [228] 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] {1640#(and (<= ~M1~0 1) (<= 1 ~M1~0) (= thread2Thread1of1ForFork1_~i~1 0) (= ~counter~0 1))} is VALID [2022-02-20 20:56:06,359 INFO L290 TraceCheckUtils]: 55: Hoare triple {1640#(and (<= ~M1~0 1) (<= 1 ~M1~0) (= thread2Thread1of1ForFork1_~i~1 0) (= ~counter~0 1))} [231] L54-1-->L53: Formula: (< v_thread2Thread1of1ForFork1_~i~1_5 v_~M2~0_2) InVars {~M2~0=v_~M2~0_2, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_5} OutVars{~M2~0=v_~M2~0_2, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_5} AuxVars[] AssignedVars[] {1644#(and (<= ~M1~0 1) (<= 1 ~M1~0) (= thread2Thread1of1ForFork1_~i~1 0) (< thread2Thread1of1ForFork1_~i~1 ~M2~0) (= ~counter~0 1))} is VALID [2022-02-20 20:56:06,360 INFO L290 TraceCheckUtils]: 56: Hoare triple {1644#(and (<= ~M1~0 1) (<= 1 ~M1~0) (= thread2Thread1of1ForFork1_~i~1 0) (< thread2Thread1of1ForFork1_~i~1 ~M2~0) (= ~counter~0 1))} [233] L53-->L54-1: Formula: (let ((.cse0 (< 0 v_~counter~0_In_1))) (or (and .cse0 (= v_~counter~0_In_1 (+ v_~counter~0_Out_2 1)) (= (+ v_thread2Thread1of1ForFork1_~i~1_7 1) v_thread2Thread1of1ForFork1_~i~1_8)) (and (= v_~counter~0_Out_2 v_~counter~0_In_1) (= v_thread2Thread1of1ForFork1_~i~1_8 v_thread2Thread1of1ForFork1_~i~1_7) (not .cse0) (= |v_thread2Thread1of1ForFork1_#t~post3_1| |v_thread2Thread1of1ForFork1_#t~post3_2|) (= |v_thread2Thread1of1ForFork1_#t~post4_2| |v_thread2Thread1of1ForFork1_#t~post4_1|)))) InVars {~counter~0=v_~counter~0_In_1, thread2Thread1of1ForFork1_#t~post4=|v_thread2Thread1of1ForFork1_#t~post4_1|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_7, thread2Thread1of1ForFork1_#t~post3=|v_thread2Thread1of1ForFork1_#t~post3_1|} OutVars{~counter~0=v_~counter~0_Out_2, thread2Thread1of1ForFork1_#t~post4=|v_thread2Thread1of1ForFork1_#t~post4_2|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_8, thread2Thread1of1ForFork1_#t~post3=|v_thread2Thread1of1ForFork1_#t~post3_2|} AuxVars[] AssignedVars[~counter~0, thread2Thread1of1ForFork1_#t~post4, thread2Thread1of1ForFork1_~i~1, thread2Thread1of1ForFork1_#t~post3] {1648#(and (<= ~M1~0 1) (= thread2Thread1of1ForFork1_~i~1 1) (= (+ ~counter~0 1) 1) (<= 1 ~M1~0) (< 0 ~M2~0))} is VALID [2022-02-20 20:56:06,360 INFO L290 TraceCheckUtils]: 57: Hoare triple {1648#(and (<= ~M1~0 1) (= thread2Thread1of1ForFork1_~i~1 1) (= (+ ~counter~0 1) 1) (<= 1 ~M1~0) (< 0 ~M2~0))} [230] L54-1-->L52-2: Formula: (not (< v_thread2Thread1of1ForFork1_~i~1_3 v_~M2~0_1)) InVars {~M2~0=v_~M2~0_1, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_3} OutVars{~M2~0=v_~M2~0_1, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_3} AuxVars[] AssignedVars[] {1652#(and (<= ~M1~0 1) (= (+ ~counter~0 1) 1) (<= 1 ~M1~0) (not (< 1 ~M2~0)) (< 0 ~M2~0))} is VALID [2022-02-20 20:56:06,361 INFO L290 TraceCheckUtils]: 58: Hoare triple {1652#(and (<= ~M1~0 1) (= (+ ~counter~0 1) 1) (<= 1 ~M1~0) (not (< 1 ~M2~0)) (< 0 ~M2~0))} [232] 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] {1652#(and (<= ~M1~0 1) (= (+ ~counter~0 1) 1) (<= 1 ~M1~0) (not (< 1 ~M2~0)) (< 0 ~M2~0))} is VALID [2022-02-20 20:56:06,362 INFO L290 TraceCheckUtils]: 59: Hoare triple {1652#(and (<= ~M1~0 1) (= (+ ~counter~0 1) 1) (<= 1 ~M1~0) (not (< 1 ~M2~0)) (< 0 ~M2~0))} [234] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1652#(and (<= ~M1~0 1) (= (+ ~counter~0 1) 1) (<= 1 ~M1~0) (not (< 1 ~M2~0)) (< 0 ~M2~0))} is VALID [2022-02-20 20:56:06,362 INFO L290 TraceCheckUtils]: 60: Hoare triple {1652#(and (<= ~M1~0 1) (= (+ ~counter~0 1) 1) (<= 1 ~M1~0) (not (< 1 ~M2~0)) (< 0 ~M2~0))} [240] thread2EXIT-->L75-2: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar2_4) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem12#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ .cse0 (- 4294967296)))) v_thread2Thread1of1ForFork1_thidvar0_4) (= 0 v_thread2Thread1of1ForFork1_thidvar1_4)) InVars {thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, ULTIMATE.start_main_#t~mem12#1=|v_ULTIMATE.start_main_#t~mem12#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~mem12#1=|v_ULTIMATE.start_main_#t~mem12#1_5|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} AuxVars[] AssignedVars[] {1652#(and (<= ~M1~0 1) (= (+ ~counter~0 1) 1) (<= 1 ~M1~0) (not (< 1 ~M2~0)) (< 0 ~M2~0))} is VALID [2022-02-20 20:56:06,362 INFO L290 TraceCheckUtils]: 61: Hoare triple {1652#(and (<= ~M1~0 1) (= (+ ~counter~0 1) 1) (<= 1 ~M1~0) (not (< 1 ~M2~0)) (< 0 ~M2~0))} [195] L75-2-->L77: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem12#1=|v_ULTIMATE.start_main_#t~mem12#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem12#1] {1652#(and (<= ~M1~0 1) (= (+ ~counter~0 1) 1) (<= 1 ~M1~0) (not (< 1 ~M2~0)) (< 0 ~M2~0))} is VALID [2022-02-20 20:56:06,363 INFO L290 TraceCheckUtils]: 62: Hoare triple {1652#(and (<= ~M1~0 1) (= (+ ~counter~0 1) 1) (<= 1 ~M1~0) (not (< 1 ~M2~0)) (< 0 ~M2~0))} [147] L77-->L77-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1652#(and (<= ~M1~0 1) (= (+ ~counter~0 1) 1) (<= 1 ~M1~0) (not (< 1 ~M2~0)) (< 0 ~M2~0))} is VALID [2022-02-20 20:56:06,363 INFO L290 TraceCheckUtils]: 63: Hoare triple {1652#(and (<= ~M1~0 1) (= (+ ~counter~0 1) 1) (<= 1 ~M1~0) (not (< 1 ~M2~0)) (< 0 ~M2~0))} [163] L77-1-->L77-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3| (ite (not (= v_~counter~0_8 (+ (* (- 1) v_~M2~0_6) v_~M1~0_6))) 1 0)) InVars {~counter~0=v_~counter~0_8, ~M1~0=v_~M1~0_6, ~M2~0=v_~M2~0_6} OutVars{~counter~0=v_~counter~0_8, ~M1~0=v_~M1~0_6, ~M2~0=v_~M2~0_6, 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] {1469#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} is VALID [2022-02-20 20:56:06,364 INFO L290 TraceCheckUtils]: 64: Hoare triple {1469#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} [186] 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] {1469#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} is VALID [2022-02-20 20:56:06,364 INFO L290 TraceCheckUtils]: 65: Hoare triple {1469#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} [183] 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] {1470#(= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0)} is VALID [2022-02-20 20:56:06,364 INFO L290 TraceCheckUtils]: 66: Hoare triple {1470#(= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0)} [149] 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[] {1457#false} is VALID [2022-02-20 20:56:06,364 INFO L290 TraceCheckUtils]: 67: Hoare triple {1457#false} [157] L34-3-->L78: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1457#false} is VALID [2022-02-20 20:56:06,364 INFO L290 TraceCheckUtils]: 68: Hoare triple {1457#false} [164] L78-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1457#false} is VALID [2022-02-20 20:56:06,365 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 20:56:06,365 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 20:56:07,159 INFO L290 TraceCheckUtils]: 68: Hoare triple {1457#false} [164] L78-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1457#false} is VALID [2022-02-20 20:56:07,159 INFO L290 TraceCheckUtils]: 67: Hoare triple {1457#false} [157] L34-3-->L78: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1457#false} is VALID [2022-02-20 20:56:07,160 INFO L290 TraceCheckUtils]: 66: Hoare triple {1470#(= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0)} [149] 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[] {1457#false} is VALID [2022-02-20 20:56:07,160 INFO L290 TraceCheckUtils]: 65: Hoare triple {1469#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} [183] 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] {1470#(= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0)} is VALID [2022-02-20 20:56:07,161 INFO L290 TraceCheckUtils]: 64: Hoare triple {1469#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} [186] 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] {1469#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} is VALID [2022-02-20 20:56:07,161 INFO L290 TraceCheckUtils]: 63: Hoare triple {1468#(= ~M1~0 (+ ~counter~0 ~M2~0))} [163] L77-1-->L77-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3| (ite (not (= v_~counter~0_8 (+ (* (- 1) v_~M2~0_6) v_~M1~0_6))) 1 0)) InVars {~counter~0=v_~counter~0_8, ~M1~0=v_~M1~0_6, ~M2~0=v_~M2~0_6} OutVars{~counter~0=v_~counter~0_8, ~M1~0=v_~M1~0_6, ~M2~0=v_~M2~0_6, 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] {1469#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} is VALID [2022-02-20 20:56:07,161 INFO L290 TraceCheckUtils]: 62: Hoare triple {1468#(= ~M1~0 (+ ~counter~0 ~M2~0))} [147] L77-->L77-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1468#(= ~M1~0 (+ ~counter~0 ~M2~0))} is VALID [2022-02-20 20:56:07,164 INFO L290 TraceCheckUtils]: 61: Hoare triple {1468#(= ~M1~0 (+ ~counter~0 ~M2~0))} [195] L75-2-->L77: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem12#1=|v_ULTIMATE.start_main_#t~mem12#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem12#1] {1468#(= ~M1~0 (+ ~counter~0 ~M2~0))} is VALID [2022-02-20 20:56:07,165 INFO L290 TraceCheckUtils]: 60: Hoare triple {1468#(= ~M1~0 (+ ~counter~0 ~M2~0))} [240] thread2EXIT-->L75-2: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar2_4) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem12#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ .cse0 (- 4294967296)))) v_thread2Thread1of1ForFork1_thidvar0_4) (= 0 v_thread2Thread1of1ForFork1_thidvar1_4)) InVars {thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, ULTIMATE.start_main_#t~mem12#1=|v_ULTIMATE.start_main_#t~mem12#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~mem12#1=|v_ULTIMATE.start_main_#t~mem12#1_5|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} AuxVars[] AssignedVars[] {1468#(= ~M1~0 (+ ~counter~0 ~M2~0))} is VALID [2022-02-20 20:56:07,165 INFO L290 TraceCheckUtils]: 59: Hoare triple {1468#(= ~M1~0 (+ ~counter~0 ~M2~0))} [234] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1468#(= ~M1~0 (+ ~counter~0 ~M2~0))} is VALID [2022-02-20 20:56:07,166 INFO L290 TraceCheckUtils]: 58: Hoare triple {1468#(= ~M1~0 (+ ~counter~0 ~M2~0))} [232] 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] {1468#(= ~M1~0 (+ ~counter~0 ~M2~0))} is VALID [2022-02-20 20:56:07,170 INFO L290 TraceCheckUtils]: 57: Hoare triple {1719#(or (= ~M1~0 (+ ~counter~0 ~M2~0)) (< thread2Thread1of1ForFork1_~i~1 ~M2~0))} [230] L54-1-->L52-2: Formula: (not (< v_thread2Thread1of1ForFork1_~i~1_3 v_~M2~0_1)) InVars {~M2~0=v_~M2~0_1, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_3} OutVars{~M2~0=v_~M2~0_1, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_3} AuxVars[] AssignedVars[] {1468#(= ~M1~0 (+ ~counter~0 ~M2~0))} is VALID [2022-02-20 20:56:07,171 INFO L290 TraceCheckUtils]: 56: Hoare triple {1723#(and (or (< 0 ~counter~0) (= ~M1~0 (+ ~counter~0 ~M2~0)) (< thread2Thread1of1ForFork1_~i~1 ~M2~0)) (or (< (+ thread2Thread1of1ForFork1_~i~1 1) ~M2~0) (not (< 0 ~counter~0)) (= (+ ~counter~0 (- 1) ~M2~0) ~M1~0)))} [233] L53-->L54-1: Formula: (let ((.cse0 (< 0 v_~counter~0_In_1))) (or (and .cse0 (= v_~counter~0_In_1 (+ v_~counter~0_Out_2 1)) (= (+ v_thread2Thread1of1ForFork1_~i~1_7 1) v_thread2Thread1of1ForFork1_~i~1_8)) (and (= v_~counter~0_Out_2 v_~counter~0_In_1) (= v_thread2Thread1of1ForFork1_~i~1_8 v_thread2Thread1of1ForFork1_~i~1_7) (not .cse0) (= |v_thread2Thread1of1ForFork1_#t~post3_1| |v_thread2Thread1of1ForFork1_#t~post3_2|) (= |v_thread2Thread1of1ForFork1_#t~post4_2| |v_thread2Thread1of1ForFork1_#t~post4_1|)))) InVars {~counter~0=v_~counter~0_In_1, thread2Thread1of1ForFork1_#t~post4=|v_thread2Thread1of1ForFork1_#t~post4_1|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_7, thread2Thread1of1ForFork1_#t~post3=|v_thread2Thread1of1ForFork1_#t~post3_1|} OutVars{~counter~0=v_~counter~0_Out_2, thread2Thread1of1ForFork1_#t~post4=|v_thread2Thread1of1ForFork1_#t~post4_2|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_8, thread2Thread1of1ForFork1_#t~post3=|v_thread2Thread1of1ForFork1_#t~post3_2|} AuxVars[] AssignedVars[~counter~0, thread2Thread1of1ForFork1_#t~post4, thread2Thread1of1ForFork1_~i~1, thread2Thread1of1ForFork1_#t~post3] {1719#(or (= ~M1~0 (+ ~counter~0 ~M2~0)) (< thread2Thread1of1ForFork1_~i~1 ~M2~0))} is VALID [2022-02-20 20:56:07,171 INFO L290 TraceCheckUtils]: 55: Hoare triple {1727#(or (not (< 0 ~counter~0)) (and (<= ~M1~0 (+ ~counter~0 thread2Thread1of1ForFork1_~i~1)) (<= (+ ~counter~0 thread2Thread1of1ForFork1_~i~1) ~M1~0)))} [231] L54-1-->L53: Formula: (< v_thread2Thread1of1ForFork1_~i~1_5 v_~M2~0_2) InVars {~M2~0=v_~M2~0_2, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_5} OutVars{~M2~0=v_~M2~0_2, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_5} AuxVars[] AssignedVars[] {1723#(and (or (< 0 ~counter~0) (= ~M1~0 (+ ~counter~0 ~M2~0)) (< thread2Thread1of1ForFork1_~i~1 ~M2~0)) (or (< (+ thread2Thread1of1ForFork1_~i~1 1) ~M2~0) (not (< 0 ~counter~0)) (= (+ ~counter~0 (- 1) ~M2~0) ~M1~0)))} is VALID [2022-02-20 20:56:07,172 INFO L290 TraceCheckUtils]: 54: Hoare triple {1731#(or (not (< 0 ~counter~0)) (and (<= ~M1~0 ~counter~0) (<= ~counter~0 ~M1~0)))} [228] 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] {1727#(or (not (< 0 ~counter~0)) (and (<= ~M1~0 (+ ~counter~0 thread2Thread1of1ForFork1_~i~1)) (<= (+ ~counter~0 thread2Thread1of1ForFork1_~i~1) ~M1~0)))} is VALID [2022-02-20 20:56:07,173 INFO L290 TraceCheckUtils]: 53: Hoare triple {1731#(or (not (< 0 ~counter~0)) (and (<= ~M1~0 ~counter~0) (<= ~counter~0 ~M1~0)))} [208] 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~mem12#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~mem12#1=|v_ULTIMATE.start_main_#t~mem12#1_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem12#1] {1731#(or (not (< 0 ~counter~0)) (and (<= ~M1~0 ~counter~0) (<= ~counter~0 ~M1~0)))} is VALID [2022-02-20 20:56:07,174 INFO L290 TraceCheckUtils]: 52: Hoare triple {1731#(or (not (< 0 ~counter~0)) (and (<= ~M1~0 ~counter~0) (<= ~counter~0 ~M1~0)))} [182] L74-2-->L75: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem11#1] {1731#(or (not (< 0 ~counter~0)) (and (<= ~M1~0 ~counter~0) (<= ~counter~0 ~M1~0)))} is VALID [2022-02-20 20:56:07,174 INFO L290 TraceCheckUtils]: 51: Hoare triple {1731#(or (not (< 0 ~counter~0)) (and (<= ~M1~0 ~counter~0) (<= ~counter~0 ~M1~0)))} [239] thread1EXIT-->L74-2: Formula: (and (= v_thread1Thread1of1ForFork0_thidvar1_4 0) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem11#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ (- 4294967296) .cse0))) v_thread1Thread1of1ForFork0_thidvar0_4)) InVars {ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_5|, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_5|, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4} AuxVars[] AssignedVars[] {1731#(or (not (< 0 ~counter~0)) (and (<= ~M1~0 ~counter~0) (<= ~counter~0 ~M1~0)))} is VALID [2022-02-20 20:56:07,175 INFO L290 TraceCheckUtils]: 50: Hoare triple {1731#(or (not (< 0 ~counter~0)) (and (<= ~M1~0 ~counter~0) (<= ~counter~0 ~M1~0)))} [135] L74-->L74-1: Formula: (= |v_ULTIMATE.start_main_#t~mem11#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{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_2|, #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|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem11#1] {1731#(or (not (< 0 ~counter~0)) (and (<= ~M1~0 ~counter~0) (<= ~counter~0 ~M1~0)))} is VALID [2022-02-20 20:56:07,175 INFO L290 TraceCheckUtils]: 49: Hoare triple {1731#(or (not (< 0 ~counter~0)) (and (<= ~M1~0 ~counter~0) (<= ~counter~0 ~M1~0)))} [176] L73-5-->L74: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet10#1] {1731#(or (not (< 0 ~counter~0)) (and (<= ~M1~0 ~counter~0) (<= ~counter~0 ~M1~0)))} is VALID [2022-02-20 20:56:07,176 INFO L290 TraceCheckUtils]: 48: Hoare triple {1731#(or (not (< 0 ~counter~0)) (and (<= ~M1~0 ~counter~0) (<= ~counter~0 ~M1~0)))} [177] L73-4-->L73-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre9#1] {1731#(or (not (< 0 ~counter~0)) (and (<= ~M1~0 ~counter~0) (<= ~counter~0 ~M1~0)))} is VALID [2022-02-20 20:56:07,176 INFO L290 TraceCheckUtils]: 47: Hoare triple {1731#(or (not (< 0 ~counter~0)) (and (<= ~M1~0 ~counter~0) (<= ~counter~0 ~M1~0)))} [224] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1731#(or (not (< 0 ~counter~0)) (and (<= ~M1~0 ~counter~0) (<= ~counter~0 ~M1~0)))} is VALID [2022-02-20 20:56:07,177 INFO L290 TraceCheckUtils]: 46: Hoare triple {1731#(or (not (< 0 ~counter~0)) (and (<= ~M1~0 ~counter~0) (<= ~counter~0 ~M1~0)))} [222] 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] {1731#(or (not (< 0 ~counter~0)) (and (<= ~M1~0 ~counter~0) (<= ~counter~0 ~M1~0)))} is VALID [2022-02-20 20:56:07,177 INFO L290 TraceCheckUtils]: 45: Hoare triple {1759#(or (not (< 0 ~counter~0)) (and (<= ~M1~0 ~counter~0) (<= ~counter~0 ~M1~0)) (< thread1Thread1of1ForFork0_~i~0 ~M1~0))} [220] L41-4-->L41-5: Formula: (not (< v_thread1Thread1of1ForFork0_~i~0_3 v_~M1~0_1)) InVars {thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_3, ~M1~0=v_~M1~0_1} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_3, ~M1~0=v_~M1~0_1} AuxVars[] AssignedVars[] {1731#(or (not (< 0 ~counter~0)) (and (<= ~M1~0 ~counter~0) (<= ~counter~0 ~M1~0)))} is VALID [2022-02-20 20:56:07,178 INFO L290 TraceCheckUtils]: 44: Hoare triple {1759#(or (not (< 0 ~counter~0)) (and (<= ~M1~0 ~counter~0) (<= ~counter~0 ~M1~0)) (< thread1Thread1of1ForFork0_~i~0 ~M1~0))} [227] L41-3-->L41-4: Formula: true InVars {} OutVars{thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_5|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1] {1759#(or (not (< 0 ~counter~0)) (and (<= ~M1~0 ~counter~0) (<= ~counter~0 ~M1~0)) (< thread1Thread1of1ForFork0_~i~0 ~M1~0))} is VALID [2022-02-20 20:56:07,178 INFO L290 TraceCheckUtils]: 43: Hoare triple {1766#(or (< (+ |thread1Thread1of1ForFork0_#t~post1| 1) ~M1~0) (not (< 0 ~counter~0)) (and (<= ~M1~0 ~counter~0) (<= ~counter~0 ~M1~0)))} [226] 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] {1759#(or (not (< 0 ~counter~0)) (and (<= ~M1~0 ~counter~0) (<= ~counter~0 ~M1~0)) (< thread1Thread1of1ForFork0_~i~0 ~M1~0))} is VALID [2022-02-20 20:56:07,179 INFO L290 TraceCheckUtils]: 42: Hoare triple {1770#(or (not (< 0 ~counter~0)) (and (<= ~M1~0 ~counter~0) (<= ~counter~0 ~M1~0)) (< (+ thread1Thread1of1ForFork0_~i~0 1) ~M1~0))} [225] 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] {1766#(or (< (+ |thread1Thread1of1ForFork0_#t~post1| 1) ~M1~0) (not (< 0 ~counter~0)) (and (<= ~M1~0 ~counter~0) (<= ~counter~0 ~M1~0)))} is VALID [2022-02-20 20:56:07,179 INFO L290 TraceCheckUtils]: 41: Hoare triple {1774#(or (< (+ thread1Thread1of1ForFork0_~i~0 1) ~M1~0) (and (<= ~M1~0 (+ ~counter~0 1)) (<= (+ ~counter~0 1) ~M1~0)) (not (< 0 (+ ~counter~0 1))))} [223] L42-->L44: Formula: (= (+ v_~counter~0_26 1) v_~counter~0_25) InVars {~counter~0=v_~counter~0_26} OutVars{~counter~0=v_~counter~0_25, thread1Thread1of1ForFork0_#t~post2=|v_thread1Thread1of1ForFork0_#t~post2_1|} AuxVars[] AssignedVars[~counter~0, thread1Thread1of1ForFork0_#t~post2] {1770#(or (not (< 0 ~counter~0)) (and (<= ~M1~0 ~counter~0) (<= ~counter~0 ~M1~0)) (< (+ thread1Thread1of1ForFork0_~i~0 1) ~M1~0))} is VALID [2022-02-20 20:56:07,180 INFO L290 TraceCheckUtils]: 40: Hoare triple {1778#(or (and (<= ~counter~0 thread1Thread1of1ForFork0_~i~0) (<= thread1Thread1of1ForFork0_~i~0 ~counter~0)) (not (< 0 (+ ~counter~0 1))))} [221] L41-4-->L42: Formula: (< v_thread1Thread1of1ForFork0_~i~0_5 v_~M1~0_2) InVars {thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_5, ~M1~0=v_~M1~0_2} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_5, ~M1~0=v_~M1~0_2} AuxVars[] AssignedVars[] {1774#(or (< (+ thread1Thread1of1ForFork0_~i~0 1) ~M1~0) (and (<= ~M1~0 (+ ~counter~0 1)) (<= (+ ~counter~0 1) ~M1~0)) (not (< 0 (+ ~counter~0 1))))} is VALID [2022-02-20 20:56:07,181 INFO L290 TraceCheckUtils]: 39: Hoare triple {1778#(or (and (<= ~counter~0 thread1Thread1of1ForFork0_~i~0) (<= thread1Thread1of1ForFork0_~i~0 ~counter~0)) (not (< 0 (+ ~counter~0 1))))} [238] L73-3-->thread2ENTRY: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar1_2) (= |v_ULTIMATE.start_main_#t~pre9#1_6| v_thread2Thread1of1ForFork1_thidvar0_2) (= 0 v_thread2Thread1of1ForFork1_thidvar2_2)) InVars {ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_6|} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_4|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_12, thread2Thread1of1ForFork1_#t~post4=|v_thread2Thread1of1ForFork1_#t~post4_6|, thread2Thread1of1ForFork1_#t~post3=|v_thread2Thread1of1ForFork1_#t~post3_6|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_6|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_4|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_2, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_2, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_2} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_~i~1, thread2Thread1of1ForFork1_#t~post4, thread2Thread1of1ForFork1_#t~post3, thread2Thread1of1ForFork1_#res.base, thread2Thread1of1ForFork1_thidvar2, thread2Thread1of1ForFork1_thidvar0, thread2Thread1of1ForFork1_thidvar1] {1778#(or (and (<= ~counter~0 thread1Thread1of1ForFork0_~i~0) (<= thread1Thread1of1ForFork0_~i~0 ~counter~0)) (not (< 0 (+ ~counter~0 1))))} is VALID [2022-02-20 20:56:07,181 INFO L290 TraceCheckUtils]: 38: Hoare triple {1778#(or (and (<= ~counter~0 thread1Thread1of1ForFork0_~i~0) (<= thread1Thread1of1ForFork0_~i~0 ~counter~0)) (not (< 0 (+ ~counter~0 1))))} [175] 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~pre9#1_3|)) |v_#memory_int_5|) InVars {#memory_int=|v_#memory_int_6|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#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~pre9#1=|v_ULTIMATE.start_main_#t~pre9#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] {1778#(or (and (<= ~counter~0 thread1Thread1of1ForFork0_~i~0) (<= thread1Thread1of1ForFork0_~i~0 ~counter~0)) (not (< 0 (+ ~counter~0 1))))} is VALID [2022-02-20 20:56:07,182 INFO L290 TraceCheckUtils]: 37: Hoare triple {1778#(or (and (<= ~counter~0 thread1Thread1of1ForFork0_~i~0) (<= thread1Thread1of1ForFork0_~i~0 ~counter~0)) (not (< 0 (+ ~counter~0 1))))} [189] 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] {1778#(or (and (<= ~counter~0 thread1Thread1of1ForFork0_~i~0) (<= thread1Thread1of1ForFork0_~i~0 ~counter~0)) (not (< 0 (+ ~counter~0 1))))} is VALID [2022-02-20 20:56:07,182 INFO L290 TraceCheckUtils]: 36: Hoare triple {1778#(or (and (<= ~counter~0 thread1Thread1of1ForFork0_~i~0) (<= thread1Thread1of1ForFork0_~i~0 ~counter~0)) (not (< 0 (+ ~counter~0 1))))} [174] L73-->L73-1: Formula: (= |v_ULTIMATE.start_main_#t~pre9#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre9#1] {1778#(or (and (<= ~counter~0 thread1Thread1of1ForFork0_~i~0) (<= thread1Thread1of1ForFork0_~i~0 ~counter~0)) (not (< 0 (+ ~counter~0 1))))} is VALID [2022-02-20 20:56:07,182 INFO L290 TraceCheckUtils]: 35: Hoare triple {1778#(or (and (<= ~counter~0 thread1Thread1of1ForFork0_~i~0) (<= thread1Thread1of1ForFork0_~i~0 ~counter~0)) (not (< 0 (+ ~counter~0 1))))} [137] L72-5-->L73: 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] {1778#(or (and (<= ~counter~0 thread1Thread1of1ForFork0_~i~0) (<= thread1Thread1of1ForFork0_~i~0 ~counter~0)) (not (< 0 (+ ~counter~0 1))))} is VALID [2022-02-20 20:56:07,183 INFO L290 TraceCheckUtils]: 34: Hoare triple {1778#(or (and (<= ~counter~0 thread1Thread1of1ForFork0_~i~0) (<= thread1Thread1of1ForFork0_~i~0 ~counter~0)) (not (< 0 (+ ~counter~0 1))))} [207] L72-4-->L72-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] {1778#(or (and (<= ~counter~0 thread1Thread1of1ForFork0_~i~0) (<= thread1Thread1of1ForFork0_~i~0 ~counter~0)) (not (< 0 (+ ~counter~0 1))))} is VALID [2022-02-20 20:56:07,183 INFO L290 TraceCheckUtils]: 33: Hoare triple {1800#(<= ~counter~0 0)} [218] 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] {1778#(or (and (<= ~counter~0 thread1Thread1of1ForFork0_~i~0) (<= thread1Thread1of1ForFork0_~i~0 ~counter~0)) (not (< 0 (+ ~counter~0 1))))} is VALID [2022-02-20 20:56:07,184 INFO L290 TraceCheckUtils]: 32: Hoare triple {1800#(<= ~counter~0 0)} [236] L72-3-->thread1ENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre7#1_6| v_thread1Thread1of1ForFork0_thidvar0_2) (= v_thread1Thread1of1ForFork0_thidvar1_2 0)) InVars {ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_6|} OutVars{thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_4|, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_8|, thread1Thread1of1ForFork0_#t~post2=|v_thread1Thread1of1ForFork0_#t~post2_4|, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_12, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_2, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_4|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_2, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_6|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#t~post1, thread1Thread1of1ForFork0_#t~post2, thread1Thread1of1ForFork0_~i~0, thread1Thread1of1ForFork0_thidvar0, thread1Thread1of1ForFork0_#res.offset, thread1Thread1of1ForFork0_thidvar1] {1800#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:07,184 INFO L290 TraceCheckUtils]: 31: Hoare triple {1800#(<= ~counter~0 0)} [142] 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~pre7#1_3|)) |v_#memory_int_3|) InVars {#memory_int=|v_#memory_int_4|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} OutVars{#memory_int=|v_#memory_int_3|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} AuxVars[] AssignedVars[#memory_int] {1800#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:07,184 INFO L290 TraceCheckUtils]: 30: Hoare triple {1800#(<= ~counter~0 0)} [134] 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] {1800#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:07,185 INFO L290 TraceCheckUtils]: 29: Hoare triple {1800#(<= ~counter~0 0)} [215] L72-->L72-1: Formula: (= |v_ULTIMATE.start_main_#t~pre7#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre7#1] {1800#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:07,185 INFO L290 TraceCheckUtils]: 28: Hoare triple {1800#(<= ~counter~0 0)} [191] L34-1-->L72: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1800#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:07,185 INFO L290 TraceCheckUtils]: 27: Hoare triple {1800#(<= ~counter~0 0)} [198] 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[] {1800#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:07,185 INFO L290 TraceCheckUtils]: 26: Hoare triple {1800#(<= ~counter~0 0)} [170] 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] {1800#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:07,186 INFO L290 TraceCheckUtils]: 25: Hoare triple {1800#(<= ~counter~0 0)} [178] 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] {1800#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:07,186 INFO L290 TraceCheckUtils]: 24: Hoare triple {1800#(<= ~counter~0 0)} [206] L69-1-->L69-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1| (ite (and (< 0 v_~M2~0_5) (< 0 v_~M1~0_5)) 1 0)) InVars {~M2~0=v_~M2~0_5, ~M1~0=v_~M1~0_5} OutVars{~M1~0=v_~M1~0_5, ~M2~0=v_~M2~0_5, 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] {1800#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:07,188 INFO L290 TraceCheckUtils]: 23: Hoare triple {1800#(<= ~counter~0 0)} [153] L69-->L69-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1800#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:07,189 INFO L290 TraceCheckUtils]: 22: Hoare triple {1800#(<= ~counter~0 0)} [146] L68-2-->L69: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet6#1] {1800#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:07,190 INFO L290 TraceCheckUtils]: 21: Hoare triple {1800#(<= ~counter~0 0)} [166] L68-1-->L68-2: Formula: (= |v_ULTIMATE.start_main_#t~nondet6#1_3| v_~M2~0_4) InVars {ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_3|} OutVars{~M2~0=v_~M2~0_4, ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_3|} AuxVars[] AssignedVars[~M2~0] {1800#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:07,190 INFO L290 TraceCheckUtils]: 20: Hoare triple {1800#(<= ~counter~0 0)} [203] L68-->L68-1: Formula: (and (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet6#1_2| 2147483648)) (<= |v_ULTIMATE.start_main_#t~nondet6#1_2| 2147483647)) InVars {ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_2|} OutVars{ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_2|} AuxVars[] AssignedVars[] {1800#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:07,191 INFO L290 TraceCheckUtils]: 19: Hoare triple {1800#(<= ~counter~0 0)} [168] L67-1-->L68: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet5#1] {1800#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:07,191 INFO L290 TraceCheckUtils]: 18: Hoare triple {1800#(<= ~counter~0 0)} [199] L67-->L67-1: Formula: (= |v_ULTIMATE.start_main_#t~nondet5#1_3| v_~M1~0_4) InVars {ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_3|} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_3|, ~M1~0=v_~M1~0_4} AuxVars[] AssignedVars[~M1~0] {1800#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:07,191 INFO L290 TraceCheckUtils]: 17: Hoare triple {1800#(<= ~counter~0 0)} [180] L65-2-->L67: Formula: (and (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet5#1_2| 2147483648)) (<= |v_ULTIMATE.start_main_#t~nondet5#1_2| 2147483647)) InVars {ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_2|} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_2|} AuxVars[] AssignedVars[] {1800#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:07,192 INFO L290 TraceCheckUtils]: 16: Hoare triple {1800#(<= ~counter~0 0)} [201] 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] {1800#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:07,192 INFO L290 TraceCheckUtils]: 15: Hoare triple {1800#(<= ~counter~0 0)} [216] 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] {1800#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:07,192 INFO L290 TraceCheckUtils]: 14: Hoare triple {1800#(<= ~counter~0 0)} [187] L-1-6-->L65: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_1|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#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_#t~mem12#1=|v_ULTIMATE.start_main_#t~mem12#1_1|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_1|, ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_1|, ULTIMATE.start_main_#t~nondet8#1=|v_ULTIMATE.start_main_#t~nondet8#1_1|, ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#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~nondet10#1, ULTIMATE.start_main_#t~pre9#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_#t~nondet5#1, ULTIMATE.start_main_#t~nondet8#1, ULTIMATE.start_main_#t~nondet6#1, ULTIMATE.start_main_#t~mem11#1, ULTIMATE.start_main_#t~pre7#1, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_#t~mem12#1, ULTIMATE.start_main_~#t1~0#1.offset, ULTIMATE.start_main_~#t2~0#1.base] {1800#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:07,192 INFO L290 TraceCheckUtils]: 13: Hoare triple {1800#(<= ~counter~0 0)} [154] 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] {1800#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:07,193 INFO L290 TraceCheckUtils]: 12: Hoare triple {1800#(<= ~counter~0 0)} [190] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1800#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:07,193 INFO L290 TraceCheckUtils]: 11: Hoare triple {1800#(<= ~counter~0 0)} [209] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1800#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:07,193 INFO L290 TraceCheckUtils]: 10: Hoare triple {1456#true} [162] L38-1-->L-1-3: Formula: (= v_~counter~0_7 0) InVars {} OutVars{~counter~0=v_~counter~0_7} AuxVars[] AssignedVars[~counter~0] {1800#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:07,193 INFO L290 TraceCheckUtils]: 9: Hoare triple {1456#true} [214] L38-->L38-1: Formula: (= 0 v_~M2~0_3) InVars {} OutVars{~M2~0=v_~M2~0_3} AuxVars[] AssignedVars[~M2~0] {1456#true} is VALID [2022-02-20 20:56:07,193 INFO L290 TraceCheckUtils]: 8: Hoare triple {1456#true} [213] L21-4-->L38: Formula: (= 0 v_~M1~0_3) InVars {} OutVars{~M1~0=v_~M1~0_3} AuxVars[] AssignedVars[~M1~0] {1456#true} is VALID [2022-02-20 20:56:07,194 INFO L290 TraceCheckUtils]: 7: Hoare triple {1456#true} [159] L21-3-->L21-4: Formula: (and (= 34 (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[] {1456#true} is VALID [2022-02-20 20:56:07,194 INFO L290 TraceCheckUtils]: 6: Hoare triple {1456#true} [193] 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[] {1456#true} is VALID [2022-02-20 20:56:07,194 INFO L290 TraceCheckUtils]: 5: Hoare triple {1456#true} [196] 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[] {1456#true} is VALID [2022-02-20 20:56:07,194 INFO L290 TraceCheckUtils]: 4: Hoare triple {1456#true} [172] 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[] {1456#true} is VALID [2022-02-20 20:56:07,194 INFO L290 TraceCheckUtils]: 3: Hoare triple {1456#true} [205] L-1-2-->L21: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {1456#true} is VALID [2022-02-20 20:56:07,194 INFO L290 TraceCheckUtils]: 2: Hoare triple {1456#true} [204] 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[] {1456#true} is VALID [2022-02-20 20:56:07,194 INFO L290 TraceCheckUtils]: 1: Hoare triple {1456#true} [181] L-1-->L-1-1: Formula: (and (= |v_#NULL.base_1| 0) (= |v_#NULL.offset_1| 0)) InVars {} OutVars{#NULL.offset=|v_#NULL.offset_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {1456#true} is VALID [2022-02-20 20:56:07,194 INFO L290 TraceCheckUtils]: 0: Hoare triple {1456#true} [200] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1456#true} is VALID [2022-02-20 20:56:07,195 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 20:56:07,195 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [401642504] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 20:56:07,195 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 20:56:07,195 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 15, 15] total 33 [2022-02-20 20:56:07,196 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [309899968] [2022-02-20 20:56:07,196 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 20:56:07,196 INFO L78 Accepts]: Start accepts. Automaton has has 33 states, 33 states have (on average 4.242424242424242) internal successors, (140), 33 states have internal predecessors, (140), 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 69 [2022-02-20 20:56:07,197 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 20:56:07,197 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 33 states, 33 states have (on average 4.242424242424242) internal successors, (140), 33 states have internal predecessors, (140), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:07,323 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 140 edges. 140 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 20:56:07,324 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 33 states [2022-02-20 20:56:07,324 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 20:56:07,325 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 33 interpolants. [2022-02-20 20:56:07,325 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=174, Invalid=882, Unknown=0, NotChecked=0, Total=1056 [2022-02-20 20:56:07,328 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 51 out of 86 [2022-02-20 20:56:07,330 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 79 places, 71 transitions, 170 flow. Second operand has 33 states, 33 states have (on average 52.84848484848485) internal successors, (1744), 33 states have internal predecessors, (1744), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:07,330 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 20:56:07,330 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 51 of 86 [2022-02-20 20:56:07,330 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 20:56:11,303 INFO L129 PetriNetUnfolder]: 258/829 cut-off events. [2022-02-20 20:56:11,303 INFO L130 PetriNetUnfolder]: For 215/215 co-relation queries the response was YES. [2022-02-20 20:56:11,305 INFO L84 FinitePrefix]: Finished finitePrefix Result has 1765 conditions, 829 events. 258/829 cut-off events. For 215/215 co-relation queries the response was YES. Maximal size of possible extension queue 56. Compared 4976 event pairs, 3 based on Foata normal form. 4/832 useless extension candidates. Maximal degree in co-relation 1759. Up to 155 conditions per place. [2022-02-20 20:56:11,308 INFO L132 encePairwiseOnDemand]: 71/86 looper letters, 134 selfloop transitions, 117 changer transitions 49/341 dead transitions. [2022-02-20 20:56:11,308 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 142 places, 341 transitions, 1630 flow [2022-02-20 20:56:11,308 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 64 states. [2022-02-20 20:56:11,308 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 64 states. [2022-02-20 20:56:11,355 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 64 states and 3541 transitions. [2022-02-20 20:56:11,357 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.6433502906976745 [2022-02-20 20:56:11,358 INFO L72 ComplementDD]: Start complementDD. Operand 64 states and 3541 transitions. [2022-02-20 20:56:11,358 INFO L73 IsDeterministic]: Start isDeterministic. Operand 64 states and 3541 transitions. [2022-02-20 20:56:11,360 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 20:56:11,360 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 64 states and 3541 transitions. [2022-02-20 20:56:11,368 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 65 states, 64 states have (on average 55.328125) internal successors, (3541), 64 states have internal predecessors, (3541), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:11,378 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 65 states, 65 states have (on average 86.0) internal successors, (5590), 65 states have internal predecessors, (5590), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:11,382 INFO L81 ComplementDD]: Finished complementDD. Result has 65 states, 65 states have (on average 86.0) internal successors, (5590), 65 states have internal predecessors, (5590), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:11,383 INFO L186 Difference]: Start difference. First operand has 79 places, 71 transitions, 170 flow. Second operand 64 states and 3541 transitions. [2022-02-20 20:56:11,383 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 142 places, 341 transitions, 1630 flow [2022-02-20 20:56:11,543 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 138 places, 341 transitions, 1580 flow, removed 0 selfloop flow, removed 4 redundant places. [2022-02-20 20:56:11,547 INFO L242 Difference]: Finished difference. Result has 168 places, 202 transitions, 991 flow [2022-02-20 20:56:11,547 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=86, PETRI_DIFFERENCE_MINUEND_FLOW=162, PETRI_DIFFERENCE_MINUEND_PLACES=75, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=71, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=10, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=58, PETRI_DIFFERENCE_SUBTRAHEND_STATES=64, PETRI_FLOW=991, PETRI_PLACES=168, PETRI_TRANSITIONS=202} [2022-02-20 20:56:11,548 INFO L334 CegarLoopForPetriNet]: 76 programPoint places, 92 predicate places. [2022-02-20 20:56:11,548 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 168 places, 202 transitions, 991 flow [2022-02-20 20:56:11,686 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 2006 states, 1996 states have (on average 2.4874749498997994) internal successors, (4965), 2005 states have internal predecessors, (4965), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:11,691 INFO L78 Accepts]: Start accepts. Automaton has has 2006 states, 1996 states have (on average 2.4874749498997994) internal successors, (4965), 2005 states have internal predecessors, (4965), 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 69 [2022-02-20 20:56:11,692 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 20:56:11,692 INFO L470 AbstractCegarLoop]: Abstraction has has 168 places, 202 transitions, 991 flow [2022-02-20 20:56:11,693 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 33 states, 33 states have (on average 52.84848484848485) internal successors, (1744), 33 states have internal predecessors, (1744), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:11,693 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:56:11,693 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, 1, 1] [2022-02-20 20:56:11,714 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:56:11,911 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 20:56:11,912 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION] === [2022-02-20 20:56:11,912 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:56:11,912 INFO L85 PathProgramCache]: Analyzing trace with hash -1874273803, now seen corresponding path program 2 times [2022-02-20 20:56:11,912 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:56:11,912 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1176545539] [2022-02-20 20:56:11,912 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:56:11,912 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:56:11,947 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:56:12,186 INFO L290 TraceCheckUtils]: 0: Hoare triple {4039#true} [200] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4039#true} is VALID [2022-02-20 20:56:12,187 INFO L290 TraceCheckUtils]: 1: Hoare triple {4039#true} [181] L-1-->L-1-1: Formula: (and (= |v_#NULL.base_1| 0) (= |v_#NULL.offset_1| 0)) InVars {} OutVars{#NULL.offset=|v_#NULL.offset_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {4039#true} is VALID [2022-02-20 20:56:12,187 INFO L290 TraceCheckUtils]: 2: Hoare triple {4039#true} [204] 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[] {4039#true} is VALID [2022-02-20 20:56:12,187 INFO L290 TraceCheckUtils]: 3: Hoare triple {4039#true} [205] L-1-2-->L21: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {4039#true} is VALID [2022-02-20 20:56:12,187 INFO L290 TraceCheckUtils]: 4: Hoare triple {4039#true} [172] 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[] {4039#true} is VALID [2022-02-20 20:56:12,187 INFO L290 TraceCheckUtils]: 5: Hoare triple {4039#true} [196] 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[] {4039#true} is VALID [2022-02-20 20:56:12,187 INFO L290 TraceCheckUtils]: 6: Hoare triple {4039#true} [193] 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[] {4039#true} is VALID [2022-02-20 20:56:12,187 INFO L290 TraceCheckUtils]: 7: Hoare triple {4039#true} [159] L21-3-->L21-4: Formula: (and (= 34 (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[] {4039#true} is VALID [2022-02-20 20:56:12,187 INFO L290 TraceCheckUtils]: 8: Hoare triple {4039#true} [213] L21-4-->L38: Formula: (= 0 v_~M1~0_3) InVars {} OutVars{~M1~0=v_~M1~0_3} AuxVars[] AssignedVars[~M1~0] {4039#true} is VALID [2022-02-20 20:56:12,187 INFO L290 TraceCheckUtils]: 9: Hoare triple {4039#true} [214] L38-->L38-1: Formula: (= 0 v_~M2~0_3) InVars {} OutVars{~M2~0=v_~M2~0_3} AuxVars[] AssignedVars[~M2~0] {4039#true} is VALID [2022-02-20 20:56:12,188 INFO L290 TraceCheckUtils]: 10: Hoare triple {4039#true} [162] L38-1-->L-1-3: Formula: (= v_~counter~0_7 0) InVars {} OutVars{~counter~0=v_~counter~0_7} AuxVars[] AssignedVars[~counter~0] {4041#(= ~counter~0 0)} is VALID [2022-02-20 20:56:12,191 INFO L290 TraceCheckUtils]: 11: Hoare triple {4041#(= ~counter~0 0)} [209] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4041#(= ~counter~0 0)} is VALID [2022-02-20 20:56:12,191 INFO L290 TraceCheckUtils]: 12: Hoare triple {4041#(= ~counter~0 0)} [190] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4041#(= ~counter~0 0)} is VALID [2022-02-20 20:56:12,191 INFO L290 TraceCheckUtils]: 13: Hoare triple {4041#(= ~counter~0 0)} [154] 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] {4041#(= ~counter~0 0)} is VALID [2022-02-20 20:56:12,191 INFO L290 TraceCheckUtils]: 14: Hoare triple {4041#(= ~counter~0 0)} [187] L-1-6-->L65: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_1|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#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_#t~mem12#1=|v_ULTIMATE.start_main_#t~mem12#1_1|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_1|, ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_1|, ULTIMATE.start_main_#t~nondet8#1=|v_ULTIMATE.start_main_#t~nondet8#1_1|, ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#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~nondet10#1, ULTIMATE.start_main_#t~pre9#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_#t~nondet5#1, ULTIMATE.start_main_#t~nondet8#1, ULTIMATE.start_main_#t~nondet6#1, ULTIMATE.start_main_#t~mem11#1, ULTIMATE.start_main_#t~pre7#1, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_#t~mem12#1, ULTIMATE.start_main_~#t1~0#1.offset, ULTIMATE.start_main_~#t2~0#1.base] {4041#(= ~counter~0 0)} is VALID [2022-02-20 20:56:12,192 INFO L290 TraceCheckUtils]: 15: Hoare triple {4041#(= ~counter~0 0)} [216] 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] {4041#(= ~counter~0 0)} is VALID [2022-02-20 20:56:12,192 INFO L290 TraceCheckUtils]: 16: Hoare triple {4041#(= ~counter~0 0)} [201] 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] {4041#(= ~counter~0 0)} is VALID [2022-02-20 20:56:12,192 INFO L290 TraceCheckUtils]: 17: Hoare triple {4041#(= ~counter~0 0)} [180] L65-2-->L67: Formula: (and (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet5#1_2| 2147483648)) (<= |v_ULTIMATE.start_main_#t~nondet5#1_2| 2147483647)) InVars {ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_2|} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_2|} AuxVars[] AssignedVars[] {4041#(= ~counter~0 0)} is VALID [2022-02-20 20:56:12,193 INFO L290 TraceCheckUtils]: 18: Hoare triple {4041#(= ~counter~0 0)} [199] L67-->L67-1: Formula: (= |v_ULTIMATE.start_main_#t~nondet5#1_3| v_~M1~0_4) InVars {ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_3|} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_3|, ~M1~0=v_~M1~0_4} AuxVars[] AssignedVars[~M1~0] {4041#(= ~counter~0 0)} is VALID [2022-02-20 20:56:12,193 INFO L290 TraceCheckUtils]: 19: Hoare triple {4041#(= ~counter~0 0)} [168] L67-1-->L68: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet5#1] {4041#(= ~counter~0 0)} is VALID [2022-02-20 20:56:12,193 INFO L290 TraceCheckUtils]: 20: Hoare triple {4041#(= ~counter~0 0)} [203] L68-->L68-1: Formula: (and (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet6#1_2| 2147483648)) (<= |v_ULTIMATE.start_main_#t~nondet6#1_2| 2147483647)) InVars {ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_2|} OutVars{ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_2|} AuxVars[] AssignedVars[] {4041#(= ~counter~0 0)} is VALID [2022-02-20 20:56:12,193 INFO L290 TraceCheckUtils]: 21: Hoare triple {4041#(= ~counter~0 0)} [166] L68-1-->L68-2: Formula: (= |v_ULTIMATE.start_main_#t~nondet6#1_3| v_~M2~0_4) InVars {ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_3|} OutVars{~M2~0=v_~M2~0_4, ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_3|} AuxVars[] AssignedVars[~M2~0] {4041#(= ~counter~0 0)} is VALID [2022-02-20 20:56:12,194 INFO L290 TraceCheckUtils]: 22: Hoare triple {4041#(= ~counter~0 0)} [146] L68-2-->L69: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet6#1] {4041#(= ~counter~0 0)} is VALID [2022-02-20 20:56:12,194 INFO L290 TraceCheckUtils]: 23: Hoare triple {4041#(= ~counter~0 0)} [153] L69-->L69-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4041#(= ~counter~0 0)} is VALID [2022-02-20 20:56:12,199 INFO L290 TraceCheckUtils]: 24: Hoare triple {4041#(= ~counter~0 0)} [206] L69-1-->L69-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1| (ite (and (< 0 v_~M2~0_5) (< 0 v_~M1~0_5)) 1 0)) InVars {~M2~0=v_~M2~0_5, ~M1~0=v_~M1~0_5} OutVars{~M1~0=v_~M1~0_5, ~M2~0=v_~M2~0_5, 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] {4041#(= ~counter~0 0)} is VALID [2022-02-20 20:56:12,200 INFO L290 TraceCheckUtils]: 25: Hoare triple {4041#(= ~counter~0 0)} [178] 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] {4041#(= ~counter~0 0)} is VALID [2022-02-20 20:56:12,200 INFO L290 TraceCheckUtils]: 26: Hoare triple {4041#(= ~counter~0 0)} [170] 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] {4041#(= ~counter~0 0)} is VALID [2022-02-20 20:56:12,201 INFO L290 TraceCheckUtils]: 27: Hoare triple {4041#(= ~counter~0 0)} [198] 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[] {4041#(= ~counter~0 0)} is VALID [2022-02-20 20:56:12,201 INFO L290 TraceCheckUtils]: 28: Hoare triple {4041#(= ~counter~0 0)} [191] L34-1-->L72: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4041#(= ~counter~0 0)} is VALID [2022-02-20 20:56:12,201 INFO L290 TraceCheckUtils]: 29: Hoare triple {4041#(= ~counter~0 0)} [215] L72-->L72-1: Formula: (= |v_ULTIMATE.start_main_#t~pre7#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre7#1] {4041#(= ~counter~0 0)} is VALID [2022-02-20 20:56:12,202 INFO L290 TraceCheckUtils]: 30: Hoare triple {4041#(= ~counter~0 0)} [134] 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] {4041#(= ~counter~0 0)} is VALID [2022-02-20 20:56:12,202 INFO L290 TraceCheckUtils]: 31: Hoare triple {4041#(= ~counter~0 0)} [142] 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~pre7#1_3|)) |v_#memory_int_3|) InVars {#memory_int=|v_#memory_int_4|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} OutVars{#memory_int=|v_#memory_int_3|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} AuxVars[] AssignedVars[#memory_int] {4041#(= ~counter~0 0)} is VALID [2022-02-20 20:56:12,202 INFO L290 TraceCheckUtils]: 32: Hoare triple {4041#(= ~counter~0 0)} [236] L72-3-->thread1ENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre7#1_6| v_thread1Thread1of1ForFork0_thidvar0_2) (= v_thread1Thread1of1ForFork0_thidvar1_2 0)) InVars {ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_6|} OutVars{thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_4|, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_8|, thread1Thread1of1ForFork0_#t~post2=|v_thread1Thread1of1ForFork0_#t~post2_4|, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_12, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_2, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_4|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_2, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_6|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#t~post1, thread1Thread1of1ForFork0_#t~post2, thread1Thread1of1ForFork0_~i~0, thread1Thread1of1ForFork0_thidvar0, thread1Thread1of1ForFork0_#res.offset, thread1Thread1of1ForFork0_thidvar1] {4041#(= ~counter~0 0)} is VALID [2022-02-20 20:56:12,203 INFO L290 TraceCheckUtils]: 33: Hoare triple {4041#(= ~counter~0 0)} [218] 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] {4042#(and (= thread1Thread1of1ForFork0_~i~0 0) (= ~counter~0 0))} is VALID [2022-02-20 20:56:12,203 INFO L290 TraceCheckUtils]: 34: Hoare triple {4042#(and (= thread1Thread1of1ForFork0_~i~0 0) (= ~counter~0 0))} [221] L41-4-->L42: Formula: (< v_thread1Thread1of1ForFork0_~i~0_5 v_~M1~0_2) InVars {thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_5, ~M1~0=v_~M1~0_2} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_5, ~M1~0=v_~M1~0_2} AuxVars[] AssignedVars[] {4043#(and (= thread1Thread1of1ForFork0_~i~0 0) (= ~counter~0 0) (<= (+ thread1Thread1of1ForFork0_~i~0 1) ~M1~0))} is VALID [2022-02-20 20:56:12,204 INFO L290 TraceCheckUtils]: 35: Hoare triple {4043#(and (= thread1Thread1of1ForFork0_~i~0 0) (= ~counter~0 0) (<= (+ thread1Thread1of1ForFork0_~i~0 1) ~M1~0))} [223] L42-->L44: Formula: (= (+ v_~counter~0_26 1) v_~counter~0_25) InVars {~counter~0=v_~counter~0_26} OutVars{~counter~0=v_~counter~0_25, thread1Thread1of1ForFork0_#t~post2=|v_thread1Thread1of1ForFork0_#t~post2_1|} AuxVars[] AssignedVars[~counter~0, thread1Thread1of1ForFork0_#t~post2] {4044#(and (<= (+ ~counter~0 thread1Thread1of1ForFork0_~i~0) ~M1~0) (<= 1 ~counter~0) (= thread1Thread1of1ForFork0_~i~0 0))} is VALID [2022-02-20 20:56:12,204 INFO L290 TraceCheckUtils]: 36: Hoare triple {4044#(and (<= (+ ~counter~0 thread1Thread1of1ForFork0_~i~0) ~M1~0) (<= 1 ~counter~0) (= thread1Thread1of1ForFork0_~i~0 0))} [225] 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] {4045#(and (<= 1 ~counter~0) (<= ~counter~0 ~M1~0) (= |thread1Thread1of1ForFork0_#t~post1| 0))} is VALID [2022-02-20 20:56:12,205 INFO L290 TraceCheckUtils]: 37: Hoare triple {4045#(and (<= 1 ~counter~0) (<= ~counter~0 ~M1~0) (= |thread1Thread1of1ForFork0_#t~post1| 0))} [207] L72-4-->L72-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] {4045#(and (<= 1 ~counter~0) (<= ~counter~0 ~M1~0) (= |thread1Thread1of1ForFork0_#t~post1| 0))} is VALID [2022-02-20 20:56:12,205 INFO L290 TraceCheckUtils]: 38: Hoare triple {4045#(and (<= 1 ~counter~0) (<= ~counter~0 ~M1~0) (= |thread1Thread1of1ForFork0_#t~post1| 0))} [137] L72-5-->L73: 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] {4045#(and (<= 1 ~counter~0) (<= ~counter~0 ~M1~0) (= |thread1Thread1of1ForFork0_#t~post1| 0))} is VALID [2022-02-20 20:56:12,205 INFO L290 TraceCheckUtils]: 39: Hoare triple {4045#(and (<= 1 ~counter~0) (<= ~counter~0 ~M1~0) (= |thread1Thread1of1ForFork0_#t~post1| 0))} [174] L73-->L73-1: Formula: (= |v_ULTIMATE.start_main_#t~pre9#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre9#1] {4045#(and (<= 1 ~counter~0) (<= ~counter~0 ~M1~0) (= |thread1Thread1of1ForFork0_#t~post1| 0))} is VALID [2022-02-20 20:56:12,206 INFO L290 TraceCheckUtils]: 40: Hoare triple {4045#(and (<= 1 ~counter~0) (<= ~counter~0 ~M1~0) (= |thread1Thread1of1ForFork0_#t~post1| 0))} [189] 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] {4045#(and (<= 1 ~counter~0) (<= ~counter~0 ~M1~0) (= |thread1Thread1of1ForFork0_#t~post1| 0))} is VALID [2022-02-20 20:56:12,206 INFO L290 TraceCheckUtils]: 41: Hoare triple {4045#(and (<= 1 ~counter~0) (<= ~counter~0 ~M1~0) (= |thread1Thread1of1ForFork0_#t~post1| 0))} [175] 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~pre9#1_3|)) |v_#memory_int_5|) InVars {#memory_int=|v_#memory_int_6|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#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~pre9#1=|v_ULTIMATE.start_main_#t~pre9#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] {4045#(and (<= 1 ~counter~0) (<= ~counter~0 ~M1~0) (= |thread1Thread1of1ForFork0_#t~post1| 0))} is VALID [2022-02-20 20:56:12,207 INFO L290 TraceCheckUtils]: 42: Hoare triple {4045#(and (<= 1 ~counter~0) (<= ~counter~0 ~M1~0) (= |thread1Thread1of1ForFork0_#t~post1| 0))} [238] L73-3-->thread2ENTRY: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar1_2) (= |v_ULTIMATE.start_main_#t~pre9#1_6| v_thread2Thread1of1ForFork1_thidvar0_2) (= 0 v_thread2Thread1of1ForFork1_thidvar2_2)) InVars {ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_6|} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_4|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_12, thread2Thread1of1ForFork1_#t~post4=|v_thread2Thread1of1ForFork1_#t~post4_6|, thread2Thread1of1ForFork1_#t~post3=|v_thread2Thread1of1ForFork1_#t~post3_6|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_6|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_4|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_2, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_2, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_2} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_~i~1, thread2Thread1of1ForFork1_#t~post4, thread2Thread1of1ForFork1_#t~post3, thread2Thread1of1ForFork1_#res.base, thread2Thread1of1ForFork1_thidvar2, thread2Thread1of1ForFork1_thidvar0, thread2Thread1of1ForFork1_thidvar1] {4045#(and (<= 1 ~counter~0) (<= ~counter~0 ~M1~0) (= |thread1Thread1of1ForFork0_#t~post1| 0))} is VALID [2022-02-20 20:56:12,207 INFO L290 TraceCheckUtils]: 43: Hoare triple {4045#(and (<= 1 ~counter~0) (<= ~counter~0 ~M1~0) (= |thread1Thread1of1ForFork0_#t~post1| 0))} [228] 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] {4046#(and (<= 1 ~counter~0) (= thread2Thread1of1ForFork1_~i~1 0) (<= ~counter~0 ~M1~0) (= |thread1Thread1of1ForFork0_#t~post1| 0))} is VALID [2022-02-20 20:56:12,207 INFO L290 TraceCheckUtils]: 44: Hoare triple {4046#(and (<= 1 ~counter~0) (= thread2Thread1of1ForFork1_~i~1 0) (<= ~counter~0 ~M1~0) (= |thread1Thread1of1ForFork0_#t~post1| 0))} [226] 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] {4047#(and (<= 1 ~counter~0) (= thread2Thread1of1ForFork1_~i~1 0) (<= thread1Thread1of1ForFork0_~i~0 ~counter~0) (<= ~counter~0 ~M1~0))} is VALID [2022-02-20 20:56:12,208 INFO L290 TraceCheckUtils]: 45: Hoare triple {4047#(and (<= 1 ~counter~0) (= thread2Thread1of1ForFork1_~i~1 0) (<= thread1Thread1of1ForFork0_~i~0 ~counter~0) (<= ~counter~0 ~M1~0))} [227] L41-3-->L41-4: Formula: true InVars {} OutVars{thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_5|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1] {4047#(and (<= 1 ~counter~0) (= thread2Thread1of1ForFork1_~i~1 0) (<= thread1Thread1of1ForFork0_~i~0 ~counter~0) (<= ~counter~0 ~M1~0))} is VALID [2022-02-20 20:56:12,208 INFO L290 TraceCheckUtils]: 46: Hoare triple {4047#(and (<= 1 ~counter~0) (= thread2Thread1of1ForFork1_~i~1 0) (<= thread1Thread1of1ForFork0_~i~0 ~counter~0) (<= ~counter~0 ~M1~0))} [220] L41-4-->L41-5: Formula: (not (< v_thread1Thread1of1ForFork0_~i~0_3 v_~M1~0_1)) InVars {thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_3, ~M1~0=v_~M1~0_1} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_3, ~M1~0=v_~M1~0_1} AuxVars[] AssignedVars[] {4048#(and (<= 1 ~counter~0) (<= ~M1~0 ~counter~0) (= thread2Thread1of1ForFork1_~i~1 0) (<= ~counter~0 ~M1~0))} is VALID [2022-02-20 20:56:12,209 INFO L290 TraceCheckUtils]: 47: Hoare triple {4048#(and (<= 1 ~counter~0) (<= ~M1~0 ~counter~0) (= thread2Thread1of1ForFork1_~i~1 0) (<= ~counter~0 ~M1~0))} [177] L73-4-->L73-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre9#1] {4048#(and (<= 1 ~counter~0) (<= ~M1~0 ~counter~0) (= thread2Thread1of1ForFork1_~i~1 0) (<= ~counter~0 ~M1~0))} is VALID [2022-02-20 20:56:12,209 INFO L290 TraceCheckUtils]: 48: Hoare triple {4048#(and (<= 1 ~counter~0) (<= ~M1~0 ~counter~0) (= thread2Thread1of1ForFork1_~i~1 0) (<= ~counter~0 ~M1~0))} [176] L73-5-->L74: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet10#1] {4048#(and (<= 1 ~counter~0) (<= ~M1~0 ~counter~0) (= thread2Thread1of1ForFork1_~i~1 0) (<= ~counter~0 ~M1~0))} is VALID [2022-02-20 20:56:12,209 INFO L290 TraceCheckUtils]: 49: Hoare triple {4048#(and (<= 1 ~counter~0) (<= ~M1~0 ~counter~0) (= thread2Thread1of1ForFork1_~i~1 0) (<= ~counter~0 ~M1~0))} [135] L74-->L74-1: Formula: (= |v_ULTIMATE.start_main_#t~mem11#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{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_2|, #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|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem11#1] {4048#(and (<= 1 ~counter~0) (<= ~M1~0 ~counter~0) (= thread2Thread1of1ForFork1_~i~1 0) (<= ~counter~0 ~M1~0))} is VALID [2022-02-20 20:56:12,210 INFO L290 TraceCheckUtils]: 50: Hoare triple {4048#(and (<= 1 ~counter~0) (<= ~M1~0 ~counter~0) (= thread2Thread1of1ForFork1_~i~1 0) (<= ~counter~0 ~M1~0))} [222] 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] {4048#(and (<= 1 ~counter~0) (<= ~M1~0 ~counter~0) (= thread2Thread1of1ForFork1_~i~1 0) (<= ~counter~0 ~M1~0))} is VALID [2022-02-20 20:56:12,210 INFO L290 TraceCheckUtils]: 51: Hoare triple {4048#(and (<= 1 ~counter~0) (<= ~M1~0 ~counter~0) (= thread2Thread1of1ForFork1_~i~1 0) (<= ~counter~0 ~M1~0))} [224] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4048#(and (<= 1 ~counter~0) (<= ~M1~0 ~counter~0) (= thread2Thread1of1ForFork1_~i~1 0) (<= ~counter~0 ~M1~0))} is VALID [2022-02-20 20:56:12,211 INFO L290 TraceCheckUtils]: 52: Hoare triple {4048#(and (<= 1 ~counter~0) (<= ~M1~0 ~counter~0) (= thread2Thread1of1ForFork1_~i~1 0) (<= ~counter~0 ~M1~0))} [239] thread1EXIT-->L74-2: Formula: (and (= v_thread1Thread1of1ForFork0_thidvar1_4 0) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem11#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ (- 4294967296) .cse0))) v_thread1Thread1of1ForFork0_thidvar0_4)) InVars {ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_5|, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_5|, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4} AuxVars[] AssignedVars[] {4048#(and (<= 1 ~counter~0) (<= ~M1~0 ~counter~0) (= thread2Thread1of1ForFork1_~i~1 0) (<= ~counter~0 ~M1~0))} is VALID [2022-02-20 20:56:12,211 INFO L290 TraceCheckUtils]: 53: Hoare triple {4048#(and (<= 1 ~counter~0) (<= ~M1~0 ~counter~0) (= thread2Thread1of1ForFork1_~i~1 0) (<= ~counter~0 ~M1~0))} [231] L54-1-->L53: Formula: (< v_thread2Thread1of1ForFork1_~i~1_5 v_~M2~0_2) InVars {~M2~0=v_~M2~0_2, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_5} OutVars{~M2~0=v_~M2~0_2, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_5} AuxVars[] AssignedVars[] {4049#(and (<= (+ ~M1~0 thread2Thread1of1ForFork1_~i~1 1) (+ ~counter~0 ~M2~0)) (<= 1 ~counter~0) (= thread2Thread1of1ForFork1_~i~1 0) (<= ~counter~0 ~M1~0))} is VALID [2022-02-20 20:56:12,212 INFO L290 TraceCheckUtils]: 54: Hoare triple {4049#(and (<= (+ ~M1~0 thread2Thread1of1ForFork1_~i~1 1) (+ ~counter~0 ~M2~0)) (<= 1 ~counter~0) (= thread2Thread1of1ForFork1_~i~1 0) (<= ~counter~0 ~M1~0))} [233] L53-->L54-1: Formula: (let ((.cse0 (< 0 v_~counter~0_In_1))) (or (and .cse0 (= v_~counter~0_In_1 (+ v_~counter~0_Out_2 1)) (= (+ v_thread2Thread1of1ForFork1_~i~1_7 1) v_thread2Thread1of1ForFork1_~i~1_8)) (and (= v_~counter~0_Out_2 v_~counter~0_In_1) (= v_thread2Thread1of1ForFork1_~i~1_8 v_thread2Thread1of1ForFork1_~i~1_7) (not .cse0) (= |v_thread2Thread1of1ForFork1_#t~post3_1| |v_thread2Thread1of1ForFork1_#t~post3_2|) (= |v_thread2Thread1of1ForFork1_#t~post4_2| |v_thread2Thread1of1ForFork1_#t~post4_1|)))) InVars {~counter~0=v_~counter~0_In_1, thread2Thread1of1ForFork1_#t~post4=|v_thread2Thread1of1ForFork1_#t~post4_1|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_7, thread2Thread1of1ForFork1_#t~post3=|v_thread2Thread1of1ForFork1_#t~post3_1|} OutVars{~counter~0=v_~counter~0_Out_2, thread2Thread1of1ForFork1_#t~post4=|v_thread2Thread1of1ForFork1_#t~post4_2|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_8, thread2Thread1of1ForFork1_#t~post3=|v_thread2Thread1of1ForFork1_#t~post3_2|} AuxVars[] AssignedVars[~counter~0, thread2Thread1of1ForFork1_#t~post4, thread2Thread1of1ForFork1_~i~1, thread2Thread1of1ForFork1_#t~post3] {4050#(and (<= ~M1~0 (+ ~counter~0 ~M2~0)) (or (< (+ ~counter~0 ~M2~0) (+ ~M1~0 1)) (<= (+ ~counter~0 thread2Thread1of1ForFork1_~i~1) ~M1~0)))} is VALID [2022-02-20 20:56:12,213 INFO L290 TraceCheckUtils]: 55: Hoare triple {4050#(and (<= ~M1~0 (+ ~counter~0 ~M2~0)) (or (< (+ ~counter~0 ~M2~0) (+ ~M1~0 1)) (<= (+ ~counter~0 thread2Thread1of1ForFork1_~i~1) ~M1~0)))} [230] L54-1-->L52-2: Formula: (not (< v_thread2Thread1of1ForFork1_~i~1_3 v_~M2~0_1)) InVars {~M2~0=v_~M2~0_1, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_3} OutVars{~M2~0=v_~M2~0_1, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_3} AuxVars[] AssignedVars[] {4051#(and (< (+ ~counter~0 ~M2~0) (+ ~M1~0 1)) (<= ~M1~0 (+ ~counter~0 ~M2~0)))} is VALID [2022-02-20 20:56:12,213 INFO L290 TraceCheckUtils]: 56: Hoare triple {4051#(and (< (+ ~counter~0 ~M2~0) (+ ~M1~0 1)) (<= ~M1~0 (+ ~counter~0 ~M2~0)))} [232] 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] {4051#(and (< (+ ~counter~0 ~M2~0) (+ ~M1~0 1)) (<= ~M1~0 (+ ~counter~0 ~M2~0)))} is VALID [2022-02-20 20:56:12,214 INFO L290 TraceCheckUtils]: 57: Hoare triple {4051#(and (< (+ ~counter~0 ~M2~0) (+ ~M1~0 1)) (<= ~M1~0 (+ ~counter~0 ~M2~0)))} [234] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4051#(and (< (+ ~counter~0 ~M2~0) (+ ~M1~0 1)) (<= ~M1~0 (+ ~counter~0 ~M2~0)))} is VALID [2022-02-20 20:56:12,214 INFO L290 TraceCheckUtils]: 58: Hoare triple {4051#(and (< (+ ~counter~0 ~M2~0) (+ ~M1~0 1)) (<= ~M1~0 (+ ~counter~0 ~M2~0)))} [182] L74-2-->L75: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem11#1] {4051#(and (< (+ ~counter~0 ~M2~0) (+ ~M1~0 1)) (<= ~M1~0 (+ ~counter~0 ~M2~0)))} is VALID [2022-02-20 20:56:12,214 INFO L290 TraceCheckUtils]: 59: Hoare triple {4051#(and (< (+ ~counter~0 ~M2~0) (+ ~M1~0 1)) (<= ~M1~0 (+ ~counter~0 ~M2~0)))} [208] 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~mem12#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~mem12#1=|v_ULTIMATE.start_main_#t~mem12#1_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem12#1] {4051#(and (< (+ ~counter~0 ~M2~0) (+ ~M1~0 1)) (<= ~M1~0 (+ ~counter~0 ~M2~0)))} is VALID [2022-02-20 20:56:12,215 INFO L290 TraceCheckUtils]: 60: Hoare triple {4051#(and (< (+ ~counter~0 ~M2~0) (+ ~M1~0 1)) (<= ~M1~0 (+ ~counter~0 ~M2~0)))} [240] thread2EXIT-->L75-2: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar2_4) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem12#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ .cse0 (- 4294967296)))) v_thread2Thread1of1ForFork1_thidvar0_4) (= 0 v_thread2Thread1of1ForFork1_thidvar1_4)) InVars {thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, ULTIMATE.start_main_#t~mem12#1=|v_ULTIMATE.start_main_#t~mem12#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~mem12#1=|v_ULTIMATE.start_main_#t~mem12#1_5|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} AuxVars[] AssignedVars[] {4051#(and (< (+ ~counter~0 ~M2~0) (+ ~M1~0 1)) (<= ~M1~0 (+ ~counter~0 ~M2~0)))} is VALID [2022-02-20 20:56:12,215 INFO L290 TraceCheckUtils]: 61: Hoare triple {4051#(and (< (+ ~counter~0 ~M2~0) (+ ~M1~0 1)) (<= ~M1~0 (+ ~counter~0 ~M2~0)))} [195] L75-2-->L77: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem12#1=|v_ULTIMATE.start_main_#t~mem12#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem12#1] {4051#(and (< (+ ~counter~0 ~M2~0) (+ ~M1~0 1)) (<= ~M1~0 (+ ~counter~0 ~M2~0)))} is VALID [2022-02-20 20:56:12,216 INFO L290 TraceCheckUtils]: 62: Hoare triple {4051#(and (< (+ ~counter~0 ~M2~0) (+ ~M1~0 1)) (<= ~M1~0 (+ ~counter~0 ~M2~0)))} [147] L77-->L77-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4051#(and (< (+ ~counter~0 ~M2~0) (+ ~M1~0 1)) (<= ~M1~0 (+ ~counter~0 ~M2~0)))} is VALID [2022-02-20 20:56:12,216 INFO L290 TraceCheckUtils]: 63: Hoare triple {4051#(and (< (+ ~counter~0 ~M2~0) (+ ~M1~0 1)) (<= ~M1~0 (+ ~counter~0 ~M2~0)))} [163] L77-1-->L77-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3| (ite (not (= v_~counter~0_8 (+ (* (- 1) v_~M2~0_6) v_~M1~0_6))) 1 0)) InVars {~counter~0=v_~counter~0_8, ~M1~0=v_~M1~0_6, ~M2~0=v_~M2~0_6} OutVars{~counter~0=v_~counter~0_8, ~M1~0=v_~M1~0_6, ~M2~0=v_~M2~0_6, 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] {4052#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} is VALID [2022-02-20 20:56:12,216 INFO L290 TraceCheckUtils]: 64: Hoare triple {4052#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} [186] 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] {4052#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} is VALID [2022-02-20 20:56:12,217 INFO L290 TraceCheckUtils]: 65: Hoare triple {4052#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} [183] 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] {4053#(= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0)} is VALID [2022-02-20 20:56:12,218 INFO L290 TraceCheckUtils]: 66: Hoare triple {4053#(= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0)} [149] 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[] {4040#false} is VALID [2022-02-20 20:56:12,218 INFO L290 TraceCheckUtils]: 67: Hoare triple {4040#false} [157] L34-3-->L78: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4040#false} is VALID [2022-02-20 20:56:12,218 INFO L290 TraceCheckUtils]: 68: Hoare triple {4040#false} [164] L78-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4040#false} is VALID [2022-02-20 20:56:12,218 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 20:56:12,218 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 20:56:12,218 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1176545539] [2022-02-20 20:56:12,219 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1176545539] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 20:56:12,219 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2029285251] [2022-02-20 20:56:12,219 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 20:56:12,219 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 20:56:12,219 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 20:56:12,220 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 20:56:12,221 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-02-20 20:56:12,271 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 20:56:12,272 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 20:56:12,273 INFO L263 TraceCheckSpWp]: Trace formula consists of 155 conjuncts, 20 conjunts are in the unsatisfiable core [2022-02-20 20:56:12,298 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:56:12,299 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 20:56:12,979 INFO L290 TraceCheckUtils]: 0: Hoare triple {4039#true} [200] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4039#true} is VALID [2022-02-20 20:56:12,979 INFO L290 TraceCheckUtils]: 1: Hoare triple {4039#true} [181] L-1-->L-1-1: Formula: (and (= |v_#NULL.base_1| 0) (= |v_#NULL.offset_1| 0)) InVars {} OutVars{#NULL.offset=|v_#NULL.offset_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {4039#true} is VALID [2022-02-20 20:56:12,979 INFO L290 TraceCheckUtils]: 2: Hoare triple {4039#true} [204] 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[] {4039#true} is VALID [2022-02-20 20:56:12,979 INFO L290 TraceCheckUtils]: 3: Hoare triple {4039#true} [205] L-1-2-->L21: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {4039#true} is VALID [2022-02-20 20:56:12,979 INFO L290 TraceCheckUtils]: 4: Hoare triple {4039#true} [172] 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[] {4039#true} is VALID [2022-02-20 20:56:12,980 INFO L290 TraceCheckUtils]: 5: Hoare triple {4039#true} [196] 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[] {4039#true} is VALID [2022-02-20 20:56:12,980 INFO L290 TraceCheckUtils]: 6: Hoare triple {4039#true} [193] 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[] {4039#true} is VALID [2022-02-20 20:56:12,980 INFO L290 TraceCheckUtils]: 7: Hoare triple {4039#true} [159] L21-3-->L21-4: Formula: (and (= 34 (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[] {4039#true} is VALID [2022-02-20 20:56:12,980 INFO L290 TraceCheckUtils]: 8: Hoare triple {4039#true} [213] L21-4-->L38: Formula: (= 0 v_~M1~0_3) InVars {} OutVars{~M1~0=v_~M1~0_3} AuxVars[] AssignedVars[~M1~0] {4039#true} is VALID [2022-02-20 20:56:12,980 INFO L290 TraceCheckUtils]: 9: Hoare triple {4039#true} [214] L38-->L38-1: Formula: (= 0 v_~M2~0_3) InVars {} OutVars{~M2~0=v_~M2~0_3} AuxVars[] AssignedVars[~M2~0] {4039#true} is VALID [2022-02-20 20:56:12,980 INFO L290 TraceCheckUtils]: 10: Hoare triple {4039#true} [162] L38-1-->L-1-3: Formula: (= v_~counter~0_7 0) InVars {} OutVars{~counter~0=v_~counter~0_7} AuxVars[] AssignedVars[~counter~0] {4041#(= ~counter~0 0)} is VALID [2022-02-20 20:56:12,981 INFO L290 TraceCheckUtils]: 11: Hoare triple {4041#(= ~counter~0 0)} [209] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4041#(= ~counter~0 0)} is VALID [2022-02-20 20:56:12,981 INFO L290 TraceCheckUtils]: 12: Hoare triple {4041#(= ~counter~0 0)} [190] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4041#(= ~counter~0 0)} is VALID [2022-02-20 20:56:12,981 INFO L290 TraceCheckUtils]: 13: Hoare triple {4041#(= ~counter~0 0)} [154] 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] {4041#(= ~counter~0 0)} is VALID [2022-02-20 20:56:12,981 INFO L290 TraceCheckUtils]: 14: Hoare triple {4041#(= ~counter~0 0)} [187] L-1-6-->L65: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_1|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#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_#t~mem12#1=|v_ULTIMATE.start_main_#t~mem12#1_1|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_1|, ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_1|, ULTIMATE.start_main_#t~nondet8#1=|v_ULTIMATE.start_main_#t~nondet8#1_1|, ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#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~nondet10#1, ULTIMATE.start_main_#t~pre9#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_#t~nondet5#1, ULTIMATE.start_main_#t~nondet8#1, ULTIMATE.start_main_#t~nondet6#1, ULTIMATE.start_main_#t~mem11#1, ULTIMATE.start_main_#t~pre7#1, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_#t~mem12#1, ULTIMATE.start_main_~#t1~0#1.offset, ULTIMATE.start_main_~#t2~0#1.base] {4041#(= ~counter~0 0)} is VALID [2022-02-20 20:56:12,982 INFO L290 TraceCheckUtils]: 15: Hoare triple {4041#(= ~counter~0 0)} [216] 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] {4041#(= ~counter~0 0)} is VALID [2022-02-20 20:56:12,982 INFO L290 TraceCheckUtils]: 16: Hoare triple {4041#(= ~counter~0 0)} [201] 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] {4041#(= ~counter~0 0)} is VALID [2022-02-20 20:56:12,982 INFO L290 TraceCheckUtils]: 17: Hoare triple {4041#(= ~counter~0 0)} [180] L65-2-->L67: Formula: (and (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet5#1_2| 2147483648)) (<= |v_ULTIMATE.start_main_#t~nondet5#1_2| 2147483647)) InVars {ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_2|} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_2|} AuxVars[] AssignedVars[] {4041#(= ~counter~0 0)} is VALID [2022-02-20 20:56:12,983 INFO L290 TraceCheckUtils]: 18: Hoare triple {4041#(= ~counter~0 0)} [199] L67-->L67-1: Formula: (= |v_ULTIMATE.start_main_#t~nondet5#1_3| v_~M1~0_4) InVars {ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_3|} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_3|, ~M1~0=v_~M1~0_4} AuxVars[] AssignedVars[~M1~0] {4041#(= ~counter~0 0)} is VALID [2022-02-20 20:56:12,983 INFO L290 TraceCheckUtils]: 19: Hoare triple {4041#(= ~counter~0 0)} [168] L67-1-->L68: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet5#1] {4041#(= ~counter~0 0)} is VALID [2022-02-20 20:56:12,983 INFO L290 TraceCheckUtils]: 20: Hoare triple {4041#(= ~counter~0 0)} [203] L68-->L68-1: Formula: (and (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet6#1_2| 2147483648)) (<= |v_ULTIMATE.start_main_#t~nondet6#1_2| 2147483647)) InVars {ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_2|} OutVars{ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_2|} AuxVars[] AssignedVars[] {4041#(= ~counter~0 0)} is VALID [2022-02-20 20:56:12,983 INFO L290 TraceCheckUtils]: 21: Hoare triple {4041#(= ~counter~0 0)} [166] L68-1-->L68-2: Formula: (= |v_ULTIMATE.start_main_#t~nondet6#1_3| v_~M2~0_4) InVars {ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_3|} OutVars{~M2~0=v_~M2~0_4, ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_3|} AuxVars[] AssignedVars[~M2~0] {4041#(= ~counter~0 0)} is VALID [2022-02-20 20:56:12,984 INFO L290 TraceCheckUtils]: 22: Hoare triple {4041#(= ~counter~0 0)} [146] L68-2-->L69: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet6#1] {4041#(= ~counter~0 0)} is VALID [2022-02-20 20:56:12,984 INFO L290 TraceCheckUtils]: 23: Hoare triple {4041#(= ~counter~0 0)} [153] L69-->L69-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4041#(= ~counter~0 0)} is VALID [2022-02-20 20:56:12,984 INFO L290 TraceCheckUtils]: 24: Hoare triple {4041#(= ~counter~0 0)} [206] L69-1-->L69-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1| (ite (and (< 0 v_~M2~0_5) (< 0 v_~M1~0_5)) 1 0)) InVars {~M2~0=v_~M2~0_5, ~M1~0=v_~M1~0_5} OutVars{~M1~0=v_~M1~0_5, ~M2~0=v_~M2~0_5, 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] {4041#(= ~counter~0 0)} is VALID [2022-02-20 20:56:12,984 INFO L290 TraceCheckUtils]: 25: Hoare triple {4041#(= ~counter~0 0)} [178] 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] {4041#(= ~counter~0 0)} is VALID [2022-02-20 20:56:12,985 INFO L290 TraceCheckUtils]: 26: Hoare triple {4041#(= ~counter~0 0)} [170] 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] {4041#(= ~counter~0 0)} is VALID [2022-02-20 20:56:12,985 INFO L290 TraceCheckUtils]: 27: Hoare triple {4041#(= ~counter~0 0)} [198] 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[] {4041#(= ~counter~0 0)} is VALID [2022-02-20 20:56:12,985 INFO L290 TraceCheckUtils]: 28: Hoare triple {4041#(= ~counter~0 0)} [191] L34-1-->L72: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4041#(= ~counter~0 0)} is VALID [2022-02-20 20:56:12,985 INFO L290 TraceCheckUtils]: 29: Hoare triple {4041#(= ~counter~0 0)} [215] L72-->L72-1: Formula: (= |v_ULTIMATE.start_main_#t~pre7#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre7#1] {4041#(= ~counter~0 0)} is VALID [2022-02-20 20:56:12,986 INFO L290 TraceCheckUtils]: 30: Hoare triple {4041#(= ~counter~0 0)} [134] 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] {4041#(= ~counter~0 0)} is VALID [2022-02-20 20:56:12,986 INFO L290 TraceCheckUtils]: 31: Hoare triple {4041#(= ~counter~0 0)} [142] 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~pre7#1_3|)) |v_#memory_int_3|) InVars {#memory_int=|v_#memory_int_4|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} OutVars{#memory_int=|v_#memory_int_3|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} AuxVars[] AssignedVars[#memory_int] {4041#(= ~counter~0 0)} is VALID [2022-02-20 20:56:12,986 INFO L290 TraceCheckUtils]: 32: Hoare triple {4041#(= ~counter~0 0)} [236] L72-3-->thread1ENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre7#1_6| v_thread1Thread1of1ForFork0_thidvar0_2) (= v_thread1Thread1of1ForFork0_thidvar1_2 0)) InVars {ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_6|} OutVars{thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_4|, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_8|, thread1Thread1of1ForFork0_#t~post2=|v_thread1Thread1of1ForFork0_#t~post2_4|, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_12, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_2, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_4|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_2, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_6|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#t~post1, thread1Thread1of1ForFork0_#t~post2, thread1Thread1of1ForFork0_~i~0, thread1Thread1of1ForFork0_thidvar0, thread1Thread1of1ForFork0_#res.offset, thread1Thread1of1ForFork0_thidvar1] {4041#(= ~counter~0 0)} is VALID [2022-02-20 20:56:12,987 INFO L290 TraceCheckUtils]: 33: Hoare triple {4041#(= ~counter~0 0)} [218] 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] {4042#(and (= thread1Thread1of1ForFork0_~i~0 0) (= ~counter~0 0))} is VALID [2022-02-20 20:56:12,987 INFO L290 TraceCheckUtils]: 34: Hoare triple {4042#(and (= thread1Thread1of1ForFork0_~i~0 0) (= ~counter~0 0))} [221] L41-4-->L42: Formula: (< v_thread1Thread1of1ForFork0_~i~0_5 v_~M1~0_2) InVars {thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_5, ~M1~0=v_~M1~0_2} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_5, ~M1~0=v_~M1~0_2} AuxVars[] AssignedVars[] {4043#(and (= thread1Thread1of1ForFork0_~i~0 0) (= ~counter~0 0) (<= (+ thread1Thread1of1ForFork0_~i~0 1) ~M1~0))} is VALID [2022-02-20 20:56:12,988 INFO L290 TraceCheckUtils]: 35: Hoare triple {4043#(and (= thread1Thread1of1ForFork0_~i~0 0) (= ~counter~0 0) (<= (+ thread1Thread1of1ForFork0_~i~0 1) ~M1~0))} [223] L42-->L44: Formula: (= (+ v_~counter~0_26 1) v_~counter~0_25) InVars {~counter~0=v_~counter~0_26} OutVars{~counter~0=v_~counter~0_25, thread1Thread1of1ForFork0_#t~post2=|v_thread1Thread1of1ForFork0_#t~post2_1|} AuxVars[] AssignedVars[~counter~0, thread1Thread1of1ForFork0_#t~post2] {4162#(and (= thread1Thread1of1ForFork0_~i~0 0) (= (+ ~counter~0 (- 1)) 0) (<= (+ thread1Thread1of1ForFork0_~i~0 1) ~M1~0))} is VALID [2022-02-20 20:56:12,988 INFO L290 TraceCheckUtils]: 36: Hoare triple {4162#(and (= thread1Thread1of1ForFork0_~i~0 0) (= (+ ~counter~0 (- 1)) 0) (<= (+ thread1Thread1of1ForFork0_~i~0 1) ~M1~0))} [225] 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] {4166#(and (<= 1 ~M1~0) (= (+ ~counter~0 (- 1)) 0) (<= |thread1Thread1of1ForFork0_#t~post1| 0))} is VALID [2022-02-20 20:56:12,988 INFO L290 TraceCheckUtils]: 37: Hoare triple {4166#(and (<= 1 ~M1~0) (= (+ ~counter~0 (- 1)) 0) (<= |thread1Thread1of1ForFork0_#t~post1| 0))} [207] L72-4-->L72-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] {4166#(and (<= 1 ~M1~0) (= (+ ~counter~0 (- 1)) 0) (<= |thread1Thread1of1ForFork0_#t~post1| 0))} is VALID [2022-02-20 20:56:12,989 INFO L290 TraceCheckUtils]: 38: Hoare triple {4166#(and (<= 1 ~M1~0) (= (+ ~counter~0 (- 1)) 0) (<= |thread1Thread1of1ForFork0_#t~post1| 0))} [137] L72-5-->L73: 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] {4166#(and (<= 1 ~M1~0) (= (+ ~counter~0 (- 1)) 0) (<= |thread1Thread1of1ForFork0_#t~post1| 0))} is VALID [2022-02-20 20:56:12,989 INFO L290 TraceCheckUtils]: 39: Hoare triple {4166#(and (<= 1 ~M1~0) (= (+ ~counter~0 (- 1)) 0) (<= |thread1Thread1of1ForFork0_#t~post1| 0))} [174] L73-->L73-1: Formula: (= |v_ULTIMATE.start_main_#t~pre9#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre9#1] {4166#(and (<= 1 ~M1~0) (= (+ ~counter~0 (- 1)) 0) (<= |thread1Thread1of1ForFork0_#t~post1| 0))} is VALID [2022-02-20 20:56:12,990 INFO L290 TraceCheckUtils]: 40: Hoare triple {4166#(and (<= 1 ~M1~0) (= (+ ~counter~0 (- 1)) 0) (<= |thread1Thread1of1ForFork0_#t~post1| 0))} [189] 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] {4166#(and (<= 1 ~M1~0) (= (+ ~counter~0 (- 1)) 0) (<= |thread1Thread1of1ForFork0_#t~post1| 0))} is VALID [2022-02-20 20:56:12,990 INFO L290 TraceCheckUtils]: 41: Hoare triple {4166#(and (<= 1 ~M1~0) (= (+ ~counter~0 (- 1)) 0) (<= |thread1Thread1of1ForFork0_#t~post1| 0))} [175] 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~pre9#1_3|)) |v_#memory_int_5|) InVars {#memory_int=|v_#memory_int_6|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#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~pre9#1=|v_ULTIMATE.start_main_#t~pre9#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] {4166#(and (<= 1 ~M1~0) (= (+ ~counter~0 (- 1)) 0) (<= |thread1Thread1of1ForFork0_#t~post1| 0))} is VALID [2022-02-20 20:56:12,990 INFO L290 TraceCheckUtils]: 42: Hoare triple {4166#(and (<= 1 ~M1~0) (= (+ ~counter~0 (- 1)) 0) (<= |thread1Thread1of1ForFork0_#t~post1| 0))} [238] L73-3-->thread2ENTRY: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar1_2) (= |v_ULTIMATE.start_main_#t~pre9#1_6| v_thread2Thread1of1ForFork1_thidvar0_2) (= 0 v_thread2Thread1of1ForFork1_thidvar2_2)) InVars {ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_6|} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_4|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_12, thread2Thread1of1ForFork1_#t~post4=|v_thread2Thread1of1ForFork1_#t~post4_6|, thread2Thread1of1ForFork1_#t~post3=|v_thread2Thread1of1ForFork1_#t~post3_6|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_6|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_4|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_2, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_2, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_2} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_~i~1, thread2Thread1of1ForFork1_#t~post4, thread2Thread1of1ForFork1_#t~post3, thread2Thread1of1ForFork1_#res.base, thread2Thread1of1ForFork1_thidvar2, thread2Thread1of1ForFork1_thidvar0, thread2Thread1of1ForFork1_thidvar1] {4166#(and (<= 1 ~M1~0) (= (+ ~counter~0 (- 1)) 0) (<= |thread1Thread1of1ForFork0_#t~post1| 0))} is VALID [2022-02-20 20:56:12,991 INFO L290 TraceCheckUtils]: 43: Hoare triple {4166#(and (<= 1 ~M1~0) (= (+ ~counter~0 (- 1)) 0) (<= |thread1Thread1of1ForFork0_#t~post1| 0))} [228] 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] {4188#(and (<= 1 ~M1~0) (= thread2Thread1of1ForFork1_~i~1 0) (= (+ ~counter~0 (- 1)) 0) (<= |thread1Thread1of1ForFork0_#t~post1| 0))} is VALID [2022-02-20 20:56:12,991 INFO L290 TraceCheckUtils]: 44: Hoare triple {4188#(and (<= 1 ~M1~0) (= thread2Thread1of1ForFork1_~i~1 0) (= (+ ~counter~0 (- 1)) 0) (<= |thread1Thread1of1ForFork0_#t~post1| 0))} [226] 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] {4192#(and (<= thread1Thread1of1ForFork0_~i~0 1) (<= 1 ~M1~0) (= thread2Thread1of1ForFork1_~i~1 0) (= (+ ~counter~0 (- 1)) 0))} is VALID [2022-02-20 20:56:12,992 INFO L290 TraceCheckUtils]: 45: Hoare triple {4192#(and (<= thread1Thread1of1ForFork0_~i~0 1) (<= 1 ~M1~0) (= thread2Thread1of1ForFork1_~i~1 0) (= (+ ~counter~0 (- 1)) 0))} [227] L41-3-->L41-4: Formula: true InVars {} OutVars{thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_5|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1] {4192#(and (<= thread1Thread1of1ForFork0_~i~0 1) (<= 1 ~M1~0) (= thread2Thread1of1ForFork1_~i~1 0) (= (+ ~counter~0 (- 1)) 0))} is VALID [2022-02-20 20:56:12,992 INFO L290 TraceCheckUtils]: 46: Hoare triple {4192#(and (<= thread1Thread1of1ForFork0_~i~0 1) (<= 1 ~M1~0) (= thread2Thread1of1ForFork1_~i~1 0) (= (+ ~counter~0 (- 1)) 0))} [220] L41-4-->L41-5: Formula: (not (< v_thread1Thread1of1ForFork0_~i~0_3 v_~M1~0_1)) InVars {thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_3, ~M1~0=v_~M1~0_1} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_3, ~M1~0=v_~M1~0_1} AuxVars[] AssignedVars[] {4199#(and (<= ~M1~0 1) (<= 1 ~M1~0) (= thread2Thread1of1ForFork1_~i~1 0) (= (+ ~counter~0 (- 1)) 0))} is VALID [2022-02-20 20:56:12,993 INFO L290 TraceCheckUtils]: 47: Hoare triple {4199#(and (<= ~M1~0 1) (<= 1 ~M1~0) (= thread2Thread1of1ForFork1_~i~1 0) (= (+ ~counter~0 (- 1)) 0))} [177] L73-4-->L73-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre9#1] {4199#(and (<= ~M1~0 1) (<= 1 ~M1~0) (= thread2Thread1of1ForFork1_~i~1 0) (= (+ ~counter~0 (- 1)) 0))} is VALID [2022-02-20 20:56:12,993 INFO L290 TraceCheckUtils]: 48: Hoare triple {4199#(and (<= ~M1~0 1) (<= 1 ~M1~0) (= thread2Thread1of1ForFork1_~i~1 0) (= (+ ~counter~0 (- 1)) 0))} [176] L73-5-->L74: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet10#1] {4199#(and (<= ~M1~0 1) (<= 1 ~M1~0) (= thread2Thread1of1ForFork1_~i~1 0) (= (+ ~counter~0 (- 1)) 0))} is VALID [2022-02-20 20:56:12,993 INFO L290 TraceCheckUtils]: 49: Hoare triple {4199#(and (<= ~M1~0 1) (<= 1 ~M1~0) (= thread2Thread1of1ForFork1_~i~1 0) (= (+ ~counter~0 (- 1)) 0))} [135] L74-->L74-1: Formula: (= |v_ULTIMATE.start_main_#t~mem11#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{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_2|, #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|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem11#1] {4199#(and (<= ~M1~0 1) (<= 1 ~M1~0) (= thread2Thread1of1ForFork1_~i~1 0) (= (+ ~counter~0 (- 1)) 0))} is VALID [2022-02-20 20:56:12,994 INFO L290 TraceCheckUtils]: 50: Hoare triple {4199#(and (<= ~M1~0 1) (<= 1 ~M1~0) (= thread2Thread1of1ForFork1_~i~1 0) (= (+ ~counter~0 (- 1)) 0))} [222] 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] {4199#(and (<= ~M1~0 1) (<= 1 ~M1~0) (= thread2Thread1of1ForFork1_~i~1 0) (= (+ ~counter~0 (- 1)) 0))} is VALID [2022-02-20 20:56:12,994 INFO L290 TraceCheckUtils]: 51: Hoare triple {4199#(and (<= ~M1~0 1) (<= 1 ~M1~0) (= thread2Thread1of1ForFork1_~i~1 0) (= (+ ~counter~0 (- 1)) 0))} [224] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4199#(and (<= ~M1~0 1) (<= 1 ~M1~0) (= thread2Thread1of1ForFork1_~i~1 0) (= (+ ~counter~0 (- 1)) 0))} is VALID [2022-02-20 20:56:12,995 INFO L290 TraceCheckUtils]: 52: Hoare triple {4199#(and (<= ~M1~0 1) (<= 1 ~M1~0) (= thread2Thread1of1ForFork1_~i~1 0) (= (+ ~counter~0 (- 1)) 0))} [239] thread1EXIT-->L74-2: Formula: (and (= v_thread1Thread1of1ForFork0_thidvar1_4 0) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem11#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ (- 4294967296) .cse0))) v_thread1Thread1of1ForFork0_thidvar0_4)) InVars {ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_5|, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_5|, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4} AuxVars[] AssignedVars[] {4199#(and (<= ~M1~0 1) (<= 1 ~M1~0) (= thread2Thread1of1ForFork1_~i~1 0) (= (+ ~counter~0 (- 1)) 0))} is VALID [2022-02-20 20:56:12,995 INFO L290 TraceCheckUtils]: 53: Hoare triple {4199#(and (<= ~M1~0 1) (<= 1 ~M1~0) (= thread2Thread1of1ForFork1_~i~1 0) (= (+ ~counter~0 (- 1)) 0))} [231] L54-1-->L53: Formula: (< v_thread2Thread1of1ForFork1_~i~1_5 v_~M2~0_2) InVars {~M2~0=v_~M2~0_2, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_5} OutVars{~M2~0=v_~M2~0_2, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_5} AuxVars[] AssignedVars[] {4221#(and (<= ~M1~0 1) (<= 1 ~M1~0) (= thread2Thread1of1ForFork1_~i~1 0) (= (+ ~counter~0 (- 1)) 0) (< thread2Thread1of1ForFork1_~i~1 ~M2~0))} is VALID [2022-02-20 20:56:12,996 INFO L290 TraceCheckUtils]: 54: Hoare triple {4221#(and (<= ~M1~0 1) (<= 1 ~M1~0) (= thread2Thread1of1ForFork1_~i~1 0) (= (+ ~counter~0 (- 1)) 0) (< thread2Thread1of1ForFork1_~i~1 ~M2~0))} [233] L53-->L54-1: Formula: (let ((.cse0 (< 0 v_~counter~0_In_1))) (or (and .cse0 (= v_~counter~0_In_1 (+ v_~counter~0_Out_2 1)) (= (+ v_thread2Thread1of1ForFork1_~i~1_7 1) v_thread2Thread1of1ForFork1_~i~1_8)) (and (= v_~counter~0_Out_2 v_~counter~0_In_1) (= v_thread2Thread1of1ForFork1_~i~1_8 v_thread2Thread1of1ForFork1_~i~1_7) (not .cse0) (= |v_thread2Thread1of1ForFork1_#t~post3_1| |v_thread2Thread1of1ForFork1_#t~post3_2|) (= |v_thread2Thread1of1ForFork1_#t~post4_2| |v_thread2Thread1of1ForFork1_#t~post4_1|)))) InVars {~counter~0=v_~counter~0_In_1, thread2Thread1of1ForFork1_#t~post4=|v_thread2Thread1of1ForFork1_#t~post4_1|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_7, thread2Thread1of1ForFork1_#t~post3=|v_thread2Thread1of1ForFork1_#t~post3_1|} OutVars{~counter~0=v_~counter~0_Out_2, thread2Thread1of1ForFork1_#t~post4=|v_thread2Thread1of1ForFork1_#t~post4_2|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_8, thread2Thread1of1ForFork1_#t~post3=|v_thread2Thread1of1ForFork1_#t~post3_2|} AuxVars[] AssignedVars[~counter~0, thread2Thread1of1ForFork1_#t~post4, thread2Thread1of1ForFork1_~i~1, thread2Thread1of1ForFork1_#t~post3] {4225#(and (<= ~M1~0 1) (= thread2Thread1of1ForFork1_~i~1 1) (= (+ ~counter~0 1) 1) (<= 1 ~M1~0) (< 0 ~M2~0))} is VALID [2022-02-20 20:56:12,996 INFO L290 TraceCheckUtils]: 55: Hoare triple {4225#(and (<= ~M1~0 1) (= thread2Thread1of1ForFork1_~i~1 1) (= (+ ~counter~0 1) 1) (<= 1 ~M1~0) (< 0 ~M2~0))} [230] L54-1-->L52-2: Formula: (not (< v_thread2Thread1of1ForFork1_~i~1_3 v_~M2~0_1)) InVars {~M2~0=v_~M2~0_1, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_3} OutVars{~M2~0=v_~M2~0_1, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_3} AuxVars[] AssignedVars[] {4229#(and (<= ~M1~0 1) (= (+ ~counter~0 1) 1) (<= 1 ~M1~0) (not (< 1 ~M2~0)) (< 0 ~M2~0))} is VALID [2022-02-20 20:56:12,997 INFO L290 TraceCheckUtils]: 56: Hoare triple {4229#(and (<= ~M1~0 1) (= (+ ~counter~0 1) 1) (<= 1 ~M1~0) (not (< 1 ~M2~0)) (< 0 ~M2~0))} [232] 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] {4229#(and (<= ~M1~0 1) (= (+ ~counter~0 1) 1) (<= 1 ~M1~0) (not (< 1 ~M2~0)) (< 0 ~M2~0))} is VALID [2022-02-20 20:56:12,997 INFO L290 TraceCheckUtils]: 57: Hoare triple {4229#(and (<= ~M1~0 1) (= (+ ~counter~0 1) 1) (<= 1 ~M1~0) (not (< 1 ~M2~0)) (< 0 ~M2~0))} [234] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4229#(and (<= ~M1~0 1) (= (+ ~counter~0 1) 1) (<= 1 ~M1~0) (not (< 1 ~M2~0)) (< 0 ~M2~0))} is VALID [2022-02-20 20:56:12,998 INFO L290 TraceCheckUtils]: 58: Hoare triple {4229#(and (<= ~M1~0 1) (= (+ ~counter~0 1) 1) (<= 1 ~M1~0) (not (< 1 ~M2~0)) (< 0 ~M2~0))} [182] L74-2-->L75: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem11#1] {4229#(and (<= ~M1~0 1) (= (+ ~counter~0 1) 1) (<= 1 ~M1~0) (not (< 1 ~M2~0)) (< 0 ~M2~0))} is VALID [2022-02-20 20:56:12,998 INFO L290 TraceCheckUtils]: 59: Hoare triple {4229#(and (<= ~M1~0 1) (= (+ ~counter~0 1) 1) (<= 1 ~M1~0) (not (< 1 ~M2~0)) (< 0 ~M2~0))} [208] 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~mem12#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~mem12#1=|v_ULTIMATE.start_main_#t~mem12#1_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem12#1] {4229#(and (<= ~M1~0 1) (= (+ ~counter~0 1) 1) (<= 1 ~M1~0) (not (< 1 ~M2~0)) (< 0 ~M2~0))} is VALID [2022-02-20 20:56:12,999 INFO L290 TraceCheckUtils]: 60: Hoare triple {4229#(and (<= ~M1~0 1) (= (+ ~counter~0 1) 1) (<= 1 ~M1~0) (not (< 1 ~M2~0)) (< 0 ~M2~0))} [240] thread2EXIT-->L75-2: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar2_4) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem12#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ .cse0 (- 4294967296)))) v_thread2Thread1of1ForFork1_thidvar0_4) (= 0 v_thread2Thread1of1ForFork1_thidvar1_4)) InVars {thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, ULTIMATE.start_main_#t~mem12#1=|v_ULTIMATE.start_main_#t~mem12#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~mem12#1=|v_ULTIMATE.start_main_#t~mem12#1_5|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} AuxVars[] AssignedVars[] {4229#(and (<= ~M1~0 1) (= (+ ~counter~0 1) 1) (<= 1 ~M1~0) (not (< 1 ~M2~0)) (< 0 ~M2~0))} is VALID [2022-02-20 20:56:12,999 INFO L290 TraceCheckUtils]: 61: Hoare triple {4229#(and (<= ~M1~0 1) (= (+ ~counter~0 1) 1) (<= 1 ~M1~0) (not (< 1 ~M2~0)) (< 0 ~M2~0))} [195] L75-2-->L77: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem12#1=|v_ULTIMATE.start_main_#t~mem12#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem12#1] {4229#(and (<= ~M1~0 1) (= (+ ~counter~0 1) 1) (<= 1 ~M1~0) (not (< 1 ~M2~0)) (< 0 ~M2~0))} is VALID [2022-02-20 20:56:12,999 INFO L290 TraceCheckUtils]: 62: Hoare triple {4229#(and (<= ~M1~0 1) (= (+ ~counter~0 1) 1) (<= 1 ~M1~0) (not (< 1 ~M2~0)) (< 0 ~M2~0))} [147] L77-->L77-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4229#(and (<= ~M1~0 1) (= (+ ~counter~0 1) 1) (<= 1 ~M1~0) (not (< 1 ~M2~0)) (< 0 ~M2~0))} is VALID [2022-02-20 20:56:13,000 INFO L290 TraceCheckUtils]: 63: Hoare triple {4229#(and (<= ~M1~0 1) (= (+ ~counter~0 1) 1) (<= 1 ~M1~0) (not (< 1 ~M2~0)) (< 0 ~M2~0))} [163] L77-1-->L77-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3| (ite (not (= v_~counter~0_8 (+ (* (- 1) v_~M2~0_6) v_~M1~0_6))) 1 0)) InVars {~counter~0=v_~counter~0_8, ~M1~0=v_~M1~0_6, ~M2~0=v_~M2~0_6} OutVars{~counter~0=v_~counter~0_8, ~M1~0=v_~M1~0_6, ~M2~0=v_~M2~0_6, 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] {4052#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} is VALID [2022-02-20 20:56:13,000 INFO L290 TraceCheckUtils]: 64: Hoare triple {4052#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} [186] 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] {4052#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} is VALID [2022-02-20 20:56:13,001 INFO L290 TraceCheckUtils]: 65: Hoare triple {4052#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} [183] 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] {4053#(= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0)} is VALID [2022-02-20 20:56:13,001 INFO L290 TraceCheckUtils]: 66: Hoare triple {4053#(= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0)} [149] 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[] {4040#false} is VALID [2022-02-20 20:56:13,001 INFO L290 TraceCheckUtils]: 67: Hoare triple {4040#false} [157] L34-3-->L78: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4040#false} is VALID [2022-02-20 20:56:13,001 INFO L290 TraceCheckUtils]: 68: Hoare triple {4040#false} [164] L78-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4040#false} is VALID [2022-02-20 20:56:13,002 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 20:56:13,002 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 20:56:13,950 INFO L290 TraceCheckUtils]: 68: Hoare triple {4040#false} [164] L78-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4040#false} is VALID [2022-02-20 20:56:13,950 INFO L290 TraceCheckUtils]: 67: Hoare triple {4040#false} [157] L34-3-->L78: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4040#false} is VALID [2022-02-20 20:56:13,951 INFO L290 TraceCheckUtils]: 66: Hoare triple {4053#(= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0)} [149] 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[] {4040#false} is VALID [2022-02-20 20:56:13,951 INFO L290 TraceCheckUtils]: 65: Hoare triple {4052#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} [183] 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] {4053#(= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0)} is VALID [2022-02-20 20:56:13,951 INFO L290 TraceCheckUtils]: 64: Hoare triple {4052#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} [186] 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] {4052#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} is VALID [2022-02-20 20:56:13,952 INFO L290 TraceCheckUtils]: 63: Hoare triple {4051#(and (< (+ ~counter~0 ~M2~0) (+ ~M1~0 1)) (<= ~M1~0 (+ ~counter~0 ~M2~0)))} [163] L77-1-->L77-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3| (ite (not (= v_~counter~0_8 (+ (* (- 1) v_~M2~0_6) v_~M1~0_6))) 1 0)) InVars {~counter~0=v_~counter~0_8, ~M1~0=v_~M1~0_6, ~M2~0=v_~M2~0_6} OutVars{~counter~0=v_~counter~0_8, ~M1~0=v_~M1~0_6, ~M2~0=v_~M2~0_6, 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] {4052#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} is VALID [2022-02-20 20:56:13,952 INFO L290 TraceCheckUtils]: 62: Hoare triple {4051#(and (< (+ ~counter~0 ~M2~0) (+ ~M1~0 1)) (<= ~M1~0 (+ ~counter~0 ~M2~0)))} [147] L77-->L77-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4051#(and (< (+ ~counter~0 ~M2~0) (+ ~M1~0 1)) (<= ~M1~0 (+ ~counter~0 ~M2~0)))} is VALID [2022-02-20 20:56:13,953 INFO L290 TraceCheckUtils]: 61: Hoare triple {4051#(and (< (+ ~counter~0 ~M2~0) (+ ~M1~0 1)) (<= ~M1~0 (+ ~counter~0 ~M2~0)))} [195] L75-2-->L77: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem12#1=|v_ULTIMATE.start_main_#t~mem12#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem12#1] {4051#(and (< (+ ~counter~0 ~M2~0) (+ ~M1~0 1)) (<= ~M1~0 (+ ~counter~0 ~M2~0)))} is VALID [2022-02-20 20:56:13,953 INFO L290 TraceCheckUtils]: 60: Hoare triple {4051#(and (< (+ ~counter~0 ~M2~0) (+ ~M1~0 1)) (<= ~M1~0 (+ ~counter~0 ~M2~0)))} [240] thread2EXIT-->L75-2: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar2_4) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem12#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ .cse0 (- 4294967296)))) v_thread2Thread1of1ForFork1_thidvar0_4) (= 0 v_thread2Thread1of1ForFork1_thidvar1_4)) InVars {thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, ULTIMATE.start_main_#t~mem12#1=|v_ULTIMATE.start_main_#t~mem12#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~mem12#1=|v_ULTIMATE.start_main_#t~mem12#1_5|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} AuxVars[] AssignedVars[] {4051#(and (< (+ ~counter~0 ~M2~0) (+ ~M1~0 1)) (<= ~M1~0 (+ ~counter~0 ~M2~0)))} is VALID [2022-02-20 20:56:13,954 INFO L290 TraceCheckUtils]: 59: Hoare triple {4051#(and (< (+ ~counter~0 ~M2~0) (+ ~M1~0 1)) (<= ~M1~0 (+ ~counter~0 ~M2~0)))} [208] 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~mem12#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~mem12#1=|v_ULTIMATE.start_main_#t~mem12#1_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem12#1] {4051#(and (< (+ ~counter~0 ~M2~0) (+ ~M1~0 1)) (<= ~M1~0 (+ ~counter~0 ~M2~0)))} is VALID [2022-02-20 20:56:13,954 INFO L290 TraceCheckUtils]: 58: Hoare triple {4051#(and (< (+ ~counter~0 ~M2~0) (+ ~M1~0 1)) (<= ~M1~0 (+ ~counter~0 ~M2~0)))} [182] L74-2-->L75: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem11#1] {4051#(and (< (+ ~counter~0 ~M2~0) (+ ~M1~0 1)) (<= ~M1~0 (+ ~counter~0 ~M2~0)))} is VALID [2022-02-20 20:56:13,955 INFO L290 TraceCheckUtils]: 57: Hoare triple {4051#(and (< (+ ~counter~0 ~M2~0) (+ ~M1~0 1)) (<= ~M1~0 (+ ~counter~0 ~M2~0)))} [234] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4051#(and (< (+ ~counter~0 ~M2~0) (+ ~M1~0 1)) (<= ~M1~0 (+ ~counter~0 ~M2~0)))} is VALID [2022-02-20 20:56:13,955 INFO L290 TraceCheckUtils]: 56: Hoare triple {4051#(and (< (+ ~counter~0 ~M2~0) (+ ~M1~0 1)) (<= ~M1~0 (+ ~counter~0 ~M2~0)))} [232] 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] {4051#(and (< (+ ~counter~0 ~M2~0) (+ ~M1~0 1)) (<= ~M1~0 (+ ~counter~0 ~M2~0)))} is VALID [2022-02-20 20:56:13,956 INFO L290 TraceCheckUtils]: 55: Hoare triple {4308#(or (and (< (+ ~counter~0 ~M2~0) (+ ~M1~0 1)) (<= ~M1~0 (+ ~counter~0 ~M2~0))) (< thread2Thread1of1ForFork1_~i~1 ~M2~0))} [230] L54-1-->L52-2: Formula: (not (< v_thread2Thread1of1ForFork1_~i~1_3 v_~M2~0_1)) InVars {~M2~0=v_~M2~0_1, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_3} OutVars{~M2~0=v_~M2~0_1, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_3} AuxVars[] AssignedVars[] {4051#(and (< (+ ~counter~0 ~M2~0) (+ ~M1~0 1)) (<= ~M1~0 (+ ~counter~0 ~M2~0)))} is VALID [2022-02-20 20:56:13,957 INFO L290 TraceCheckUtils]: 54: Hoare triple {4312#(and (or (< (+ thread2Thread1of1ForFork1_~i~1 1) ~M2~0) (not (< 0 ~counter~0)) (and (<= (+ ~M1~0 1) (+ ~counter~0 ~M2~0)) (< (+ ~counter~0 ~M2~0) (+ 2 ~M1~0)))) (or (and (< (+ ~counter~0 ~M2~0) (+ ~M1~0 1)) (<= ~M1~0 (+ ~counter~0 ~M2~0))) (< 0 ~counter~0) (< thread2Thread1of1ForFork1_~i~1 ~M2~0)))} [233] L53-->L54-1: Formula: (let ((.cse0 (< 0 v_~counter~0_In_1))) (or (and .cse0 (= v_~counter~0_In_1 (+ v_~counter~0_Out_2 1)) (= (+ v_thread2Thread1of1ForFork1_~i~1_7 1) v_thread2Thread1of1ForFork1_~i~1_8)) (and (= v_~counter~0_Out_2 v_~counter~0_In_1) (= v_thread2Thread1of1ForFork1_~i~1_8 v_thread2Thread1of1ForFork1_~i~1_7) (not .cse0) (= |v_thread2Thread1of1ForFork1_#t~post3_1| |v_thread2Thread1of1ForFork1_#t~post3_2|) (= |v_thread2Thread1of1ForFork1_#t~post4_2| |v_thread2Thread1of1ForFork1_#t~post4_1|)))) InVars {~counter~0=v_~counter~0_In_1, thread2Thread1of1ForFork1_#t~post4=|v_thread2Thread1of1ForFork1_#t~post4_1|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_7, thread2Thread1of1ForFork1_#t~post3=|v_thread2Thread1of1ForFork1_#t~post3_1|} OutVars{~counter~0=v_~counter~0_Out_2, thread2Thread1of1ForFork1_#t~post4=|v_thread2Thread1of1ForFork1_#t~post4_2|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_8, thread2Thread1of1ForFork1_#t~post3=|v_thread2Thread1of1ForFork1_#t~post3_2|} AuxVars[] AssignedVars[~counter~0, thread2Thread1of1ForFork1_#t~post4, thread2Thread1of1ForFork1_~i~1, thread2Thread1of1ForFork1_#t~post3] {4308#(or (and (< (+ ~counter~0 ~M2~0) (+ ~M1~0 1)) (<= ~M1~0 (+ ~counter~0 ~M2~0))) (< thread2Thread1of1ForFork1_~i~1 ~M2~0))} is VALID [2022-02-20 20:56:13,957 INFO L290 TraceCheckUtils]: 53: Hoare triple {4316#(or (not (< 0 ~counter~0)) (and (<= ~M1~0 (+ ~counter~0 thread2Thread1of1ForFork1_~i~1)) (< (+ ~counter~0 thread2Thread1of1ForFork1_~i~1) (+ ~M1~0 1))))} [231] L54-1-->L53: Formula: (< v_thread2Thread1of1ForFork1_~i~1_5 v_~M2~0_2) InVars {~M2~0=v_~M2~0_2, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_5} OutVars{~M2~0=v_~M2~0_2, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_5} AuxVars[] AssignedVars[] {4312#(and (or (< (+ thread2Thread1of1ForFork1_~i~1 1) ~M2~0) (not (< 0 ~counter~0)) (and (<= (+ ~M1~0 1) (+ ~counter~0 ~M2~0)) (< (+ ~counter~0 ~M2~0) (+ 2 ~M1~0)))) (or (and (< (+ ~counter~0 ~M2~0) (+ ~M1~0 1)) (<= ~M1~0 (+ ~counter~0 ~M2~0))) (< 0 ~counter~0) (< thread2Thread1of1ForFork1_~i~1 ~M2~0)))} is VALID [2022-02-20 20:56:13,958 INFO L290 TraceCheckUtils]: 52: Hoare triple {4316#(or (not (< 0 ~counter~0)) (and (<= ~M1~0 (+ ~counter~0 thread2Thread1of1ForFork1_~i~1)) (< (+ ~counter~0 thread2Thread1of1ForFork1_~i~1) (+ ~M1~0 1))))} [239] thread1EXIT-->L74-2: Formula: (and (= v_thread1Thread1of1ForFork0_thidvar1_4 0) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem11#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ (- 4294967296) .cse0))) v_thread1Thread1of1ForFork0_thidvar0_4)) InVars {ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_5|, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4} OutVars{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_5|, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4} AuxVars[] AssignedVars[] {4316#(or (not (< 0 ~counter~0)) (and (<= ~M1~0 (+ ~counter~0 thread2Thread1of1ForFork1_~i~1)) (< (+ ~counter~0 thread2Thread1of1ForFork1_~i~1) (+ ~M1~0 1))))} is VALID [2022-02-20 20:56:13,958 INFO L290 TraceCheckUtils]: 51: Hoare triple {4316#(or (not (< 0 ~counter~0)) (and (<= ~M1~0 (+ ~counter~0 thread2Thread1of1ForFork1_~i~1)) (< (+ ~counter~0 thread2Thread1of1ForFork1_~i~1) (+ ~M1~0 1))))} [224] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4316#(or (not (< 0 ~counter~0)) (and (<= ~M1~0 (+ ~counter~0 thread2Thread1of1ForFork1_~i~1)) (< (+ ~counter~0 thread2Thread1of1ForFork1_~i~1) (+ ~M1~0 1))))} is VALID [2022-02-20 20:56:13,959 INFO L290 TraceCheckUtils]: 50: Hoare triple {4316#(or (not (< 0 ~counter~0)) (and (<= ~M1~0 (+ ~counter~0 thread2Thread1of1ForFork1_~i~1)) (< (+ ~counter~0 thread2Thread1of1ForFork1_~i~1) (+ ~M1~0 1))))} [222] 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] {4316#(or (not (< 0 ~counter~0)) (and (<= ~M1~0 (+ ~counter~0 thread2Thread1of1ForFork1_~i~1)) (< (+ ~counter~0 thread2Thread1of1ForFork1_~i~1) (+ ~M1~0 1))))} is VALID [2022-02-20 20:56:13,959 INFO L290 TraceCheckUtils]: 49: Hoare triple {4316#(or (not (< 0 ~counter~0)) (and (<= ~M1~0 (+ ~counter~0 thread2Thread1of1ForFork1_~i~1)) (< (+ ~counter~0 thread2Thread1of1ForFork1_~i~1) (+ ~M1~0 1))))} [135] L74-->L74-1: Formula: (= |v_ULTIMATE.start_main_#t~mem11#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{ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#1_2|, #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|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem11#1] {4316#(or (not (< 0 ~counter~0)) (and (<= ~M1~0 (+ ~counter~0 thread2Thread1of1ForFork1_~i~1)) (< (+ ~counter~0 thread2Thread1of1ForFork1_~i~1) (+ ~M1~0 1))))} is VALID [2022-02-20 20:56:13,960 INFO L290 TraceCheckUtils]: 48: Hoare triple {4316#(or (not (< 0 ~counter~0)) (and (<= ~M1~0 (+ ~counter~0 thread2Thread1of1ForFork1_~i~1)) (< (+ ~counter~0 thread2Thread1of1ForFork1_~i~1) (+ ~M1~0 1))))} [176] L73-5-->L74: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet10#1] {4316#(or (not (< 0 ~counter~0)) (and (<= ~M1~0 (+ ~counter~0 thread2Thread1of1ForFork1_~i~1)) (< (+ ~counter~0 thread2Thread1of1ForFork1_~i~1) (+ ~M1~0 1))))} is VALID [2022-02-20 20:56:13,960 INFO L290 TraceCheckUtils]: 47: Hoare triple {4316#(or (not (< 0 ~counter~0)) (and (<= ~M1~0 (+ ~counter~0 thread2Thread1of1ForFork1_~i~1)) (< (+ ~counter~0 thread2Thread1of1ForFork1_~i~1) (+ ~M1~0 1))))} [177] L73-4-->L73-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre9#1] {4316#(or (not (< 0 ~counter~0)) (and (<= ~M1~0 (+ ~counter~0 thread2Thread1of1ForFork1_~i~1)) (< (+ ~counter~0 thread2Thread1of1ForFork1_~i~1) (+ ~M1~0 1))))} is VALID [2022-02-20 20:56:13,961 INFO L290 TraceCheckUtils]: 46: Hoare triple {4338#(or (not (< 0 ~counter~0)) (< thread1Thread1of1ForFork0_~i~0 ~M1~0) (and (<= ~M1~0 (+ ~counter~0 thread2Thread1of1ForFork1_~i~1)) (< (+ ~counter~0 thread2Thread1of1ForFork1_~i~1) (+ ~M1~0 1))))} [220] L41-4-->L41-5: Formula: (not (< v_thread1Thread1of1ForFork0_~i~0_3 v_~M1~0_1)) InVars {thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_3, ~M1~0=v_~M1~0_1} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_3, ~M1~0=v_~M1~0_1} AuxVars[] AssignedVars[] {4316#(or (not (< 0 ~counter~0)) (and (<= ~M1~0 (+ ~counter~0 thread2Thread1of1ForFork1_~i~1)) (< (+ ~counter~0 thread2Thread1of1ForFork1_~i~1) (+ ~M1~0 1))))} is VALID [2022-02-20 20:56:13,961 INFO L290 TraceCheckUtils]: 45: Hoare triple {4338#(or (not (< 0 ~counter~0)) (< thread1Thread1of1ForFork0_~i~0 ~M1~0) (and (<= ~M1~0 (+ ~counter~0 thread2Thread1of1ForFork1_~i~1)) (< (+ ~counter~0 thread2Thread1of1ForFork1_~i~1) (+ ~M1~0 1))))} [227] L41-3-->L41-4: Formula: true InVars {} OutVars{thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_5|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1] {4338#(or (not (< 0 ~counter~0)) (< thread1Thread1of1ForFork0_~i~0 ~M1~0) (and (<= ~M1~0 (+ ~counter~0 thread2Thread1of1ForFork1_~i~1)) (< (+ ~counter~0 thread2Thread1of1ForFork1_~i~1) (+ ~M1~0 1))))} is VALID [2022-02-20 20:56:13,962 INFO L290 TraceCheckUtils]: 44: Hoare triple {4345#(or (< (+ |thread1Thread1of1ForFork0_#t~post1| 1) ~M1~0) (not (< 0 ~counter~0)) (and (<= ~M1~0 (+ ~counter~0 thread2Thread1of1ForFork1_~i~1)) (< (+ ~counter~0 thread2Thread1of1ForFork1_~i~1) (+ ~M1~0 1))))} [226] 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] {4338#(or (not (< 0 ~counter~0)) (< thread1Thread1of1ForFork0_~i~0 ~M1~0) (and (<= ~M1~0 (+ ~counter~0 thread2Thread1of1ForFork1_~i~1)) (< (+ ~counter~0 thread2Thread1of1ForFork1_~i~1) (+ ~M1~0 1))))} is VALID [2022-02-20 20:56:13,962 INFO L290 TraceCheckUtils]: 43: Hoare triple {4349#(or (< (+ |thread1Thread1of1ForFork0_#t~post1| 1) ~M1~0) (not (< 0 ~counter~0)) (and (< ~counter~0 (+ ~M1~0 1)) (<= ~M1~0 ~counter~0)))} [228] 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] {4345#(or (< (+ |thread1Thread1of1ForFork0_#t~post1| 1) ~M1~0) (not (< 0 ~counter~0)) (and (<= ~M1~0 (+ ~counter~0 thread2Thread1of1ForFork1_~i~1)) (< (+ ~counter~0 thread2Thread1of1ForFork1_~i~1) (+ ~M1~0 1))))} is VALID [2022-02-20 20:56:13,963 INFO L290 TraceCheckUtils]: 42: Hoare triple {4349#(or (< (+ |thread1Thread1of1ForFork0_#t~post1| 1) ~M1~0) (not (< 0 ~counter~0)) (and (< ~counter~0 (+ ~M1~0 1)) (<= ~M1~0 ~counter~0)))} [238] L73-3-->thread2ENTRY: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar1_2) (= |v_ULTIMATE.start_main_#t~pre9#1_6| v_thread2Thread1of1ForFork1_thidvar0_2) (= 0 v_thread2Thread1of1ForFork1_thidvar2_2)) InVars {ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_6|} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_4|, thread2Thread1of1ForFork1_~i~1=v_thread2Thread1of1ForFork1_~i~1_12, thread2Thread1of1ForFork1_#t~post4=|v_thread2Thread1of1ForFork1_#t~post4_6|, thread2Thread1of1ForFork1_#t~post3=|v_thread2Thread1of1ForFork1_#t~post3_6|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_6|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_4|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_2, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_2, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_2} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_~i~1, thread2Thread1of1ForFork1_#t~post4, thread2Thread1of1ForFork1_#t~post3, thread2Thread1of1ForFork1_#res.base, thread2Thread1of1ForFork1_thidvar2, thread2Thread1of1ForFork1_thidvar0, thread2Thread1of1ForFork1_thidvar1] {4349#(or (< (+ |thread1Thread1of1ForFork0_#t~post1| 1) ~M1~0) (not (< 0 ~counter~0)) (and (< ~counter~0 (+ ~M1~0 1)) (<= ~M1~0 ~counter~0)))} is VALID [2022-02-20 20:56:13,963 INFO L290 TraceCheckUtils]: 41: Hoare triple {4349#(or (< (+ |thread1Thread1of1ForFork0_#t~post1| 1) ~M1~0) (not (< 0 ~counter~0)) (and (< ~counter~0 (+ ~M1~0 1)) (<= ~M1~0 ~counter~0)))} [175] 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~pre9#1_3|)) |v_#memory_int_5|) InVars {#memory_int=|v_#memory_int_6|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#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~pre9#1=|v_ULTIMATE.start_main_#t~pre9#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] {4349#(or (< (+ |thread1Thread1of1ForFork0_#t~post1| 1) ~M1~0) (not (< 0 ~counter~0)) (and (< ~counter~0 (+ ~M1~0 1)) (<= ~M1~0 ~counter~0)))} is VALID [2022-02-20 20:56:13,964 INFO L290 TraceCheckUtils]: 40: Hoare triple {4349#(or (< (+ |thread1Thread1of1ForFork0_#t~post1| 1) ~M1~0) (not (< 0 ~counter~0)) (and (< ~counter~0 (+ ~M1~0 1)) (<= ~M1~0 ~counter~0)))} [189] 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] {4349#(or (< (+ |thread1Thread1of1ForFork0_#t~post1| 1) ~M1~0) (not (< 0 ~counter~0)) (and (< ~counter~0 (+ ~M1~0 1)) (<= ~M1~0 ~counter~0)))} is VALID [2022-02-20 20:56:13,964 INFO L290 TraceCheckUtils]: 39: Hoare triple {4349#(or (< (+ |thread1Thread1of1ForFork0_#t~post1| 1) ~M1~0) (not (< 0 ~counter~0)) (and (< ~counter~0 (+ ~M1~0 1)) (<= ~M1~0 ~counter~0)))} [174] L73-->L73-1: Formula: (= |v_ULTIMATE.start_main_#t~pre9#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre9#1] {4349#(or (< (+ |thread1Thread1of1ForFork0_#t~post1| 1) ~M1~0) (not (< 0 ~counter~0)) (and (< ~counter~0 (+ ~M1~0 1)) (<= ~M1~0 ~counter~0)))} is VALID [2022-02-20 20:56:13,965 INFO L290 TraceCheckUtils]: 38: Hoare triple {4349#(or (< (+ |thread1Thread1of1ForFork0_#t~post1| 1) ~M1~0) (not (< 0 ~counter~0)) (and (< ~counter~0 (+ ~M1~0 1)) (<= ~M1~0 ~counter~0)))} [137] L72-5-->L73: 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] {4349#(or (< (+ |thread1Thread1of1ForFork0_#t~post1| 1) ~M1~0) (not (< 0 ~counter~0)) (and (< ~counter~0 (+ ~M1~0 1)) (<= ~M1~0 ~counter~0)))} is VALID [2022-02-20 20:56:13,965 INFO L290 TraceCheckUtils]: 37: Hoare triple {4349#(or (< (+ |thread1Thread1of1ForFork0_#t~post1| 1) ~M1~0) (not (< 0 ~counter~0)) (and (< ~counter~0 (+ ~M1~0 1)) (<= ~M1~0 ~counter~0)))} [207] L72-4-->L72-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] {4349#(or (< (+ |thread1Thread1of1ForFork0_#t~post1| 1) ~M1~0) (not (< 0 ~counter~0)) (and (< ~counter~0 (+ ~M1~0 1)) (<= ~M1~0 ~counter~0)))} is VALID [2022-02-20 20:56:13,966 INFO L290 TraceCheckUtils]: 36: Hoare triple {4371#(or (not (< 0 ~counter~0)) (< (+ thread1Thread1of1ForFork0_~i~0 1) ~M1~0) (and (< ~counter~0 (+ ~M1~0 1)) (<= ~M1~0 ~counter~0)))} [225] 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] {4349#(or (< (+ |thread1Thread1of1ForFork0_#t~post1| 1) ~M1~0) (not (< 0 ~counter~0)) (and (< ~counter~0 (+ ~M1~0 1)) (<= ~M1~0 ~counter~0)))} is VALID [2022-02-20 20:56:13,967 INFO L290 TraceCheckUtils]: 35: Hoare triple {4375#(or (and (<= ~M1~0 (+ ~counter~0 1)) (< ~counter~0 ~M1~0)) (< (+ thread1Thread1of1ForFork0_~i~0 1) ~M1~0) (not (< 0 (+ ~counter~0 1))))} [223] L42-->L44: Formula: (= (+ v_~counter~0_26 1) v_~counter~0_25) InVars {~counter~0=v_~counter~0_26} OutVars{~counter~0=v_~counter~0_25, thread1Thread1of1ForFork0_#t~post2=|v_thread1Thread1of1ForFork0_#t~post2_1|} AuxVars[] AssignedVars[~counter~0, thread1Thread1of1ForFork0_#t~post2] {4371#(or (not (< 0 ~counter~0)) (< (+ thread1Thread1of1ForFork0_~i~0 1) ~M1~0) (and (< ~counter~0 (+ ~M1~0 1)) (<= ~M1~0 ~counter~0)))} is VALID [2022-02-20 20:56:13,967 INFO L290 TraceCheckUtils]: 34: Hoare triple {4379#(or (and (<= ~counter~0 thread1Thread1of1ForFork0_~i~0) (<= thread1Thread1of1ForFork0_~i~0 ~counter~0)) (not (< 0 (+ ~counter~0 1))))} [221] L41-4-->L42: Formula: (< v_thread1Thread1of1ForFork0_~i~0_5 v_~M1~0_2) InVars {thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_5, ~M1~0=v_~M1~0_2} OutVars{thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_5, ~M1~0=v_~M1~0_2} AuxVars[] AssignedVars[] {4375#(or (and (<= ~M1~0 (+ ~counter~0 1)) (< ~counter~0 ~M1~0)) (< (+ thread1Thread1of1ForFork0_~i~0 1) ~M1~0) (not (< 0 (+ ~counter~0 1))))} is VALID [2022-02-20 20:56:13,968 INFO L290 TraceCheckUtils]: 33: Hoare triple {4383#(<= ~counter~0 0)} [218] 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] {4379#(or (and (<= ~counter~0 thread1Thread1of1ForFork0_~i~0) (<= thread1Thread1of1ForFork0_~i~0 ~counter~0)) (not (< 0 (+ ~counter~0 1))))} is VALID [2022-02-20 20:56:13,968 INFO L290 TraceCheckUtils]: 32: Hoare triple {4383#(<= ~counter~0 0)} [236] L72-3-->thread1ENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre7#1_6| v_thread1Thread1of1ForFork0_thidvar0_2) (= v_thread1Thread1of1ForFork0_thidvar1_2 0)) InVars {ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_6|} OutVars{thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_4|, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_8|, thread1Thread1of1ForFork0_#t~post2=|v_thread1Thread1of1ForFork0_#t~post2_4|, thread1Thread1of1ForFork0_~i~0=v_thread1Thread1of1ForFork0_~i~0_12, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_2, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_4|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_2, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_6|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#t~post1, thread1Thread1of1ForFork0_#t~post2, thread1Thread1of1ForFork0_~i~0, thread1Thread1of1ForFork0_thidvar0, thread1Thread1of1ForFork0_#res.offset, thread1Thread1of1ForFork0_thidvar1] {4383#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:13,968 INFO L290 TraceCheckUtils]: 31: Hoare triple {4383#(<= ~counter~0 0)} [142] 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~pre7#1_3|)) |v_#memory_int_3|) InVars {#memory_int=|v_#memory_int_4|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} OutVars{#memory_int=|v_#memory_int_3|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} AuxVars[] AssignedVars[#memory_int] {4383#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:13,969 INFO L290 TraceCheckUtils]: 30: Hoare triple {4383#(<= ~counter~0 0)} [134] 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] {4383#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:13,969 INFO L290 TraceCheckUtils]: 29: Hoare triple {4383#(<= ~counter~0 0)} [215] L72-->L72-1: Formula: (= |v_ULTIMATE.start_main_#t~pre7#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre7#1] {4383#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:13,969 INFO L290 TraceCheckUtils]: 28: Hoare triple {4383#(<= ~counter~0 0)} [191] L34-1-->L72: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4383#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:13,970 INFO L290 TraceCheckUtils]: 27: Hoare triple {4383#(<= ~counter~0 0)} [198] 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[] {4383#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:13,970 INFO L290 TraceCheckUtils]: 26: Hoare triple {4383#(<= ~counter~0 0)} [170] 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] {4383#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:13,970 INFO L290 TraceCheckUtils]: 25: Hoare triple {4383#(<= ~counter~0 0)} [178] 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] {4383#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:13,971 INFO L290 TraceCheckUtils]: 24: Hoare triple {4383#(<= ~counter~0 0)} [206] L69-1-->L69-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1| (ite (and (< 0 v_~M2~0_5) (< 0 v_~M1~0_5)) 1 0)) InVars {~M2~0=v_~M2~0_5, ~M1~0=v_~M1~0_5} OutVars{~M1~0=v_~M1~0_5, ~M2~0=v_~M2~0_5, 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] {4383#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:13,971 INFO L290 TraceCheckUtils]: 23: Hoare triple {4383#(<= ~counter~0 0)} [153] L69-->L69-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4383#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:13,972 INFO L290 TraceCheckUtils]: 22: Hoare triple {4383#(<= ~counter~0 0)} [146] L68-2-->L69: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet6#1] {4383#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:13,972 INFO L290 TraceCheckUtils]: 21: Hoare triple {4383#(<= ~counter~0 0)} [166] L68-1-->L68-2: Formula: (= |v_ULTIMATE.start_main_#t~nondet6#1_3| v_~M2~0_4) InVars {ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_3|} OutVars{~M2~0=v_~M2~0_4, ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_3|} AuxVars[] AssignedVars[~M2~0] {4383#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:13,972 INFO L290 TraceCheckUtils]: 20: Hoare triple {4383#(<= ~counter~0 0)} [203] L68-->L68-1: Formula: (and (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet6#1_2| 2147483648)) (<= |v_ULTIMATE.start_main_#t~nondet6#1_2| 2147483647)) InVars {ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_2|} OutVars{ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_2|} AuxVars[] AssignedVars[] {4383#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:13,973 INFO L290 TraceCheckUtils]: 19: Hoare triple {4383#(<= ~counter~0 0)} [168] L67-1-->L68: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet5#1] {4383#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:13,973 INFO L290 TraceCheckUtils]: 18: Hoare triple {4383#(<= ~counter~0 0)} [199] L67-->L67-1: Formula: (= |v_ULTIMATE.start_main_#t~nondet5#1_3| v_~M1~0_4) InVars {ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_3|} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_3|, ~M1~0=v_~M1~0_4} AuxVars[] AssignedVars[~M1~0] {4383#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:13,973 INFO L290 TraceCheckUtils]: 17: Hoare triple {4383#(<= ~counter~0 0)} [180] L65-2-->L67: Formula: (and (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet5#1_2| 2147483648)) (<= |v_ULTIMATE.start_main_#t~nondet5#1_2| 2147483647)) InVars {ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_2|} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_2|} AuxVars[] AssignedVars[] {4383#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:13,981 INFO L290 TraceCheckUtils]: 16: Hoare triple {4383#(<= ~counter~0 0)} [201] 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] {4383#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:13,981 INFO L290 TraceCheckUtils]: 15: Hoare triple {4383#(<= ~counter~0 0)} [216] 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] {4383#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:13,982 INFO L290 TraceCheckUtils]: 14: Hoare triple {4383#(<= ~counter~0 0)} [187] L-1-6-->L65: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_1|, ULTIMATE.start_main_#t~pre9#1=|v_ULTIMATE.start_main_#t~pre9#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_#t~mem12#1=|v_ULTIMATE.start_main_#t~mem12#1_1|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_1|, ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_1|, ULTIMATE.start_main_#t~nondet8#1=|v_ULTIMATE.start_main_#t~nondet8#1_1|, ULTIMATE.start_main_#t~mem11#1=|v_ULTIMATE.start_main_#t~mem11#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~nondet10#1, ULTIMATE.start_main_#t~pre9#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_#t~nondet5#1, ULTIMATE.start_main_#t~nondet8#1, ULTIMATE.start_main_#t~nondet6#1, ULTIMATE.start_main_#t~mem11#1, ULTIMATE.start_main_#t~pre7#1, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_#t~mem12#1, ULTIMATE.start_main_~#t1~0#1.offset, ULTIMATE.start_main_~#t2~0#1.base] {4383#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:13,982 INFO L290 TraceCheckUtils]: 13: Hoare triple {4383#(<= ~counter~0 0)} [154] 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] {4383#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:13,982 INFO L290 TraceCheckUtils]: 12: Hoare triple {4383#(<= ~counter~0 0)} [190] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4383#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:13,983 INFO L290 TraceCheckUtils]: 11: Hoare triple {4383#(<= ~counter~0 0)} [209] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4383#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:13,983 INFO L290 TraceCheckUtils]: 10: Hoare triple {4039#true} [162] L38-1-->L-1-3: Formula: (= v_~counter~0_7 0) InVars {} OutVars{~counter~0=v_~counter~0_7} AuxVars[] AssignedVars[~counter~0] {4383#(<= ~counter~0 0)} is VALID [2022-02-20 20:56:13,983 INFO L290 TraceCheckUtils]: 9: Hoare triple {4039#true} [214] L38-->L38-1: Formula: (= 0 v_~M2~0_3) InVars {} OutVars{~M2~0=v_~M2~0_3} AuxVars[] AssignedVars[~M2~0] {4039#true} is VALID [2022-02-20 20:56:13,983 INFO L290 TraceCheckUtils]: 8: Hoare triple {4039#true} [213] L21-4-->L38: Formula: (= 0 v_~M1~0_3) InVars {} OutVars{~M1~0=v_~M1~0_3} AuxVars[] AssignedVars[~M1~0] {4039#true} is VALID [2022-02-20 20:56:13,983 INFO L290 TraceCheckUtils]: 7: Hoare triple {4039#true} [159] L21-3-->L21-4: Formula: (and (= 34 (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[] {4039#true} is VALID [2022-02-20 20:56:13,983 INFO L290 TraceCheckUtils]: 6: Hoare triple {4039#true} [193] 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[] {4039#true} is VALID [2022-02-20 20:56:13,984 INFO L290 TraceCheckUtils]: 5: Hoare triple {4039#true} [196] 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[] {4039#true} is VALID [2022-02-20 20:56:13,984 INFO L290 TraceCheckUtils]: 4: Hoare triple {4039#true} [172] 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[] {4039#true} is VALID [2022-02-20 20:56:13,984 INFO L290 TraceCheckUtils]: 3: Hoare triple {4039#true} [205] L-1-2-->L21: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {4039#true} is VALID [2022-02-20 20:56:13,984 INFO L290 TraceCheckUtils]: 2: Hoare triple {4039#true} [204] 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[] {4039#true} is VALID [2022-02-20 20:56:13,984 INFO L290 TraceCheckUtils]: 1: Hoare triple {4039#true} [181] L-1-->L-1-1: Formula: (and (= |v_#NULL.base_1| 0) (= |v_#NULL.offset_1| 0)) InVars {} OutVars{#NULL.offset=|v_#NULL.offset_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {4039#true} is VALID [2022-02-20 20:56:13,984 INFO L290 TraceCheckUtils]: 0: Hoare triple {4039#true} [200] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4039#true} is VALID [2022-02-20 20:56:13,984 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 20:56:13,985 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2029285251] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 20:56:13,985 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 20:56:13,985 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 15, 15] total 33 [2022-02-20 20:56:13,985 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1366671043] [2022-02-20 20:56:13,985 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 20:56:13,986 INFO L78 Accepts]: Start accepts. Automaton has has 33 states, 33 states have (on average 4.363636363636363) internal successors, (144), 33 states have internal predecessors, (144), 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 69 [2022-02-20 20:56:13,986 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 20:56:13,986 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 33 states, 33 states have (on average 4.363636363636363) internal successors, (144), 33 states have internal predecessors, (144), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:14,075 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 144 edges. 144 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 20:56:14,075 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 33 states [2022-02-20 20:56:14,075 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 20:56:14,076 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 33 interpolants. [2022-02-20 20:56:14,076 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=161, Invalid=895, Unknown=0, NotChecked=0, Total=1056 [2022-02-20 20:56:14,077 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 51 out of 86 [2022-02-20 20:56:14,079 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 168 places, 202 transitions, 991 flow. Second operand has 33 states, 33 states have (on average 52.878787878787875) internal successors, (1745), 33 states have internal predecessors, (1745), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:56:14,079 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 20:56:14,079 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 51 of 86 [2022-02-20 20:56:14,079 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand