./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/pthread-ext/31_simple_loop5_vs.i --full-output -ea --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 03d7b7b3 Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -ea -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/pthread-ext/31_simple_loop5_vs.i -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 3ace826ce717f8420bd44e3ebb10a0f5689c8f1d5dcaf8399a3f9b8d8dda146f --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 20:12:06,719 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 20:12:06,722 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 20:12:06,752 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 20:12:06,753 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 20:12:06,755 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 20:12:06,756 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 20:12:06,758 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 20:12:06,760 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 20:12:06,763 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 20:12:06,763 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 20:12:06,764 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 20:12:06,765 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 20:12:06,766 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 20:12:06,767 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 20:12:06,769 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 20:12:06,770 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 20:12:06,770 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 20:12:06,772 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 20:12:06,776 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 20:12:06,777 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 20:12:06,778 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 20:12:06,779 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 20:12:06,780 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 20:12:06,784 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 20:12:06,785 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 20:12:06,785 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 20:12:06,786 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 20:12:06,786 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 20:12:06,787 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 20:12:06,787 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 20:12:06,788 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 20:12:06,789 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 20:12:06,789 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 20:12:06,790 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 20:12:06,790 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 20:12:06,791 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 20:12:06,791 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 20:12:06,791 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 20:12:06,792 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 20:12:06,792 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 20:12:06,793 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:12:06,819 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 20:12:06,820 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 20:12:06,820 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 20:12:06,820 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 20:12:06,821 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 20:12:06,821 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 20:12:06,821 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 20:12:06,821 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 20:12:06,822 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 20:12:06,822 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 20:12:06,822 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 20:12:06,823 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 20:12:06,823 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 20:12:06,823 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 20:12:06,823 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 20:12:06,823 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 20:12:06,823 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 20:12:06,823 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 20:12:06,824 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 20:12:06,824 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 20:12:06,824 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 20:12:06,824 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 20:12:06,824 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 20:12:06,824 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 20:12:06,824 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 20:12:06,825 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 20:12:06,825 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 20:12:06,826 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 20:12:06,826 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 20:12:06,826 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 20:12:06,826 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 20:12:06,826 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 20:12:06,826 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 20:12:06,827 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 -> 3ace826ce717f8420bd44e3ebb10a0f5689c8f1d5dcaf8399a3f9b8d8dda146f [2022-02-20 20:12:07,025 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 20:12:07,048 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 20:12:07,050 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 20:12:07,052 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 20:12:07,052 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 20:12:07,053 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/pthread-ext/31_simple_loop5_vs.i [2022-02-20 20:12:07,102 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/d2de43101/e81e918971a2412789f26ce09ffefa9f/FLAG5d4ad25cd [2022-02-20 20:12:07,541 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 20:12:07,542 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/pthread-ext/31_simple_loop5_vs.i [2022-02-20 20:12:07,557 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/d2de43101/e81e918971a2412789f26ce09ffefa9f/FLAG5d4ad25cd [2022-02-20 20:12:07,569 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/d2de43101/e81e918971a2412789f26ce09ffefa9f [2022-02-20 20:12:07,572 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 20:12:07,573 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 20:12:07,575 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 20:12:07,575 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 20:12:07,577 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 20:12:07,578 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 08:12:07" (1/1) ... [2022-02-20 20:12:07,579 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@612825c4 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:12:07, skipping insertion in model container [2022-02-20 20:12:07,579 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 08:12:07" (1/1) ... [2022-02-20 20:12:07,584 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 20:12:07,617 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 20:12:07,895 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/pthread-ext/31_simple_loop5_vs.i[30438,30451] [2022-02-20 20:12:07,905 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 20:12:07,912 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 20:12:07,949 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/pthread-ext/31_simple_loop5_vs.i[30438,30451] [2022-02-20 20:12:07,957 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 20:12:07,987 INFO L208 MainTranslator]: Completed translation [2022-02-20 20:12:07,987 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:12:07 WrapperNode [2022-02-20 20:12:07,988 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 20:12:07,989 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 20:12:07,989 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 20:12:07,989 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 20:12:07,994 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:12:07" (1/1) ... [2022-02-20 20:12:08,020 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:12:07" (1/1) ... [2022-02-20 20:12:08,037 INFO L137 Inliner]: procedures = 170, calls = 18, calls flagged for inlining = 8, calls inlined = 10, statements flattened = 83 [2022-02-20 20:12:08,037 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 20:12:08,038 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 20:12:08,038 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 20:12:08,038 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 20:12:08,043 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:12:07" (1/1) ... [2022-02-20 20:12:08,043 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:12:07" (1/1) ... [2022-02-20 20:12:08,045 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:12:07" (1/1) ... [2022-02-20 20:12:08,045 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:12:07" (1/1) ... [2022-02-20 20:12:08,049 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:12:07" (1/1) ... [2022-02-20 20:12:08,052 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:12:07" (1/1) ... [2022-02-20 20:12:08,053 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:12:07" (1/1) ... [2022-02-20 20:12:08,054 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 20:12:08,055 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 20:12:08,055 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 20:12:08,055 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 20:12:08,056 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:12:07" (1/1) ... [2022-02-20 20:12:08,061 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 20:12:08,067 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 20:12:08,085 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:12:08,093 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:12:08,123 INFO L130 BoogieDeclarations]: Found specification of procedure thr2 [2022-02-20 20:12:08,123 INFO L138 BoogieDeclarations]: Found implementation of procedure thr2 [2022-02-20 20:12:08,123 INFO L130 BoogieDeclarations]: Found specification of procedure thr1 [2022-02-20 20:12:08,123 INFO L138 BoogieDeclarations]: Found implementation of procedure thr1 [2022-02-20 20:12:08,123 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-02-20 20:12:08,123 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 20:12:08,123 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-02-20 20:12:08,124 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 20:12:08,124 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 20:12:08,124 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 20:12:08,124 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 20:12:08,125 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:12:08,213 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 20:12:08,214 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 20:12:08,352 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 20:12:08,393 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 20:12:08,393 INFO L299 CfgBuilder]: Removed 3 assume(true) statements. [2022-02-20 20:12:08,395 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 08:12:08 BoogieIcfgContainer [2022-02-20 20:12:08,395 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 20:12:08,396 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 20:12:08,397 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 20:12:08,399 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 20:12:08,399 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 08:12:07" (1/3) ... [2022-02-20 20:12:08,400 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@329fdde3 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 08:12:08, skipping insertion in model container [2022-02-20 20:12:08,400 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:12:07" (2/3) ... [2022-02-20 20:12:08,400 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@329fdde3 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 08:12:08, skipping insertion in model container [2022-02-20 20:12:08,400 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 08:12:08" (3/3) ... [2022-02-20 20:12:08,401 INFO L111 eAbstractionObserver]: Analyzing ICFG 31_simple_loop5_vs.i [2022-02-20 20:12:08,404 WARN L150 ceAbstractionStarter]: Switching off computation of Hoare annotation because input is a concurrent program [2022-02-20 20:12:08,404 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 20:12:08,404 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 20:12:08,404 INFO L534 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2022-02-20 20:12:08,427 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of1ForFork0_#in~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:08,427 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of1ForFork0_#in~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:08,427 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of1ForFork0_~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:08,428 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of1ForFork0_~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:08,428 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of1ForFork0_#in~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:08,428 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of1ForFork0_#in~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:08,428 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of1ForFork0_~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:08,428 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of1ForFork0_~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:08,429 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of1ForFork0_#res#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:08,429 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of1ForFork0_#res#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:08,429 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of1ForFork0_#res#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:08,429 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of1ForFork0_#res#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:08,430 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of1ForFork0_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:08,430 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of1ForFork0_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:08,430 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of1ForFork0_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:08,430 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of1ForFork0_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:08,431 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of1ForFork0_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:08,431 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of1ForFork0_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:08,431 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of1ForFork0_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:08,432 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of1ForFork0_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:08,432 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of1ForFork1_#in~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:08,432 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of1ForFork1_#in~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:08,432 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of1ForFork1_~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:08,433 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of1ForFork1_~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:08,433 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of1ForFork1_#in~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:08,433 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of1ForFork1_#in~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:08,433 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of1ForFork1_~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:08,433 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of1ForFork1_~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:08,434 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of1ForFork1_#res#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:08,434 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of1ForFork1_#res#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:08,434 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of1ForFork1_#res#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:08,434 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of1ForFork1_#res#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:08,434 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of1ForFork1_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:08,434 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of1ForFork1_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:08,435 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of1ForFork1_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:08,435 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of1ForFork1_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:08,436 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of1ForFork1_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:08,436 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of1ForFork1_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:08,436 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of1ForFork1_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:08,436 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of1ForFork1_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:08,439 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of1ForFork0_~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:08,439 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of1ForFork0_#res#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:08,439 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of1ForFork0_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:08,440 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of1ForFork0_#res#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:08,440 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of1ForFork0_~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:08,440 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of1ForFork0_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:08,441 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of1ForFork1_#res#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:08,441 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of1ForFork1_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:08,441 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of1ForFork1_~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:08,441 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of1ForFork1_~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:08,441 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of1ForFork1_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:08,441 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of1ForFork1_#res#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:08,442 INFO L148 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2022-02-20 20:12:08,490 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 20:12:08,494 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:12:08,494 INFO L340 AbstractCegarLoop]: Starting to check reachability of 4 error locations. [2022-02-20 20:12:08,501 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 65 places, 65 transitions, 140 flow [2022-02-20 20:12:08,522 INFO L129 PetriNetUnfolder]: 7/75 cut-off events. [2022-02-20 20:12:08,522 INFO L130 PetriNetUnfolder]: For 0/0 co-relation queries the response was YES. [2022-02-20 20:12:08,525 INFO L84 FinitePrefix]: Finished finitePrefix Result has 83 conditions, 75 events. 7/75 cut-off events. For 0/0 co-relation queries the response was YES. Maximal size of possible extension queue 5. Compared 115 event pairs, 0 based on Foata normal form. 0/65 useless extension candidates. Maximal degree in co-relation 56. Up to 4 conditions per place. [2022-02-20 20:12:08,525 INFO L82 GeneralOperation]: Start removeDead. Operand has 65 places, 65 transitions, 140 flow [2022-02-20 20:12:08,527 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 64 places, 64 transitions, 136 flow [2022-02-20 20:12:08,534 INFO L129 PetriNetUnfolder]: 3/41 cut-off events. [2022-02-20 20:12:08,534 INFO L130 PetriNetUnfolder]: For 0/0 co-relation queries the response was YES. [2022-02-20 20:12:08,534 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:12:08,535 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] [2022-02-20 20:12:08,535 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting thr1Err0ASSERT_VIOLATIONERROR_FUNCTION === [thr1Err0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION, thr1Err0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 20:12:08,538 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:12:08,539 INFO L85 PathProgramCache]: Analyzing trace with hash -1602056178, now seen corresponding path program 1 times [2022-02-20 20:12:08,544 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:12:08,545 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [632692077] [2022-02-20 20:12:08,545 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:12:08,546 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:12:08,653 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:12:08,800 INFO L290 TraceCheckUtils]: 0: Hoare triple {68#true} [244] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {68#true} is VALID [2022-02-20 20:12:08,800 INFO L290 TraceCheckUtils]: 1: Hoare triple {68#true} [232] 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] {68#true} is VALID [2022-02-20 20:12:08,800 INFO L290 TraceCheckUtils]: 2: Hoare triple {68#true} [250] L-1-1-->L-1-2: Formula: (= (select |v_#valid_3| 0) 0) InVars {#valid=|v_#valid_3|} OutVars{#valid=|v_#valid_3|} AuxVars[] AssignedVars[] {68#true} is VALID [2022-02-20 20:12:08,801 INFO L290 TraceCheckUtils]: 3: Hoare triple {68#true} [254] L-1-2-->L16: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {68#true} is VALID [2022-02-20 20:12:08,801 INFO L290 TraceCheckUtils]: 4: Hoare triple {68#true} [225] L16-->L16-1: Formula: (and (= (select |v_#valid_4| 1) 1) (= 2 (select |v_#length_1| 1))) InVars {#length=|v_#length_1|, #valid=|v_#valid_4|} OutVars{#length=|v_#length_1|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[] {68#true} is VALID [2022-02-20 20:12:08,801 INFO L290 TraceCheckUtils]: 5: Hoare triple {68#true} [197] L16-1-->L16-2: Formula: (= (select (select |v_#memory_int_5| 1) 0) 48) InVars {#memory_int=|v_#memory_int_5|} OutVars{#memory_int=|v_#memory_int_5|} AuxVars[] AssignedVars[] {68#true} is VALID [2022-02-20 20:12:08,802 INFO L290 TraceCheckUtils]: 6: Hoare triple {68#true} [257] L16-2-->L16-3: Formula: (= (select (select |v_#memory_int_6| 1) 1) 0) InVars {#memory_int=|v_#memory_int_6|} OutVars{#memory_int=|v_#memory_int_6|} AuxVars[] AssignedVars[] {68#true} is VALID [2022-02-20 20:12:08,802 INFO L290 TraceCheckUtils]: 7: Hoare triple {68#true} [238] L16-3-->L16-4: Formula: (and (= (select |v_#valid_5| 2) 1) (= 21 (select |v_#length_2| 2))) InVars {#length=|v_#length_2|, #valid=|v_#valid_5|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_5|} AuxVars[] AssignedVars[] {68#true} is VALID [2022-02-20 20:12:08,803 INFO L290 TraceCheckUtils]: 8: Hoare triple {68#true} [240] L16-4-->L689: Formula: (= v_~a~0_5 1) InVars {} OutVars{~a~0=v_~a~0_5} AuxVars[] AssignedVars[~a~0] {70#(= ~a~0 1)} is VALID [2022-02-20 20:12:08,805 INFO L290 TraceCheckUtils]: 9: Hoare triple {70#(= ~a~0 1)} [208] L689-->L690: Formula: (= 2 v_~b~0_5) InVars {} OutVars{~b~0=v_~b~0_5} AuxVars[] AssignedVars[~b~0] {71#(not (= ~b~0 ~a~0))} is VALID [2022-02-20 20:12:08,806 INFO L290 TraceCheckUtils]: 10: Hoare triple {71#(not (= ~b~0 ~a~0))} [247] L690-->L691: Formula: (= 3 v_~c~0_3) InVars {} OutVars{~c~0=v_~c~0_3} AuxVars[] AssignedVars[~c~0] {71#(not (= ~b~0 ~a~0))} is VALID [2022-02-20 20:12:08,809 INFO L290 TraceCheckUtils]: 11: Hoare triple {71#(not (= ~b~0 ~a~0))} [228] L691-->L692: Formula: (= v_~temp~0_3 0) InVars {} OutVars{~temp~0=v_~temp~0_3} AuxVars[] AssignedVars[~temp~0] {71#(not (= ~b~0 ~a~0))} is VALID [2022-02-20 20:12:08,809 INFO L290 TraceCheckUtils]: 12: Hoare triple {71#(not (= ~b~0 ~a~0))} [227] L692-->L-1-3: Formula: (= v_~mutex~0_9 0) InVars {} OutVars{~mutex~0=v_~mutex~0_9} AuxVars[] AssignedVars[~mutex~0] {71#(not (= ~b~0 ~a~0))} is VALID [2022-02-20 20:12:08,810 INFO L290 TraceCheckUtils]: 13: Hoare triple {71#(not (= ~b~0 ~a~0))} [256] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {71#(not (= ~b~0 ~a~0))} is VALID [2022-02-20 20:12:08,811 INFO L290 TraceCheckUtils]: 14: Hoare triple {71#(not (= ~b~0 ~a~0))} [237] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {71#(not (= ~b~0 ~a~0))} is VALID [2022-02-20 20:12:08,812 INFO L290 TraceCheckUtils]: 15: Hoare triple {71#(not (= ~b~0 ~a~0))} [213] L-1-5-->L-1-6: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {71#(not (= ~b~0 ~a~0))} is VALID [2022-02-20 20:12:08,813 INFO L290 TraceCheckUtils]: 16: Hoare triple {71#(not (= ~b~0 ~a~0))} [236] L-1-6-->L726: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_4|, ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_5|, ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_2|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_5|, ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1, ULTIMATE.start_main_#t~nondet4#1, ULTIMATE.start_main_~#t~0#1.offset, ULTIMATE.start_main_#t~nondet6#1, ULTIMATE.start_main_~#t~0#1.base, ULTIMATE.start_main_#t~pre3#1] {71#(not (= ~b~0 ~a~0))} is VALID [2022-02-20 20:12:08,814 INFO L290 TraceCheckUtils]: 17: Hoare triple {71#(not (= ~b~0 ~a~0))} [220] L726-->L726-1: Formula: (and (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_6| 4) |v_#length_3|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_6| 0) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_6|) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#t~0#1.base_6|) 0) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_6| 0)) (= (store |v_#valid_7| |v_ULTIMATE.start_main_~#t~0#1.base_6| 1) |v_#valid_6|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_6|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_6|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] {71#(not (= ~b~0 ~a~0))} is VALID [2022-02-20 20:12:08,814 INFO L290 TraceCheckUtils]: 18: Hoare triple {71#(not (= ~b~0 ~a~0))} [211] L726-1-->L727: Formula: (= |v_ULTIMATE.start_main_#t~pre3#1_4| |v_#pthreadsForks_6|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_6|, ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre3#1] {71#(not (= ~b~0 ~a~0))} is VALID [2022-02-20 20:12:08,815 INFO L290 TraceCheckUtils]: 19: Hoare triple {71#(not (= ~b~0 ~a~0))} [212] L727-->L727-1: Formula: (= (+ 1 |v_#pthreadsForks_2|) |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_2|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|} AuxVars[] AssignedVars[#pthreadsForks] {71#(not (= ~b~0 ~a~0))} is VALID [2022-02-20 20:12:08,819 INFO L290 TraceCheckUtils]: 20: Hoare triple {71#(not (= ~b~0 ~a~0))} [199] L727-1-->L727-2: Formula: (= (store |v_#memory_int_2| |v_ULTIMATE.start_main_~#t~0#1.base_1| (store (select |v_#memory_int_2| |v_ULTIMATE.start_main_~#t~0#1.base_1|) |v_ULTIMATE.start_main_~#t~0#1.offset_1| |v_ULTIMATE.start_main_#t~pre3#1_1|)) |v_#memory_int_1|) InVars {#memory_int=|v_#memory_int_2|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_1|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_1|, ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_1|} OutVars{#memory_int=|v_#memory_int_1|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_1|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_1|, ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_1|} AuxVars[] AssignedVars[#memory_int] {71#(not (= ~b~0 ~a~0))} is VALID [2022-02-20 20:12:08,820 INFO L290 TraceCheckUtils]: 21: Hoare triple {71#(not (= ~b~0 ~a~0))} [288] L727-2-->thr1ENTRY: Formula: (and (= |v_thr1Thread1of1ForFork1_#in~arg#1.offset_4| 0) (= v_thr1Thread1of1ForFork1_thidvar1_2 0) (= |v_ULTIMATE.start_main_#t~pre3#1_6| v_thr1Thread1of1ForFork1_thidvar0_2) (= |v_thr1Thread1of1ForFork1_#in~arg#1.base_4| 0)) InVars {ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_6|} OutVars{thr1Thread1of1ForFork1_#res#1.offset=|v_thr1Thread1of1ForFork1_#res#1.offset_4|, thr1Thread1of1ForFork1_#in~arg#1.base=|v_thr1Thread1of1ForFork1_#in~arg#1.base_4|, thr1Thread1of1ForFork1_assume_abort_if_not_#in~cond#1=|v_thr1Thread1of1ForFork1_assume_abort_if_not_#in~cond#1_6|, thr1Thread1of1ForFork1_~arg#1.base=|v_thr1Thread1of1ForFork1_~arg#1.base_4|, thr1Thread1of1ForFork1_~arg#1.offset=|v_thr1Thread1of1ForFork1_~arg#1.offset_4|, thr1Thread1of1ForFork1_#in~arg#1.offset=|v_thr1Thread1of1ForFork1_#in~arg#1.offset_4|, thr1Thread1of1ForFork1_thidvar1=v_thr1Thread1of1ForFork1_thidvar1_2, thr1Thread1of1ForFork1_assume_abort_if_not_~cond#1=|v_thr1Thread1of1ForFork1_assume_abort_if_not_~cond#1_6|, ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_6|, thr1Thread1of1ForFork1_thidvar0=v_thr1Thread1of1ForFork1_thidvar0_2, thr1Thread1of1ForFork1_#res#1.base=|v_thr1Thread1of1ForFork1_#res#1.base_4|} AuxVars[] AssignedVars[thr1Thread1of1ForFork1_#res#1.offset, thr1Thread1of1ForFork1_#in~arg#1.base, thr1Thread1of1ForFork1_assume_abort_if_not_#in~cond#1, thr1Thread1of1ForFork1_~arg#1.base, thr1Thread1of1ForFork1_~arg#1.offset, thr1Thread1of1ForFork1_#in~arg#1.offset, thr1Thread1of1ForFork1_thidvar1, thr1Thread1of1ForFork1_assume_abort_if_not_~cond#1, thr1Thread1of1ForFork1_thidvar0, thr1Thread1of1ForFork1_#res#1.base] {71#(not (= ~b~0 ~a~0))} is VALID [2022-02-20 20:12:08,821 INFO L290 TraceCheckUtils]: 22: Hoare triple {71#(not (= ~b~0 ~a~0))} [272] thr1ENTRY-->L721: Formula: (and (= |v_thr1Thread1of1ForFork1_#in~arg#1.offset_1| |v_thr1Thread1of1ForFork1_~arg#1.offset_1|) (= |v_thr1Thread1of1ForFork1_~arg#1.base_1| |v_thr1Thread1of1ForFork1_#in~arg#1.base_1|)) InVars {thr1Thread1of1ForFork1_#in~arg#1.base=|v_thr1Thread1of1ForFork1_#in~arg#1.base_1|, thr1Thread1of1ForFork1_#in~arg#1.offset=|v_thr1Thread1of1ForFork1_#in~arg#1.offset_1|} OutVars{thr1Thread1of1ForFork1_#in~arg#1.base=|v_thr1Thread1of1ForFork1_#in~arg#1.base_1|, thr1Thread1of1ForFork1_#in~arg#1.offset=|v_thr1Thread1of1ForFork1_#in~arg#1.offset_1|, thr1Thread1of1ForFork1_~arg#1.base=|v_thr1Thread1of1ForFork1_~arg#1.base_1|, thr1Thread1of1ForFork1_~arg#1.offset=|v_thr1Thread1of1ForFork1_~arg#1.offset_1|} AuxVars[] AssignedVars[thr1Thread1of1ForFork1_~arg#1.base, thr1Thread1of1ForFork1_~arg#1.offset] {71#(not (= ~b~0 ~a~0))} is VALID [2022-02-20 20:12:08,821 INFO L290 TraceCheckUtils]: 23: Hoare triple {71#(not (= ~b~0 ~a~0))} [275] L721-->L719: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {71#(not (= ~b~0 ~a~0))} is VALID [2022-02-20 20:12:08,822 INFO L290 TraceCheckUtils]: 24: Hoare triple {71#(not (= ~b~0 ~a~0))} [277] L719-->L719-1: Formula: (and (= |v_thr1Thread1of1ForFork1_assume_abort_if_not_#in~cond#1_1| (ite (= v_~mutex~0_57 0) 1 0)) (not (= |v_thr1Thread1of1ForFork1_assume_abort_if_not_~cond#1_1| 0)) (= |v_thr1Thread1of1ForFork1_assume_abort_if_not_~cond#1_1| |v_thr1Thread1of1ForFork1_assume_abort_if_not_#in~cond#1_1|) (= v_~mutex~0_56 1)) InVars {~mutex~0=v_~mutex~0_57} OutVars{thr1Thread1of1ForFork1_assume_abort_if_not_#in~cond#1=|v_thr1Thread1of1ForFork1_assume_abort_if_not_#in~cond#1_1|, thr1Thread1of1ForFork1_assume_abort_if_not_~cond#1=|v_thr1Thread1of1ForFork1_assume_abort_if_not_~cond#1_1|, ~mutex~0=v_~mutex~0_56} AuxVars[] AssignedVars[thr1Thread1of1ForFork1_assume_abort_if_not_#in~cond#1, thr1Thread1of1ForFork1_assume_abort_if_not_~cond#1, ~mutex~0] {71#(not (= ~b~0 ~a~0))} is VALID [2022-02-20 20:12:08,823 INFO L290 TraceCheckUtils]: 25: Hoare triple {71#(not (= ~b~0 ~a~0))} [279] L719-1-->L720: Formula: (= v_~a~0_3 v_~b~0_3) InVars {~a~0=v_~a~0_3, ~b~0=v_~b~0_3} OutVars{~a~0=v_~a~0_3, ~b~0=v_~b~0_3} AuxVars[] AssignedVars[] {69#false} is VALID [2022-02-20 20:12:08,823 INFO L290 TraceCheckUtils]: 26: Hoare triple {69#false} [281] L720-->thr1Err0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {69#false} is VALID [2022-02-20 20:12:08,824 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:12:08,824 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 20:12:08,825 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [632692077] [2022-02-20 20:12:08,825 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [632692077] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 20:12:08,825 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 20:12:08,825 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 20:12:08,828 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1079578561] [2022-02-20 20:12:08,828 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 20:12:08,839 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 6.75) internal successors, (27), 4 states have internal predecessors, (27), 0 states have call successors, (0), 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 27 [2022-02-20 20:12:08,841 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 20:12:08,843 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 6.75) internal successors, (27), 4 states have internal predecessors, (27), 0 states have call successors, (0), 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:12:08,873 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 20:12:08,873 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 20:12:08,873 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 20:12:08,894 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 20:12:08,895 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 20:12:08,896 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 44 out of 65 [2022-02-20 20:12:08,900 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 64 places, 64 transitions, 136 flow. Second operand has 4 states, 4 states have (on average 45.25) internal successors, (181), 4 states have internal predecessors, (181), 0 states have call successors, (0), 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:12:08,900 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 20:12:08,900 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 44 of 65 [2022-02-20 20:12:08,901 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 20:12:09,055 INFO L129 PetriNetUnfolder]: 56/168 cut-off events. [2022-02-20 20:12:09,055 INFO L130 PetriNetUnfolder]: For 4/4 co-relation queries the response was YES. [2022-02-20 20:12:09,056 INFO L84 FinitePrefix]: Finished finitePrefix Result has 294 conditions, 168 events. 56/168 cut-off events. For 4/4 co-relation queries the response was YES. Maximal size of possible extension queue 11. Compared 469 event pairs, 12 based on Foata normal form. 94/255 useless extension candidates. Maximal degree in co-relation 263. Up to 56 conditions per place. [2022-02-20 20:12:09,058 INFO L132 encePairwiseOnDemand]: 52/65 looper letters, 21 selfloop transitions, 6 changer transitions 0/61 dead transitions. [2022-02-20 20:12:09,058 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 55 places, 61 transitions, 184 flow [2022-02-20 20:12:09,058 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 20:12:09,060 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2022-02-20 20:12:09,072 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 268 transitions. [2022-02-20 20:12:09,073 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.8246153846153846 [2022-02-20 20:12:09,074 INFO L72 ComplementDD]: Start complementDD. Operand 5 states and 268 transitions. [2022-02-20 20:12:09,074 INFO L73 IsDeterministic]: Start isDeterministic. Operand 5 states and 268 transitions. [2022-02-20 20:12:09,074 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 20:12:09,076 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 5 states and 268 transitions. [2022-02-20 20:12:09,078 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 6 states, 5 states have (on average 53.6) internal successors, (268), 5 states have internal predecessors, (268), 0 states have call successors, (0), 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:12:09,081 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 6 states, 6 states have (on average 65.0) internal successors, (390), 6 states have internal predecessors, (390), 0 states have call successors, (0), 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:12:09,082 INFO L81 ComplementDD]: Finished complementDD. Result has 6 states, 6 states have (on average 65.0) internal successors, (390), 6 states have internal predecessors, (390), 0 states have call successors, (0), 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:12:09,083 INFO L186 Difference]: Start difference. First operand has 64 places, 64 transitions, 136 flow. Second operand 5 states and 268 transitions. [2022-02-20 20:12:09,084 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 55 places, 61 transitions, 184 flow [2022-02-20 20:12:09,085 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 54 places, 61 transitions, 183 flow, removed 0 selfloop flow, removed 1 redundant places. [2022-02-20 20:12:09,087 INFO L242 Difference]: Finished difference. Result has 57 places, 51 transitions, 141 flow [2022-02-20 20:12:09,089 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=65, PETRI_DIFFERENCE_MINUEND_FLOW=101, PETRI_DIFFERENCE_MINUEND_PLACES=50, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=47, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=3, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=42, PETRI_DIFFERENCE_SUBTRAHEND_STATES=5, PETRI_FLOW=141, PETRI_PLACES=57, PETRI_TRANSITIONS=51} [2022-02-20 20:12:09,091 INFO L334 CegarLoopForPetriNet]: 64 programPoint places, -7 predicate places. [2022-02-20 20:12:09,091 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 57 places, 51 transitions, 141 flow [2022-02-20 20:12:09,138 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 873 states, 873 states have (on average 2.792668957617411) internal successors, (2438), 872 states have internal predecessors, (2438), 0 states have call successors, (0), 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:12:09,143 INFO L78 Accepts]: Start accepts. Automaton has has 873 states, 873 states have (on average 2.792668957617411) internal successors, (2438), 872 states have internal predecessors, (2438), 0 states have call successors, (0), 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 27 [2022-02-20 20:12:09,143 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 20:12:09,143 INFO L470 AbstractCegarLoop]: Abstraction has has 57 places, 51 transitions, 141 flow [2022-02-20 20:12:09,144 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 45.25) internal successors, (181), 4 states have internal predecessors, (181), 0 states have call successors, (0), 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:12:09,144 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:12:09,144 INFO L254 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 20:12:09,144 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 20:12:09,145 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0INUSE_VIOLATION === [thr1Err0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION, thr1Err0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 20:12:09,145 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:12:09,145 INFO L85 PathProgramCache]: Analyzing trace with hash -1782947143, now seen corresponding path program 1 times [2022-02-20 20:12:09,145 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:12:09,146 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2029960695] [2022-02-20 20:12:09,146 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:12:09,146 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:12:09,164 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 20:12:09,165 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-02-20 20:12:09,176 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 20:12:09,191 INFO L138 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-02-20 20:12:09,191 INFO L628 BasicCegarLoop]: Counterexample is feasible [2022-02-20 20:12:09,192 INFO L764 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0INUSE_VIOLATION (3 of 4 remaining) [2022-02-20 20:12:09,193 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location thr1Err0ASSERT_VIOLATIONERROR_FUNCTION (2 of 4 remaining) [2022-02-20 20:12:09,193 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr1INUSE_VIOLATION (1 of 4 remaining) [2022-02-20 20:12:09,193 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location thr1Err0ASSERT_VIOLATIONERROR_FUNCTION (0 of 4 remaining) [2022-02-20 20:12:09,194 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-20 20:12:09,196 INFO L732 BasicCegarLoop]: Path program histogram: [1, 1] [2022-02-20 20:12:09,197 WARN L235 ceAbstractionStarter]: 1 thread instances were not sufficient, I will increase this number and restart the analysis [2022-02-20 20:12:09,197 INFO L534 ceAbstractionStarter]: Constructing petrified ICFG for 2 thread instances. [2022-02-20 20:12:09,208 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread2of2ForFork0_#in~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,209 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread2of2ForFork0_#in~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,209 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread2of2ForFork0_~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,209 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread2of2ForFork0_~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,209 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread2of2ForFork0_#in~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,209 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread2of2ForFork0_#in~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,209 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread2of2ForFork0_~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,209 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread2of2ForFork0_~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,210 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread2of2ForFork0_#res#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,210 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread2of2ForFork0_#res#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,210 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread2of2ForFork0_#res#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,210 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread2of2ForFork0_#res#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,210 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread2of2ForFork0_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,210 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread2of2ForFork0_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,211 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread2of2ForFork0_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,211 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread2of2ForFork0_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,211 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread2of2ForFork0_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,211 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread2of2ForFork0_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,211 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread2of2ForFork0_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,212 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread2of2ForFork0_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,212 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of2ForFork0_#in~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,212 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of2ForFork0_#in~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,212 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of2ForFork0_~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,212 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of2ForFork0_~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,212 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of2ForFork0_#in~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,213 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of2ForFork0_#in~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,213 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of2ForFork0_~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,213 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of2ForFork0_~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,213 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of2ForFork0_#res#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,213 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of2ForFork0_#res#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,213 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of2ForFork0_#res#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,213 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of2ForFork0_#res#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,214 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of2ForFork0_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,214 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of2ForFork0_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,214 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of2ForFork0_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,214 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of2ForFork0_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,214 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of2ForFork0_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,215 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of2ForFork0_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,215 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of2ForFork0_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,218 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of2ForFork0_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,218 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of2ForFork1_#in~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,219 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of2ForFork1_#in~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,219 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of2ForFork1_~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,219 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of2ForFork1_~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,219 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of2ForFork1_#in~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,219 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of2ForFork1_#in~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,219 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of2ForFork1_~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,219 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of2ForFork1_~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,221 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of2ForFork1_#res#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,221 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of2ForFork1_#res#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,221 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of2ForFork1_#res#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,221 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of2ForFork1_#res#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,222 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of2ForFork1_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,222 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of2ForFork1_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,222 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of2ForFork1_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,222 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of2ForFork1_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,227 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of2ForFork1_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,227 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of2ForFork1_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,228 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of2ForFork1_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,228 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of2ForFork1_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,228 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread2of2ForFork1_#in~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,228 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread2of2ForFork1_#in~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,228 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread2of2ForFork1_~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,228 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread2of2ForFork1_~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,228 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread2of2ForFork1_#in~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,228 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread2of2ForFork1_#in~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,228 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread2of2ForFork1_~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,228 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread2of2ForFork1_~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,229 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread2of2ForFork1_#res#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,229 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread2of2ForFork1_#res#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,229 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread2of2ForFork1_#res#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,229 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread2of2ForFork1_#res#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,229 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread2of2ForFork1_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,229 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread2of2ForFork1_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,229 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread2of2ForFork1_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,229 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread2of2ForFork1_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,229 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread2of2ForFork1_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,229 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread2of2ForFork1_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,230 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread2of2ForFork1_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,230 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread2of2ForFork1_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,230 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of2ForFork0_#res#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,230 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of2ForFork0_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,230 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of2ForFork0_~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,230 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of2ForFork0_~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,230 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of2ForFork0_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,230 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of2ForFork0_#res#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,231 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread2of2ForFork0_#res#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,231 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread2of2ForFork0_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,231 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread2of2ForFork0_~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,231 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread2of2ForFork0_~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,231 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread2of2ForFork0_#res#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,231 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread2of2ForFork0_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,232 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of2ForFork1_#res#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,232 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of2ForFork1_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,232 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of2ForFork1_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,232 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of2ForFork1_~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,232 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of2ForFork1_~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,232 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of2ForFork1_#res#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,232 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread2of2ForFork1_~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,232 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread2of2ForFork1_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,232 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread2of2ForFork1_#res#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,233 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread2of2ForFork1_#res#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,239 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread2of2ForFork1_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,239 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread2of2ForFork1_~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:09,239 INFO L148 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2022-02-20 20:12:09,241 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 20:12:09,241 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:12:09,242 INFO L340 AbstractCegarLoop]: Starting to check reachability of 5 error locations. [2022-02-20 20:12:09,243 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 91 places, 92 transitions, 208 flow [2022-02-20 20:12:09,263 INFO L129 PetriNetUnfolder]: 10/101 cut-off events. [2022-02-20 20:12:09,263 INFO L130 PetriNetUnfolder]: For 2/2 co-relation queries the response was YES. [2022-02-20 20:12:09,264 INFO L84 FinitePrefix]: Finished finitePrefix Result has 115 conditions, 101 events. 10/101 cut-off events. For 2/2 co-relation queries the response was YES. Maximal size of possible extension queue 5. Compared 173 event pairs, 0 based on Foata normal form. 0/87 useless extension candidates. Maximal degree in co-relation 110. Up to 6 conditions per place. [2022-02-20 20:12:09,264 INFO L82 GeneralOperation]: Start removeDead. Operand has 91 places, 92 transitions, 208 flow [2022-02-20 20:12:09,266 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 77 places, 77 transitions, 169 flow [2022-02-20 20:12:09,273 INFO L129 PetriNetUnfolder]: 4/43 cut-off events. [2022-02-20 20:12:09,273 INFO L130 PetriNetUnfolder]: For 0/0 co-relation queries the response was YES. [2022-02-20 20:12:09,273 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:12:09,273 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] [2022-02-20 20:12:09,273 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting thr1Err0ASSERT_VIOLATIONERROR_FUNCTION === [thr1Err0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION, thr1Err0ASSERT_VIOLATIONERROR_FUNCTION (and 1 more)] === [2022-02-20 20:12:09,274 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:12:09,274 INFO L85 PathProgramCache]: Analyzing trace with hash 90548252, now seen corresponding path program 1 times [2022-02-20 20:12:09,274 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:12:09,274 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [283681226] [2022-02-20 20:12:09,274 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:12:09,274 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:12:09,299 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:12:09,329 INFO L290 TraceCheckUtils]: 0: Hoare triple {94#true} [336] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {94#true} is VALID [2022-02-20 20:12:09,329 INFO L290 TraceCheckUtils]: 1: Hoare triple {94#true} [324] 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] {94#true} is VALID [2022-02-20 20:12:09,330 INFO L290 TraceCheckUtils]: 2: Hoare triple {94#true} [342] L-1-1-->L-1-2: Formula: (= (select |v_#valid_3| 0) 0) InVars {#valid=|v_#valid_3|} OutVars{#valid=|v_#valid_3|} AuxVars[] AssignedVars[] {94#true} is VALID [2022-02-20 20:12:09,330 INFO L290 TraceCheckUtils]: 3: Hoare triple {94#true} [346] L-1-2-->L16: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {94#true} is VALID [2022-02-20 20:12:09,330 INFO L290 TraceCheckUtils]: 4: Hoare triple {94#true} [317] L16-->L16-1: Formula: (and (= (select |v_#valid_4| 1) 1) (= 2 (select |v_#length_1| 1))) InVars {#length=|v_#length_1|, #valid=|v_#valid_4|} OutVars{#length=|v_#length_1|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[] {94#true} is VALID [2022-02-20 20:12:09,330 INFO L290 TraceCheckUtils]: 5: Hoare triple {94#true} [289] L16-1-->L16-2: Formula: (= (select (select |v_#memory_int_5| 1) 0) 48) InVars {#memory_int=|v_#memory_int_5|} OutVars{#memory_int=|v_#memory_int_5|} AuxVars[] AssignedVars[] {94#true} is VALID [2022-02-20 20:12:09,330 INFO L290 TraceCheckUtils]: 6: Hoare triple {94#true} [349] L16-2-->L16-3: Formula: (= (select (select |v_#memory_int_6| 1) 1) 0) InVars {#memory_int=|v_#memory_int_6|} OutVars{#memory_int=|v_#memory_int_6|} AuxVars[] AssignedVars[] {94#true} is VALID [2022-02-20 20:12:09,330 INFO L290 TraceCheckUtils]: 7: Hoare triple {94#true} [330] L16-3-->L16-4: Formula: (and (= (select |v_#valid_5| 2) 1) (= 21 (select |v_#length_2| 2))) InVars {#length=|v_#length_2|, #valid=|v_#valid_5|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_5|} AuxVars[] AssignedVars[] {94#true} is VALID [2022-02-20 20:12:09,331 INFO L290 TraceCheckUtils]: 8: Hoare triple {94#true} [332] L16-4-->L689: Formula: (= v_~a~0_5 1) InVars {} OutVars{~a~0=v_~a~0_5} AuxVars[] AssignedVars[~a~0] {96#(= ~a~0 1)} is VALID [2022-02-20 20:12:09,331 INFO L290 TraceCheckUtils]: 9: Hoare triple {96#(= ~a~0 1)} [300] L689-->L690: Formula: (= 2 v_~b~0_5) InVars {} OutVars{~b~0=v_~b~0_5} AuxVars[] AssignedVars[~b~0] {97#(not (= ~b~0 ~a~0))} is VALID [2022-02-20 20:12:09,331 INFO L290 TraceCheckUtils]: 10: Hoare triple {97#(not (= ~b~0 ~a~0))} [339] L690-->L691: Formula: (= 3 v_~c~0_3) InVars {} OutVars{~c~0=v_~c~0_3} AuxVars[] AssignedVars[~c~0] {97#(not (= ~b~0 ~a~0))} is VALID [2022-02-20 20:12:09,332 INFO L290 TraceCheckUtils]: 11: Hoare triple {97#(not (= ~b~0 ~a~0))} [320] L691-->L692: Formula: (= v_~temp~0_3 0) InVars {} OutVars{~temp~0=v_~temp~0_3} AuxVars[] AssignedVars[~temp~0] {97#(not (= ~b~0 ~a~0))} is VALID [2022-02-20 20:12:09,332 INFO L290 TraceCheckUtils]: 12: Hoare triple {97#(not (= ~b~0 ~a~0))} [319] L692-->L-1-3: Formula: (= v_~mutex~0_9 0) InVars {} OutVars{~mutex~0=v_~mutex~0_9} AuxVars[] AssignedVars[~mutex~0] {97#(not (= ~b~0 ~a~0))} is VALID [2022-02-20 20:12:09,332 INFO L290 TraceCheckUtils]: 13: Hoare triple {97#(not (= ~b~0 ~a~0))} [348] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {97#(not (= ~b~0 ~a~0))} is VALID [2022-02-20 20:12:09,333 INFO L290 TraceCheckUtils]: 14: Hoare triple {97#(not (= ~b~0 ~a~0))} [329] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {97#(not (= ~b~0 ~a~0))} is VALID [2022-02-20 20:12:09,333 INFO L290 TraceCheckUtils]: 15: Hoare triple {97#(not (= ~b~0 ~a~0))} [305] L-1-5-->L-1-6: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {97#(not (= ~b~0 ~a~0))} is VALID [2022-02-20 20:12:09,333 INFO L290 TraceCheckUtils]: 16: Hoare triple {97#(not (= ~b~0 ~a~0))} [328] L-1-6-->L726: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_4|, ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_5|, ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_2|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_5|, ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1, ULTIMATE.start_main_#t~nondet4#1, ULTIMATE.start_main_~#t~0#1.offset, ULTIMATE.start_main_#t~nondet6#1, ULTIMATE.start_main_~#t~0#1.base, ULTIMATE.start_main_#t~pre3#1] {97#(not (= ~b~0 ~a~0))} is VALID [2022-02-20 20:12:09,334 INFO L290 TraceCheckUtils]: 17: Hoare triple {97#(not (= ~b~0 ~a~0))} [312] L726-->L726-1: Formula: (and (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_6| 4) |v_#length_3|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_6| 0) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_6|) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#t~0#1.base_6|) 0) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_6| 0)) (= (store |v_#valid_7| |v_ULTIMATE.start_main_~#t~0#1.base_6| 1) |v_#valid_6|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_6|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_6|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] {97#(not (= ~b~0 ~a~0))} is VALID [2022-02-20 20:12:09,334 INFO L290 TraceCheckUtils]: 18: Hoare triple {97#(not (= ~b~0 ~a~0))} [303] L726-1-->L727: Formula: (= |v_ULTIMATE.start_main_#t~pre3#1_4| |v_#pthreadsForks_6|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_6|, ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre3#1] {97#(not (= ~b~0 ~a~0))} is VALID [2022-02-20 20:12:09,334 INFO L290 TraceCheckUtils]: 19: Hoare triple {97#(not (= ~b~0 ~a~0))} [304] L727-->L727-1: Formula: (= (+ 1 |v_#pthreadsForks_2|) |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_2|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|} AuxVars[] AssignedVars[#pthreadsForks] {97#(not (= ~b~0 ~a~0))} is VALID [2022-02-20 20:12:09,335 INFO L290 TraceCheckUtils]: 20: Hoare triple {97#(not (= ~b~0 ~a~0))} [291] L727-1-->L727-2: Formula: (= (store |v_#memory_int_2| |v_ULTIMATE.start_main_~#t~0#1.base_1| (store (select |v_#memory_int_2| |v_ULTIMATE.start_main_~#t~0#1.base_1|) |v_ULTIMATE.start_main_~#t~0#1.offset_1| |v_ULTIMATE.start_main_#t~pre3#1_1|)) |v_#memory_int_1|) InVars {#memory_int=|v_#memory_int_2|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_1|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_1|, ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_1|} OutVars{#memory_int=|v_#memory_int_1|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_1|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_1|, ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_1|} AuxVars[] AssignedVars[#memory_int] {97#(not (= ~b~0 ~a~0))} is VALID [2022-02-20 20:12:09,335 INFO L290 TraceCheckUtils]: 21: Hoare triple {97#(not (= ~b~0 ~a~0))} [406] L727-2-->thr1ENTRY: Formula: (and (= |v_thr1Thread1of2ForFork1_#in~arg#1.base_4| 0) (= |v_thr1Thread1of2ForFork1_#in~arg#1.offset_4| 0) (= |v_ULTIMATE.start_main_#t~pre3#1_8| v_thr1Thread1of2ForFork1_thidvar0_2) (= v_thr1Thread1of2ForFork1_thidvar1_2 0)) InVars {ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_8|} OutVars{thr1Thread1of2ForFork1_#res#1.base=|v_thr1Thread1of2ForFork1_#res#1.base_4|, thr1Thread1of2ForFork1_assume_abort_if_not_~cond#1=|v_thr1Thread1of2ForFork1_assume_abort_if_not_~cond#1_6|, thr1Thread1of2ForFork1_#in~arg#1.base=|v_thr1Thread1of2ForFork1_#in~arg#1.base_4|, thr1Thread1of2ForFork1_thidvar1=v_thr1Thread1of2ForFork1_thidvar1_2, thr1Thread1of2ForFork1_thidvar0=v_thr1Thread1of2ForFork1_thidvar0_2, thr1Thread1of2ForFork1_assume_abort_if_not_#in~cond#1=|v_thr1Thread1of2ForFork1_assume_abort_if_not_#in~cond#1_6|, thr1Thread1of2ForFork1_~arg#1.offset=|v_thr1Thread1of2ForFork1_~arg#1.offset_4|, thr1Thread1of2ForFork1_#in~arg#1.offset=|v_thr1Thread1of2ForFork1_#in~arg#1.offset_4|, thr1Thread1of2ForFork1_~arg#1.base=|v_thr1Thread1of2ForFork1_~arg#1.base_4|, thr1Thread1of2ForFork1_#res#1.offset=|v_thr1Thread1of2ForFork1_#res#1.offset_4|, ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_8|} AuxVars[] AssignedVars[thr1Thread1of2ForFork1_#res#1.base, thr1Thread1of2ForFork1_assume_abort_if_not_~cond#1, thr1Thread1of2ForFork1_#in~arg#1.base, thr1Thread1of2ForFork1_thidvar1, thr1Thread1of2ForFork1_thidvar0, thr1Thread1of2ForFork1_assume_abort_if_not_#in~cond#1, thr1Thread1of2ForFork1_~arg#1.offset, thr1Thread1of2ForFork1_#in~arg#1.offset, thr1Thread1of2ForFork1_~arg#1.base, thr1Thread1of2ForFork1_#res#1.offset] {97#(not (= ~b~0 ~a~0))} is VALID [2022-02-20 20:12:09,335 INFO L290 TraceCheckUtils]: 22: Hoare triple {97#(not (= ~b~0 ~a~0))} [376] thr1ENTRY-->L721: Formula: (and (= |v_thr1Thread1of2ForFork1_~arg#1.offset_1| |v_thr1Thread1of2ForFork1_#in~arg#1.offset_1|) (= |v_thr1Thread1of2ForFork1_#in~arg#1.base_1| |v_thr1Thread1of2ForFork1_~arg#1.base_1|)) InVars {thr1Thread1of2ForFork1_#in~arg#1.offset=|v_thr1Thread1of2ForFork1_#in~arg#1.offset_1|, thr1Thread1of2ForFork1_#in~arg#1.base=|v_thr1Thread1of2ForFork1_#in~arg#1.base_1|} OutVars{thr1Thread1of2ForFork1_~arg#1.offset=|v_thr1Thread1of2ForFork1_~arg#1.offset_1|, thr1Thread1of2ForFork1_#in~arg#1.base=|v_thr1Thread1of2ForFork1_#in~arg#1.base_1|, thr1Thread1of2ForFork1_#in~arg#1.offset=|v_thr1Thread1of2ForFork1_#in~arg#1.offset_1|, thr1Thread1of2ForFork1_~arg#1.base=|v_thr1Thread1of2ForFork1_~arg#1.base_1|} AuxVars[] AssignedVars[thr1Thread1of2ForFork1_~arg#1.offset, thr1Thread1of2ForFork1_~arg#1.base] {97#(not (= ~b~0 ~a~0))} is VALID [2022-02-20 20:12:09,336 INFO L290 TraceCheckUtils]: 23: Hoare triple {97#(not (= ~b~0 ~a~0))} [379] L721-->L719: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {97#(not (= ~b~0 ~a~0))} is VALID [2022-02-20 20:12:09,336 INFO L290 TraceCheckUtils]: 24: Hoare triple {97#(not (= ~b~0 ~a~0))} [381] L719-->L719-1: Formula: (and (= |v_thr1Thread1of2ForFork1_assume_abort_if_not_#in~cond#1_1| (ite (= v_~mutex~0_57 0) 1 0)) (= |v_thr1Thread1of2ForFork1_assume_abort_if_not_#in~cond#1_1| |v_thr1Thread1of2ForFork1_assume_abort_if_not_~cond#1_1|) (not (= |v_thr1Thread1of2ForFork1_assume_abort_if_not_~cond#1_1| 0)) (= v_~mutex~0_56 1)) InVars {~mutex~0=v_~mutex~0_57} OutVars{thr1Thread1of2ForFork1_assume_abort_if_not_#in~cond#1=|v_thr1Thread1of2ForFork1_assume_abort_if_not_#in~cond#1_1|, thr1Thread1of2ForFork1_assume_abort_if_not_~cond#1=|v_thr1Thread1of2ForFork1_assume_abort_if_not_~cond#1_1|, ~mutex~0=v_~mutex~0_56} AuxVars[] AssignedVars[thr1Thread1of2ForFork1_assume_abort_if_not_~cond#1, thr1Thread1of2ForFork1_assume_abort_if_not_#in~cond#1, ~mutex~0] {97#(not (= ~b~0 ~a~0))} is VALID [2022-02-20 20:12:09,336 INFO L290 TraceCheckUtils]: 25: Hoare triple {97#(not (= ~b~0 ~a~0))} [383] L719-1-->L720: Formula: (= v_~a~0_3 v_~b~0_3) InVars {~a~0=v_~a~0_3, ~b~0=v_~b~0_3} OutVars{~a~0=v_~a~0_3, ~b~0=v_~b~0_3} AuxVars[] AssignedVars[] {95#false} is VALID [2022-02-20 20:12:09,337 INFO L290 TraceCheckUtils]: 26: Hoare triple {95#false} [385] L720-->thr1Err0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {95#false} is VALID [2022-02-20 20:12:09,337 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:12:09,337 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 20:12:09,337 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [283681226] [2022-02-20 20:12:09,337 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [283681226] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 20:12:09,337 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 20:12:09,337 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 20:12:09,337 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [961464984] [2022-02-20 20:12:09,337 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 20:12:09,338 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 6.75) internal successors, (27), 4 states have internal predecessors, (27), 0 states have call successors, (0), 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 27 [2022-02-20 20:12:09,338 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 20:12:09,338 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 6.75) internal successors, (27), 4 states have internal predecessors, (27), 0 states have call successors, (0), 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:12:09,360 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 20:12:09,360 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 20:12:09,360 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 20:12:09,360 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 20:12:09,360 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 20:12:09,361 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 54 out of 92 [2022-02-20 20:12:09,361 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 77 places, 77 transitions, 169 flow. Second operand has 4 states, 4 states have (on average 55.25) internal successors, (221), 4 states have internal predecessors, (221), 0 states have call successors, (0), 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:12:09,361 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 20:12:09,361 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 54 of 92 [2022-02-20 20:12:09,361 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 20:12:09,568 INFO L129 PetriNetUnfolder]: 740/1312 cut-off events. [2022-02-20 20:12:09,568 INFO L130 PetriNetUnfolder]: For 161/161 co-relation queries the response was YES. [2022-02-20 20:12:09,572 INFO L84 FinitePrefix]: Finished finitePrefix Result has 2596 conditions, 1312 events. 740/1312 cut-off events. For 161/161 co-relation queries the response was YES. Maximal size of possible extension queue 84. Compared 7283 event pairs, 122 based on Foata normal form. 768/2032 useless extension candidates. Maximal degree in co-relation 2564. Up to 667 conditions per place. [2022-02-20 20:12:09,578 INFO L132 encePairwiseOnDemand]: 75/92 looper letters, 34 selfloop transitions, 9 changer transitions 0/80 dead transitions. [2022-02-20 20:12:09,578 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 65 places, 80 transitions, 271 flow [2022-02-20 20:12:09,578 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 20:12:09,579 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2022-02-20 20:12:09,582 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 340 transitions. [2022-02-20 20:12:09,583 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.7391304347826086 [2022-02-20 20:12:09,583 INFO L72 ComplementDD]: Start complementDD. Operand 5 states and 340 transitions. [2022-02-20 20:12:09,583 INFO L73 IsDeterministic]: Start isDeterministic. Operand 5 states and 340 transitions. [2022-02-20 20:12:09,583 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 20:12:09,583 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 5 states and 340 transitions. [2022-02-20 20:12:09,584 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 6 states, 5 states have (on average 68.0) internal successors, (340), 5 states have internal predecessors, (340), 0 states have call successors, (0), 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:12:09,585 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 6 states, 6 states have (on average 92.0) internal successors, (552), 6 states have internal predecessors, (552), 0 states have call successors, (0), 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:12:09,586 INFO L81 ComplementDD]: Finished complementDD. Result has 6 states, 6 states have (on average 92.0) internal successors, (552), 6 states have internal predecessors, (552), 0 states have call successors, (0), 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:12:09,586 INFO L186 Difference]: Start difference. First operand has 77 places, 77 transitions, 169 flow. Second operand 5 states and 340 transitions. [2022-02-20 20:12:09,586 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 65 places, 80 transitions, 271 flow [2022-02-20 20:12:09,587 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 64 places, 80 transitions, 268 flow, removed 1 selfloop flow, removed 1 redundant places. [2022-02-20 20:12:09,588 INFO L242 Difference]: Finished difference. Result has 67 places, 63 transitions, 186 flow [2022-02-20 20:12:09,588 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=92, PETRI_DIFFERENCE_MINUEND_FLOW=124, PETRI_DIFFERENCE_MINUEND_PLACES=60, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=56, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=4, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=49, PETRI_DIFFERENCE_SUBTRAHEND_STATES=5, PETRI_FLOW=186, PETRI_PLACES=67, PETRI_TRANSITIONS=63} [2022-02-20 20:12:09,589 INFO L334 CegarLoopForPetriNet]: 77 programPoint places, -10 predicate places. [2022-02-20 20:12:09,589 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 67 places, 63 transitions, 186 flow [2022-02-20 20:12:09,775 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 7315 states, 7315 states have (on average 3.7719753930280246) internal successors, (27592), 7314 states have internal predecessors, (27592), 0 states have call successors, (0), 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:12:09,803 INFO L78 Accepts]: Start accepts. Automaton has has 7315 states, 7315 states have (on average 3.7719753930280246) internal successors, (27592), 7314 states have internal predecessors, (27592), 0 states have call successors, (0), 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 27 [2022-02-20 20:12:09,803 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 20:12:09,803 INFO L470 AbstractCegarLoop]: Abstraction has has 67 places, 63 transitions, 186 flow [2022-02-20 20:12:09,804 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 55.25) internal successors, (221), 4 states have internal predecessors, (221), 0 states have call successors, (0), 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:12:09,804 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:12:09,804 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] [2022-02-20 20:12:09,804 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-02-20 20:12:09,805 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting thr1Err0ASSERT_VIOLATIONERROR_FUNCTION === [thr1Err0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION, thr1Err0ASSERT_VIOLATIONERROR_FUNCTION (and 1 more)] === [2022-02-20 20:12:09,805 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:12:09,805 INFO L85 PathProgramCache]: Analyzing trace with hash -965967294, now seen corresponding path program 1 times [2022-02-20 20:12:09,805 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:12:09,805 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1230277781] [2022-02-20 20:12:09,806 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:12:09,806 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:12:09,830 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:12:09,897 INFO L290 TraceCheckUtils]: 0: Hoare triple {7420#true} [336] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7420#true} is VALID [2022-02-20 20:12:09,898 INFO L290 TraceCheckUtils]: 1: Hoare triple {7420#true} [324] 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] {7420#true} is VALID [2022-02-20 20:12:09,899 INFO L290 TraceCheckUtils]: 2: Hoare triple {7420#true} [342] L-1-1-->L-1-2: Formula: (= (select |v_#valid_3| 0) 0) InVars {#valid=|v_#valid_3|} OutVars{#valid=|v_#valid_3|} AuxVars[] AssignedVars[] {7420#true} is VALID [2022-02-20 20:12:09,899 INFO L290 TraceCheckUtils]: 3: Hoare triple {7420#true} [346] L-1-2-->L16: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {7420#true} is VALID [2022-02-20 20:12:09,899 INFO L290 TraceCheckUtils]: 4: Hoare triple {7420#true} [317] L16-->L16-1: Formula: (and (= (select |v_#valid_4| 1) 1) (= 2 (select |v_#length_1| 1))) InVars {#length=|v_#length_1|, #valid=|v_#valid_4|} OutVars{#length=|v_#length_1|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[] {7420#true} is VALID [2022-02-20 20:12:09,899 INFO L290 TraceCheckUtils]: 5: Hoare triple {7420#true} [289] L16-1-->L16-2: Formula: (= (select (select |v_#memory_int_5| 1) 0) 48) InVars {#memory_int=|v_#memory_int_5|} OutVars{#memory_int=|v_#memory_int_5|} AuxVars[] AssignedVars[] {7420#true} is VALID [2022-02-20 20:12:09,900 INFO L290 TraceCheckUtils]: 6: Hoare triple {7420#true} [349] L16-2-->L16-3: Formula: (= (select (select |v_#memory_int_6| 1) 1) 0) InVars {#memory_int=|v_#memory_int_6|} OutVars{#memory_int=|v_#memory_int_6|} AuxVars[] AssignedVars[] {7420#true} is VALID [2022-02-20 20:12:09,900 INFO L290 TraceCheckUtils]: 7: Hoare triple {7420#true} [330] L16-3-->L16-4: Formula: (and (= (select |v_#valid_5| 2) 1) (= 21 (select |v_#length_2| 2))) InVars {#length=|v_#length_2|, #valid=|v_#valid_5|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_5|} AuxVars[] AssignedVars[] {7420#true} is VALID [2022-02-20 20:12:09,900 INFO L290 TraceCheckUtils]: 8: Hoare triple {7420#true} [332] L16-4-->L689: Formula: (= v_~a~0_5 1) InVars {} OutVars{~a~0=v_~a~0_5} AuxVars[] AssignedVars[~a~0] {7420#true} is VALID [2022-02-20 20:12:09,900 INFO L290 TraceCheckUtils]: 9: Hoare triple {7420#true} [300] L689-->L690: Formula: (= 2 v_~b~0_5) InVars {} OutVars{~b~0=v_~b~0_5} AuxVars[] AssignedVars[~b~0] {7420#true} is VALID [2022-02-20 20:12:09,902 INFO L290 TraceCheckUtils]: 10: Hoare triple {7420#true} [339] L690-->L691: Formula: (= 3 v_~c~0_3) InVars {} OutVars{~c~0=v_~c~0_3} AuxVars[] AssignedVars[~c~0] {7420#true} is VALID [2022-02-20 20:12:09,903 INFO L290 TraceCheckUtils]: 11: Hoare triple {7420#true} [320] L691-->L692: Formula: (= v_~temp~0_3 0) InVars {} OutVars{~temp~0=v_~temp~0_3} AuxVars[] AssignedVars[~temp~0] {7420#true} is VALID [2022-02-20 20:12:09,903 INFO L290 TraceCheckUtils]: 12: Hoare triple {7420#true} [319] L692-->L-1-3: Formula: (= v_~mutex~0_9 0) InVars {} OutVars{~mutex~0=v_~mutex~0_9} AuxVars[] AssignedVars[~mutex~0] {7420#true} is VALID [2022-02-20 20:12:09,903 INFO L290 TraceCheckUtils]: 13: Hoare triple {7420#true} [348] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7420#true} is VALID [2022-02-20 20:12:09,903 INFO L290 TraceCheckUtils]: 14: Hoare triple {7420#true} [329] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7420#true} is VALID [2022-02-20 20:12:09,903 INFO L290 TraceCheckUtils]: 15: Hoare triple {7420#true} [305] L-1-5-->L-1-6: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {7420#true} is VALID [2022-02-20 20:12:09,904 INFO L290 TraceCheckUtils]: 16: Hoare triple {7420#true} [328] L-1-6-->L726: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_4|, ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_5|, ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_2|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_5|, ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1, ULTIMATE.start_main_#t~nondet4#1, ULTIMATE.start_main_~#t~0#1.offset, ULTIMATE.start_main_#t~nondet6#1, ULTIMATE.start_main_~#t~0#1.base, ULTIMATE.start_main_#t~pre3#1] {7420#true} is VALID [2022-02-20 20:12:09,904 INFO L290 TraceCheckUtils]: 17: Hoare triple {7420#true} [312] L726-->L726-1: Formula: (and (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_6| 4) |v_#length_3|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_6| 0) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_6|) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#t~0#1.base_6|) 0) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_6| 0)) (= (store |v_#valid_7| |v_ULTIMATE.start_main_~#t~0#1.base_6| 1) |v_#valid_6|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_6|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_6|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] {7420#true} is VALID [2022-02-20 20:12:09,904 INFO L290 TraceCheckUtils]: 18: Hoare triple {7420#true} [303] L726-1-->L727: Formula: (= |v_ULTIMATE.start_main_#t~pre3#1_4| |v_#pthreadsForks_6|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_6|, ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre3#1] {7420#true} is VALID [2022-02-20 20:12:09,904 INFO L290 TraceCheckUtils]: 19: Hoare triple {7420#true} [304] L727-->L727-1: Formula: (= (+ 1 |v_#pthreadsForks_2|) |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_2|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|} AuxVars[] AssignedVars[#pthreadsForks] {7420#true} is VALID [2022-02-20 20:12:09,904 INFO L290 TraceCheckUtils]: 20: Hoare triple {7420#true} [291] L727-1-->L727-2: Formula: (= (store |v_#memory_int_2| |v_ULTIMATE.start_main_~#t~0#1.base_1| (store (select |v_#memory_int_2| |v_ULTIMATE.start_main_~#t~0#1.base_1|) |v_ULTIMATE.start_main_~#t~0#1.offset_1| |v_ULTIMATE.start_main_#t~pre3#1_1|)) |v_#memory_int_1|) InVars {#memory_int=|v_#memory_int_2|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_1|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_1|, ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_1|} OutVars{#memory_int=|v_#memory_int_1|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_1|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_1|, ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_1|} AuxVars[] AssignedVars[#memory_int] {7420#true} is VALID [2022-02-20 20:12:09,905 INFO L290 TraceCheckUtils]: 21: Hoare triple {7420#true} [406] L727-2-->thr1ENTRY: Formula: (and (= |v_thr1Thread1of2ForFork1_#in~arg#1.base_4| 0) (= |v_thr1Thread1of2ForFork1_#in~arg#1.offset_4| 0) (= |v_ULTIMATE.start_main_#t~pre3#1_8| v_thr1Thread1of2ForFork1_thidvar0_2) (= v_thr1Thread1of2ForFork1_thidvar1_2 0)) InVars {ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_8|} OutVars{thr1Thread1of2ForFork1_#res#1.base=|v_thr1Thread1of2ForFork1_#res#1.base_4|, thr1Thread1of2ForFork1_assume_abort_if_not_~cond#1=|v_thr1Thread1of2ForFork1_assume_abort_if_not_~cond#1_6|, thr1Thread1of2ForFork1_#in~arg#1.base=|v_thr1Thread1of2ForFork1_#in~arg#1.base_4|, thr1Thread1of2ForFork1_thidvar1=v_thr1Thread1of2ForFork1_thidvar1_2, thr1Thread1of2ForFork1_thidvar0=v_thr1Thread1of2ForFork1_thidvar0_2, thr1Thread1of2ForFork1_assume_abort_if_not_#in~cond#1=|v_thr1Thread1of2ForFork1_assume_abort_if_not_#in~cond#1_6|, thr1Thread1of2ForFork1_~arg#1.offset=|v_thr1Thread1of2ForFork1_~arg#1.offset_4|, thr1Thread1of2ForFork1_#in~arg#1.offset=|v_thr1Thread1of2ForFork1_#in~arg#1.offset_4|, thr1Thread1of2ForFork1_~arg#1.base=|v_thr1Thread1of2ForFork1_~arg#1.base_4|, thr1Thread1of2ForFork1_#res#1.offset=|v_thr1Thread1of2ForFork1_#res#1.offset_4|, ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_8|} AuxVars[] AssignedVars[thr1Thread1of2ForFork1_#res#1.base, thr1Thread1of2ForFork1_assume_abort_if_not_~cond#1, thr1Thread1of2ForFork1_#in~arg#1.base, thr1Thread1of2ForFork1_thidvar1, thr1Thread1of2ForFork1_thidvar0, thr1Thread1of2ForFork1_assume_abort_if_not_#in~cond#1, thr1Thread1of2ForFork1_~arg#1.offset, thr1Thread1of2ForFork1_#in~arg#1.offset, thr1Thread1of2ForFork1_~arg#1.base, thr1Thread1of2ForFork1_#res#1.offset] {7420#true} is VALID [2022-02-20 20:12:09,907 INFO L290 TraceCheckUtils]: 22: Hoare triple {7420#true} [334] L727-3-->L727-4: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre3#1] {7420#true} is VALID [2022-02-20 20:12:09,907 INFO L290 TraceCheckUtils]: 23: Hoare triple {7420#true} [301] L727-4-->L728-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet4#1] {7420#true} is VALID [2022-02-20 20:12:09,907 INFO L290 TraceCheckUtils]: 24: Hoare triple {7420#true} [311] L728-2-->L730: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7420#true} is VALID [2022-02-20 20:12:09,908 INFO L290 TraceCheckUtils]: 25: Hoare triple {7420#true} [340] L730-->L730-1: Formula: (= |v_ULTIMATE.start_main_#t~pre5#1_1| |v_#pthreadsForks_3|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_1|, #pthreadsForks=|v_#pthreadsForks_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1] {7420#true} is VALID [2022-02-20 20:12:09,908 INFO L290 TraceCheckUtils]: 26: Hoare triple {7420#true} [331] L730-1-->L730-2: Formula: (= (+ 1 |v_#pthreadsForks_5|) |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_5|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|} AuxVars[] AssignedVars[#pthreadsForks] {7420#true} is VALID [2022-02-20 20:12:09,908 INFO L290 TraceCheckUtils]: 27: Hoare triple {7420#true} [335] L730-2-->L730-3: Formula: (= (store |v_#memory_int_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| (store (select |v_#memory_int_4| |v_ULTIMATE.start_main_~#t~0#1.base_2|) |v_ULTIMATE.start_main_~#t~0#1.offset_2| |v_ULTIMATE.start_main_#t~pre5#1_2|)) |v_#memory_int_3|) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_2|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_2|, #memory_int=|v_#memory_int_3|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|} AuxVars[] AssignedVars[#memory_int] {7420#true} is VALID [2022-02-20 20:12:09,908 INFO L290 TraceCheckUtils]: 28: Hoare triple {7420#true} [403] L730-3-->thr2ENTRY: Formula: (and (= |v_thr2Thread1of2ForFork0_#in~arg#1.base_4| 0) (= v_thr2Thread1of2ForFork0_thidvar1_2 0) (= |v_ULTIMATE.start_main_#t~pre5#1_8| v_thr2Thread1of2ForFork0_thidvar0_2) (= |v_thr2Thread1of2ForFork0_#in~arg#1.offset_4| 0)) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_8|} OutVars{thr2Thread1of2ForFork0_#res#1.offset=|v_thr2Thread1of2ForFork0_#res#1.offset_4|, ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_8|, thr2Thread1of2ForFork0_assume_abort_if_not_#in~cond#1=|v_thr2Thread1of2ForFork0_assume_abort_if_not_#in~cond#1_6|, thr2Thread1of2ForFork0_~arg#1.base=|v_thr2Thread1of2ForFork0_~arg#1.base_4|, thr2Thread1of2ForFork0_~arg#1.offset=|v_thr2Thread1of2ForFork0_~arg#1.offset_4|, thr2Thread1of2ForFork0_thidvar0=v_thr2Thread1of2ForFork0_thidvar0_2, thr2Thread1of2ForFork0_#in~arg#1.offset=|v_thr2Thread1of2ForFork0_#in~arg#1.offset_4|, thr2Thread1of2ForFork0_thidvar1=v_thr2Thread1of2ForFork0_thidvar1_2, thr2Thread1of2ForFork0_assume_abort_if_not_~cond#1=|v_thr2Thread1of2ForFork0_assume_abort_if_not_~cond#1_6|, thr2Thread1of2ForFork0_#in~arg#1.base=|v_thr2Thread1of2ForFork0_#in~arg#1.base_4|, thr2Thread1of2ForFork0_#res#1.base=|v_thr2Thread1of2ForFork0_#res#1.base_4|} AuxVars[] AssignedVars[thr2Thread1of2ForFork0_#res#1.offset, thr2Thread1of2ForFork0_assume_abort_if_not_#in~cond#1, thr2Thread1of2ForFork0_~arg#1.base, thr2Thread1of2ForFork0_~arg#1.offset, thr2Thread1of2ForFork0_thidvar0, thr2Thread1of2ForFork0_#in~arg#1.offset, thr2Thread1of2ForFork0_thidvar1, thr2Thread1of2ForFork0_assume_abort_if_not_~cond#1, thr2Thread1of2ForFork0_#in~arg#1.base, thr2Thread1of2ForFork0_#res#1.base] {7420#true} is VALID [2022-02-20 20:12:09,908 INFO L290 TraceCheckUtils]: 29: Hoare triple {7420#true} [364] thr2ENTRY-->L711-1: Formula: (and (= |v_thr2Thread1of2ForFork0_#in~arg#1.base_1| |v_thr2Thread1of2ForFork0_~arg#1.base_1|) (= |v_thr2Thread1of2ForFork0_~arg#1.offset_1| |v_thr2Thread1of2ForFork0_#in~arg#1.offset_1|)) InVars {thr2Thread1of2ForFork0_#in~arg#1.base=|v_thr2Thread1of2ForFork0_#in~arg#1.base_1|, thr2Thread1of2ForFork0_#in~arg#1.offset=|v_thr2Thread1of2ForFork0_#in~arg#1.offset_1|} OutVars{thr2Thread1of2ForFork0_#in~arg#1.offset=|v_thr2Thread1of2ForFork0_#in~arg#1.offset_1|, thr2Thread1of2ForFork0_#in~arg#1.base=|v_thr2Thread1of2ForFork0_#in~arg#1.base_1|, thr2Thread1of2ForFork0_~arg#1.offset=|v_thr2Thread1of2ForFork0_~arg#1.offset_1|, thr2Thread1of2ForFork0_~arg#1.base=|v_thr2Thread1of2ForFork0_~arg#1.base_1|} AuxVars[] AssignedVars[thr2Thread1of2ForFork0_~arg#1.offset, thr2Thread1of2ForFork0_~arg#1.base] {7420#true} is VALID [2022-02-20 20:12:09,909 INFO L290 TraceCheckUtils]: 30: Hoare triple {7420#true} [367] L711-1-->L706: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7420#true} is VALID [2022-02-20 20:12:09,909 INFO L290 TraceCheckUtils]: 31: Hoare triple {7420#true} [369] L706-->L706-1: Formula: (and (not (= |v_thr2Thread1of2ForFork0_assume_abort_if_not_~cond#1_1| 0)) (= v_~mutex~0_62 1) (= |v_thr2Thread1of2ForFork0_assume_abort_if_not_#in~cond#1_1| (ite (= v_~mutex~0_63 0) 1 0)) (= |v_thr2Thread1of2ForFork0_assume_abort_if_not_#in~cond#1_1| |v_thr2Thread1of2ForFork0_assume_abort_if_not_~cond#1_1|)) InVars {~mutex~0=v_~mutex~0_63} OutVars{thr2Thread1of2ForFork0_assume_abort_if_not_~cond#1=|v_thr2Thread1of2ForFork0_assume_abort_if_not_~cond#1_1|, thr2Thread1of2ForFork0_assume_abort_if_not_#in~cond#1=|v_thr2Thread1of2ForFork0_assume_abort_if_not_#in~cond#1_1|, ~mutex~0=v_~mutex~0_62} AuxVars[] AssignedVars[thr2Thread1of2ForFork0_assume_abort_if_not_#in~cond#1, thr2Thread1of2ForFork0_assume_abort_if_not_~cond#1, ~mutex~0] {7422#(not (= 0 ~mutex~0))} is VALID [2022-02-20 20:12:09,910 INFO L290 TraceCheckUtils]: 32: Hoare triple {7422#(not (= 0 ~mutex~0))} [376] thr1ENTRY-->L721: Formula: (and (= |v_thr1Thread1of2ForFork1_~arg#1.offset_1| |v_thr1Thread1of2ForFork1_#in~arg#1.offset_1|) (= |v_thr1Thread1of2ForFork1_#in~arg#1.base_1| |v_thr1Thread1of2ForFork1_~arg#1.base_1|)) InVars {thr1Thread1of2ForFork1_#in~arg#1.offset=|v_thr1Thread1of2ForFork1_#in~arg#1.offset_1|, thr1Thread1of2ForFork1_#in~arg#1.base=|v_thr1Thread1of2ForFork1_#in~arg#1.base_1|} OutVars{thr1Thread1of2ForFork1_~arg#1.offset=|v_thr1Thread1of2ForFork1_~arg#1.offset_1|, thr1Thread1of2ForFork1_#in~arg#1.base=|v_thr1Thread1of2ForFork1_#in~arg#1.base_1|, thr1Thread1of2ForFork1_#in~arg#1.offset=|v_thr1Thread1of2ForFork1_#in~arg#1.offset_1|, thr1Thread1of2ForFork1_~arg#1.base=|v_thr1Thread1of2ForFork1_~arg#1.base_1|} AuxVars[] AssignedVars[thr1Thread1of2ForFork1_~arg#1.offset, thr1Thread1of2ForFork1_~arg#1.base] {7422#(not (= 0 ~mutex~0))} is VALID [2022-02-20 20:12:09,910 INFO L290 TraceCheckUtils]: 33: Hoare triple {7422#(not (= 0 ~mutex~0))} [379] L721-->L719: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7422#(not (= 0 ~mutex~0))} is VALID [2022-02-20 20:12:09,911 INFO L290 TraceCheckUtils]: 34: Hoare triple {7422#(not (= 0 ~mutex~0))} [381] L719-->L719-1: Formula: (and (= |v_thr1Thread1of2ForFork1_assume_abort_if_not_#in~cond#1_1| (ite (= v_~mutex~0_57 0) 1 0)) (= |v_thr1Thread1of2ForFork1_assume_abort_if_not_#in~cond#1_1| |v_thr1Thread1of2ForFork1_assume_abort_if_not_~cond#1_1|) (not (= |v_thr1Thread1of2ForFork1_assume_abort_if_not_~cond#1_1| 0)) (= v_~mutex~0_56 1)) InVars {~mutex~0=v_~mutex~0_57} OutVars{thr1Thread1of2ForFork1_assume_abort_if_not_#in~cond#1=|v_thr1Thread1of2ForFork1_assume_abort_if_not_#in~cond#1_1|, thr1Thread1of2ForFork1_assume_abort_if_not_~cond#1=|v_thr1Thread1of2ForFork1_assume_abort_if_not_~cond#1_1|, ~mutex~0=v_~mutex~0_56} AuxVars[] AssignedVars[thr1Thread1of2ForFork1_assume_abort_if_not_~cond#1, thr1Thread1of2ForFork1_assume_abort_if_not_#in~cond#1, ~mutex~0] {7421#false} is VALID [2022-02-20 20:12:09,911 INFO L290 TraceCheckUtils]: 35: Hoare triple {7421#false} [371] L706-1-->L708: Formula: (= v_~temp~0_1 v_~a~0_1) InVars {~a~0=v_~a~0_1} OutVars{~temp~0=v_~temp~0_1, ~a~0=v_~a~0_1} AuxVars[] AssignedVars[~temp~0] {7421#false} is VALID [2022-02-20 20:12:09,911 INFO L290 TraceCheckUtils]: 36: Hoare triple {7421#false} [372] L708-->L709: Formula: (= v_~a~0_2 v_~b~0_1) InVars {~b~0=v_~b~0_1} OutVars{~a~0=v_~a~0_2, ~b~0=v_~b~0_1} AuxVars[] AssignedVars[~a~0] {7421#false} is VALID [2022-02-20 20:12:09,911 INFO L290 TraceCheckUtils]: 37: Hoare triple {7421#false} [383] L719-1-->L720: Formula: (= v_~a~0_3 v_~b~0_3) InVars {~a~0=v_~a~0_3, ~b~0=v_~b~0_3} OutVars{~a~0=v_~a~0_3, ~b~0=v_~b~0_3} AuxVars[] AssignedVars[] {7421#false} is VALID [2022-02-20 20:12:09,912 INFO L290 TraceCheckUtils]: 38: Hoare triple {7421#false} [385] L720-->thr1Err0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7421#false} is VALID [2022-02-20 20:12:09,913 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:12:09,913 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 20:12:09,913 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1230277781] [2022-02-20 20:12:09,914 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1230277781] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 20:12:09,914 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 20:12:09,915 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 20:12:09,915 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1942004386] [2022-02-20 20:12:09,915 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 20:12:09,916 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 13.0) internal successors, (39), 3 states have internal predecessors, (39), 0 states have call successors, (0), 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 39 [2022-02-20 20:12:09,916 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 20:12:09,916 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 13.0) internal successors, (39), 3 states have internal predecessors, (39), 0 states have call successors, (0), 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:12:09,938 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 20:12:09,938 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 20:12:09,939 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 20:12:09,940 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 20:12:09,940 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 20:12:09,940 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 65 out of 92 [2022-02-20 20:12:09,941 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 67 places, 63 transitions, 186 flow. Second operand has 3 states, 3 states have (on average 66.66666666666667) internal successors, (200), 3 states have internal predecessors, (200), 0 states have call successors, (0), 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:12:09,941 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 20:12:09,941 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 65 of 92 [2022-02-20 20:12:09,941 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 20:12:09,985 INFO L129 PetriNetUnfolder]: 43/218 cut-off events. [2022-02-20 20:12:09,986 INFO L130 PetriNetUnfolder]: For 60/60 co-relation queries the response was YES. [2022-02-20 20:12:09,986 INFO L84 FinitePrefix]: Finished finitePrefix Result has 417 conditions, 218 events. 43/218 cut-off events. For 60/60 co-relation queries the response was YES. Maximal size of possible extension queue 16. Compared 807 event pairs, 4 based on Foata normal form. 54/270 useless extension candidates. Maximal degree in co-relation 381. Up to 53 conditions per place. [2022-02-20 20:12:09,987 INFO L132 encePairwiseOnDemand]: 86/92 looper letters, 6 selfloop transitions, 6 changer transitions 0/63 dead transitions. [2022-02-20 20:12:09,987 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 69 places, 63 transitions, 210 flow [2022-02-20 20:12:09,987 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 20:12:09,987 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2022-02-20 20:12:09,989 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 210 transitions. [2022-02-20 20:12:09,990 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.7608695652173914 [2022-02-20 20:12:09,990 INFO L72 ComplementDD]: Start complementDD. Operand 3 states and 210 transitions. [2022-02-20 20:12:09,990 INFO L73 IsDeterministic]: Start isDeterministic. Operand 3 states and 210 transitions. [2022-02-20 20:12:09,990 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 20:12:09,990 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 3 states and 210 transitions. [2022-02-20 20:12:09,991 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 4 states, 3 states have (on average 70.0) internal successors, (210), 3 states have internal predecessors, (210), 0 states have call successors, (0), 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:12:09,991 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 4 states, 4 states have (on average 92.0) internal successors, (368), 4 states have internal predecessors, (368), 0 states have call successors, (0), 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:12:09,991 INFO L81 ComplementDD]: Finished complementDD. Result has 4 states, 4 states have (on average 92.0) internal successors, (368), 4 states have internal predecessors, (368), 0 states have call successors, (0), 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:12:09,992 INFO L186 Difference]: Start difference. First operand has 67 places, 63 transitions, 186 flow. Second operand 3 states and 210 transitions. [2022-02-20 20:12:09,992 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 69 places, 63 transitions, 210 flow [2022-02-20 20:12:10,001 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 68 places, 63 transitions, 204 flow, removed 2 selfloop flow, removed 1 redundant places. [2022-02-20 20:12:10,003 INFO L242 Difference]: Finished difference. Result has 68 places, 61 transitions, 180 flow [2022-02-20 20:12:10,003 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=92, PETRI_DIFFERENCE_MINUEND_FLOW=168, PETRI_DIFFERENCE_MINUEND_PLACES=66, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=61, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=6, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=55, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=180, PETRI_PLACES=68, PETRI_TRANSITIONS=61} [2022-02-20 20:12:10,004 INFO L334 CegarLoopForPetriNet]: 77 programPoint places, -9 predicate places. [2022-02-20 20:12:10,004 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 68 places, 61 transitions, 180 flow [2022-02-20 20:12:10,051 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 2677 states, 2676 states have (on average 3.2126307922272046) internal successors, (8597), 2676 states have internal predecessors, (8597), 0 states have call successors, (0), 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:12:10,057 INFO L78 Accepts]: Start accepts. Automaton has has 2677 states, 2676 states have (on average 3.2126307922272046) internal successors, (8597), 2676 states have internal predecessors, (8597), 0 states have call successors, (0), 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 39 [2022-02-20 20:12:10,057 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 20:12:10,057 INFO L470 AbstractCegarLoop]: Abstraction has has 68 places, 61 transitions, 180 flow [2022-02-20 20:12:10,057 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 66.66666666666667) internal successors, (200), 3 states have internal predecessors, (200), 0 states have call successors, (0), 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:12:10,057 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:12:10,057 INFO L254 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 20:12:10,058 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-02-20 20:12:10,058 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting thr1Err0ASSERT_VIOLATIONERROR_FUNCTION === [thr1Err0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION, thr1Err0ASSERT_VIOLATIONERROR_FUNCTION (and 1 more)] === [2022-02-20 20:12:10,059 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:12:10,059 INFO L85 PathProgramCache]: Analyzing trace with hash 1583627234, now seen corresponding path program 1 times [2022-02-20 20:12:10,059 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:12:10,059 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [305053660] [2022-02-20 20:12:10,059 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:12:10,059 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:12:10,085 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:12:10,150 INFO L290 TraceCheckUtils]: 0: Hoare triple {10102#true} [336] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10102#true} is VALID [2022-02-20 20:12:10,150 INFO L290 TraceCheckUtils]: 1: Hoare triple {10102#true} [324] 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] {10102#true} is VALID [2022-02-20 20:12:10,150 INFO L290 TraceCheckUtils]: 2: Hoare triple {10102#true} [342] L-1-1-->L-1-2: Formula: (= (select |v_#valid_3| 0) 0) InVars {#valid=|v_#valid_3|} OutVars{#valid=|v_#valid_3|} AuxVars[] AssignedVars[] {10102#true} is VALID [2022-02-20 20:12:10,150 INFO L290 TraceCheckUtils]: 3: Hoare triple {10102#true} [346] L-1-2-->L16: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {10102#true} is VALID [2022-02-20 20:12:10,150 INFO L290 TraceCheckUtils]: 4: Hoare triple {10102#true} [317] L16-->L16-1: Formula: (and (= (select |v_#valid_4| 1) 1) (= 2 (select |v_#length_1| 1))) InVars {#length=|v_#length_1|, #valid=|v_#valid_4|} OutVars{#length=|v_#length_1|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[] {10102#true} is VALID [2022-02-20 20:12:10,150 INFO L290 TraceCheckUtils]: 5: Hoare triple {10102#true} [289] L16-1-->L16-2: Formula: (= (select (select |v_#memory_int_5| 1) 0) 48) InVars {#memory_int=|v_#memory_int_5|} OutVars{#memory_int=|v_#memory_int_5|} AuxVars[] AssignedVars[] {10102#true} is VALID [2022-02-20 20:12:10,150 INFO L290 TraceCheckUtils]: 6: Hoare triple {10102#true} [349] L16-2-->L16-3: Formula: (= (select (select |v_#memory_int_6| 1) 1) 0) InVars {#memory_int=|v_#memory_int_6|} OutVars{#memory_int=|v_#memory_int_6|} AuxVars[] AssignedVars[] {10102#true} is VALID [2022-02-20 20:12:10,151 INFO L290 TraceCheckUtils]: 7: Hoare triple {10102#true} [330] L16-3-->L16-4: Formula: (and (= (select |v_#valid_5| 2) 1) (= 21 (select |v_#length_2| 2))) InVars {#length=|v_#length_2|, #valid=|v_#valid_5|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_5|} AuxVars[] AssignedVars[] {10102#true} is VALID [2022-02-20 20:12:10,151 INFO L290 TraceCheckUtils]: 8: Hoare triple {10102#true} [332] L16-4-->L689: Formula: (= v_~a~0_5 1) InVars {} OutVars{~a~0=v_~a~0_5} AuxVars[] AssignedVars[~a~0] {10102#true} is VALID [2022-02-20 20:12:10,151 INFO L290 TraceCheckUtils]: 9: Hoare triple {10102#true} [300] L689-->L690: Formula: (= 2 v_~b~0_5) InVars {} OutVars{~b~0=v_~b~0_5} AuxVars[] AssignedVars[~b~0] {10104#(= 2 ~b~0)} is VALID [2022-02-20 20:12:10,151 INFO L290 TraceCheckUtils]: 10: Hoare triple {10104#(= 2 ~b~0)} [339] L690-->L691: Formula: (= 3 v_~c~0_3) InVars {} OutVars{~c~0=v_~c~0_3} AuxVars[] AssignedVars[~c~0] {10105#(and (<= 3 ~c~0) (= 2 ~b~0))} is VALID [2022-02-20 20:12:10,152 INFO L290 TraceCheckUtils]: 11: Hoare triple {10105#(and (<= 3 ~c~0) (= 2 ~b~0))} [320] L691-->L692: Formula: (= v_~temp~0_3 0) InVars {} OutVars{~temp~0=v_~temp~0_3} AuxVars[] AssignedVars[~temp~0] {10105#(and (<= 3 ~c~0) (= 2 ~b~0))} is VALID [2022-02-20 20:12:10,152 INFO L290 TraceCheckUtils]: 12: Hoare triple {10105#(and (<= 3 ~c~0) (= 2 ~b~0))} [319] L692-->L-1-3: Formula: (= v_~mutex~0_9 0) InVars {} OutVars{~mutex~0=v_~mutex~0_9} AuxVars[] AssignedVars[~mutex~0] {10105#(and (<= 3 ~c~0) (= 2 ~b~0))} is VALID [2022-02-20 20:12:10,152 INFO L290 TraceCheckUtils]: 13: Hoare triple {10105#(and (<= 3 ~c~0) (= 2 ~b~0))} [348] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10105#(and (<= 3 ~c~0) (= 2 ~b~0))} is VALID [2022-02-20 20:12:10,154 INFO L290 TraceCheckUtils]: 14: Hoare triple {10105#(and (<= 3 ~c~0) (= 2 ~b~0))} [329] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10105#(and (<= 3 ~c~0) (= 2 ~b~0))} is VALID [2022-02-20 20:12:10,155 INFO L290 TraceCheckUtils]: 15: Hoare triple {10105#(and (<= 3 ~c~0) (= 2 ~b~0))} [305] L-1-5-->L-1-6: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {10105#(and (<= 3 ~c~0) (= 2 ~b~0))} is VALID [2022-02-20 20:12:10,155 INFO L290 TraceCheckUtils]: 16: Hoare triple {10105#(and (<= 3 ~c~0) (= 2 ~b~0))} [328] L-1-6-->L726: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_4|, ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_5|, ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_2|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_5|, ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1, ULTIMATE.start_main_#t~nondet4#1, ULTIMATE.start_main_~#t~0#1.offset, ULTIMATE.start_main_#t~nondet6#1, ULTIMATE.start_main_~#t~0#1.base, ULTIMATE.start_main_#t~pre3#1] {10105#(and (<= 3 ~c~0) (= 2 ~b~0))} is VALID [2022-02-20 20:12:10,156 INFO L290 TraceCheckUtils]: 17: Hoare triple {10105#(and (<= 3 ~c~0) (= 2 ~b~0))} [312] L726-->L726-1: Formula: (and (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_6| 4) |v_#length_3|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_6| 0) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_6|) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#t~0#1.base_6|) 0) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_6| 0)) (= (store |v_#valid_7| |v_ULTIMATE.start_main_~#t~0#1.base_6| 1) |v_#valid_6|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_6|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_6|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] {10105#(and (<= 3 ~c~0) (= 2 ~b~0))} is VALID [2022-02-20 20:12:10,156 INFO L290 TraceCheckUtils]: 18: Hoare triple {10105#(and (<= 3 ~c~0) (= 2 ~b~0))} [303] L726-1-->L727: Formula: (= |v_ULTIMATE.start_main_#t~pre3#1_4| |v_#pthreadsForks_6|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_6|, ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre3#1] {10105#(and (<= 3 ~c~0) (= 2 ~b~0))} is VALID [2022-02-20 20:12:10,156 INFO L290 TraceCheckUtils]: 19: Hoare triple {10105#(and (<= 3 ~c~0) (= 2 ~b~0))} [304] L727-->L727-1: Formula: (= (+ 1 |v_#pthreadsForks_2|) |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_2|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|} AuxVars[] AssignedVars[#pthreadsForks] {10105#(and (<= 3 ~c~0) (= 2 ~b~0))} is VALID [2022-02-20 20:12:10,157 INFO L290 TraceCheckUtils]: 20: Hoare triple {10105#(and (<= 3 ~c~0) (= 2 ~b~0))} [291] L727-1-->L727-2: Formula: (= (store |v_#memory_int_2| |v_ULTIMATE.start_main_~#t~0#1.base_1| (store (select |v_#memory_int_2| |v_ULTIMATE.start_main_~#t~0#1.base_1|) |v_ULTIMATE.start_main_~#t~0#1.offset_1| |v_ULTIMATE.start_main_#t~pre3#1_1|)) |v_#memory_int_1|) InVars {#memory_int=|v_#memory_int_2|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_1|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_1|, ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_1|} OutVars{#memory_int=|v_#memory_int_1|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_1|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_1|, ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_1|} AuxVars[] AssignedVars[#memory_int] {10105#(and (<= 3 ~c~0) (= 2 ~b~0))} is VALID [2022-02-20 20:12:10,157 INFO L290 TraceCheckUtils]: 21: Hoare triple {10105#(and (<= 3 ~c~0) (= 2 ~b~0))} [406] L727-2-->thr1ENTRY: Formula: (and (= |v_thr1Thread1of2ForFork1_#in~arg#1.base_4| 0) (= |v_thr1Thread1of2ForFork1_#in~arg#1.offset_4| 0) (= |v_ULTIMATE.start_main_#t~pre3#1_8| v_thr1Thread1of2ForFork1_thidvar0_2) (= v_thr1Thread1of2ForFork1_thidvar1_2 0)) InVars {ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_8|} OutVars{thr1Thread1of2ForFork1_#res#1.base=|v_thr1Thread1of2ForFork1_#res#1.base_4|, thr1Thread1of2ForFork1_assume_abort_if_not_~cond#1=|v_thr1Thread1of2ForFork1_assume_abort_if_not_~cond#1_6|, thr1Thread1of2ForFork1_#in~arg#1.base=|v_thr1Thread1of2ForFork1_#in~arg#1.base_4|, thr1Thread1of2ForFork1_thidvar1=v_thr1Thread1of2ForFork1_thidvar1_2, thr1Thread1of2ForFork1_thidvar0=v_thr1Thread1of2ForFork1_thidvar0_2, thr1Thread1of2ForFork1_assume_abort_if_not_#in~cond#1=|v_thr1Thread1of2ForFork1_assume_abort_if_not_#in~cond#1_6|, thr1Thread1of2ForFork1_~arg#1.offset=|v_thr1Thread1of2ForFork1_~arg#1.offset_4|, thr1Thread1of2ForFork1_#in~arg#1.offset=|v_thr1Thread1of2ForFork1_#in~arg#1.offset_4|, thr1Thread1of2ForFork1_~arg#1.base=|v_thr1Thread1of2ForFork1_~arg#1.base_4|, thr1Thread1of2ForFork1_#res#1.offset=|v_thr1Thread1of2ForFork1_#res#1.offset_4|, ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_8|} AuxVars[] AssignedVars[thr1Thread1of2ForFork1_#res#1.base, thr1Thread1of2ForFork1_assume_abort_if_not_~cond#1, thr1Thread1of2ForFork1_#in~arg#1.base, thr1Thread1of2ForFork1_thidvar1, thr1Thread1of2ForFork1_thidvar0, thr1Thread1of2ForFork1_assume_abort_if_not_#in~cond#1, thr1Thread1of2ForFork1_~arg#1.offset, thr1Thread1of2ForFork1_#in~arg#1.offset, thr1Thread1of2ForFork1_~arg#1.base, thr1Thread1of2ForFork1_#res#1.offset] {10105#(and (<= 3 ~c~0) (= 2 ~b~0))} is VALID [2022-02-20 20:12:10,158 INFO L290 TraceCheckUtils]: 22: Hoare triple {10105#(and (<= 3 ~c~0) (= 2 ~b~0))} [334] L727-3-->L727-4: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre3#1] {10105#(and (<= 3 ~c~0) (= 2 ~b~0))} is VALID [2022-02-20 20:12:10,159 INFO L290 TraceCheckUtils]: 23: Hoare triple {10105#(and (<= 3 ~c~0) (= 2 ~b~0))} [301] L727-4-->L728-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet4#1] {10105#(and (<= 3 ~c~0) (= 2 ~b~0))} is VALID [2022-02-20 20:12:10,168 INFO L290 TraceCheckUtils]: 24: Hoare triple {10105#(and (<= 3 ~c~0) (= 2 ~b~0))} [311] L728-2-->L730: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10105#(and (<= 3 ~c~0) (= 2 ~b~0))} is VALID [2022-02-20 20:12:10,168 INFO L290 TraceCheckUtils]: 25: Hoare triple {10105#(and (<= 3 ~c~0) (= 2 ~b~0))} [340] L730-->L730-1: Formula: (= |v_ULTIMATE.start_main_#t~pre5#1_1| |v_#pthreadsForks_3|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_1|, #pthreadsForks=|v_#pthreadsForks_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1] {10105#(and (<= 3 ~c~0) (= 2 ~b~0))} is VALID [2022-02-20 20:12:10,169 INFO L290 TraceCheckUtils]: 26: Hoare triple {10105#(and (<= 3 ~c~0) (= 2 ~b~0))} [331] L730-1-->L730-2: Formula: (= (+ 1 |v_#pthreadsForks_5|) |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_5|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|} AuxVars[] AssignedVars[#pthreadsForks] {10105#(and (<= 3 ~c~0) (= 2 ~b~0))} is VALID [2022-02-20 20:12:10,170 INFO L290 TraceCheckUtils]: 27: Hoare triple {10105#(and (<= 3 ~c~0) (= 2 ~b~0))} [335] L730-2-->L730-3: Formula: (= (store |v_#memory_int_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| (store (select |v_#memory_int_4| |v_ULTIMATE.start_main_~#t~0#1.base_2|) |v_ULTIMATE.start_main_~#t~0#1.offset_2| |v_ULTIMATE.start_main_#t~pre5#1_2|)) |v_#memory_int_3|) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_2|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_2|, #memory_int=|v_#memory_int_3|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|} AuxVars[] AssignedVars[#memory_int] {10105#(and (<= 3 ~c~0) (= 2 ~b~0))} is VALID [2022-02-20 20:12:10,170 INFO L290 TraceCheckUtils]: 28: Hoare triple {10105#(and (<= 3 ~c~0) (= 2 ~b~0))} [403] L730-3-->thr2ENTRY: Formula: (and (= |v_thr2Thread1of2ForFork0_#in~arg#1.base_4| 0) (= v_thr2Thread1of2ForFork0_thidvar1_2 0) (= |v_ULTIMATE.start_main_#t~pre5#1_8| v_thr2Thread1of2ForFork0_thidvar0_2) (= |v_thr2Thread1of2ForFork0_#in~arg#1.offset_4| 0)) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_8|} OutVars{thr2Thread1of2ForFork0_#res#1.offset=|v_thr2Thread1of2ForFork0_#res#1.offset_4|, ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_8|, thr2Thread1of2ForFork0_assume_abort_if_not_#in~cond#1=|v_thr2Thread1of2ForFork0_assume_abort_if_not_#in~cond#1_6|, thr2Thread1of2ForFork0_~arg#1.base=|v_thr2Thread1of2ForFork0_~arg#1.base_4|, thr2Thread1of2ForFork0_~arg#1.offset=|v_thr2Thread1of2ForFork0_~arg#1.offset_4|, thr2Thread1of2ForFork0_thidvar0=v_thr2Thread1of2ForFork0_thidvar0_2, thr2Thread1of2ForFork0_#in~arg#1.offset=|v_thr2Thread1of2ForFork0_#in~arg#1.offset_4|, thr2Thread1of2ForFork0_thidvar1=v_thr2Thread1of2ForFork0_thidvar1_2, thr2Thread1of2ForFork0_assume_abort_if_not_~cond#1=|v_thr2Thread1of2ForFork0_assume_abort_if_not_~cond#1_6|, thr2Thread1of2ForFork0_#in~arg#1.base=|v_thr2Thread1of2ForFork0_#in~arg#1.base_4|, thr2Thread1of2ForFork0_#res#1.base=|v_thr2Thread1of2ForFork0_#res#1.base_4|} AuxVars[] AssignedVars[thr2Thread1of2ForFork0_#res#1.offset, thr2Thread1of2ForFork0_assume_abort_if_not_#in~cond#1, thr2Thread1of2ForFork0_~arg#1.base, thr2Thread1of2ForFork0_~arg#1.offset, thr2Thread1of2ForFork0_thidvar0, thr2Thread1of2ForFork0_#in~arg#1.offset, thr2Thread1of2ForFork0_thidvar1, thr2Thread1of2ForFork0_assume_abort_if_not_~cond#1, thr2Thread1of2ForFork0_#in~arg#1.base, thr2Thread1of2ForFork0_#res#1.base] {10105#(and (<= 3 ~c~0) (= 2 ~b~0))} is VALID [2022-02-20 20:12:10,171 INFO L290 TraceCheckUtils]: 29: Hoare triple {10105#(and (<= 3 ~c~0) (= 2 ~b~0))} [364] thr2ENTRY-->L711-1: Formula: (and (= |v_thr2Thread1of2ForFork0_#in~arg#1.base_1| |v_thr2Thread1of2ForFork0_~arg#1.base_1|) (= |v_thr2Thread1of2ForFork0_~arg#1.offset_1| |v_thr2Thread1of2ForFork0_#in~arg#1.offset_1|)) InVars {thr2Thread1of2ForFork0_#in~arg#1.base=|v_thr2Thread1of2ForFork0_#in~arg#1.base_1|, thr2Thread1of2ForFork0_#in~arg#1.offset=|v_thr2Thread1of2ForFork0_#in~arg#1.offset_1|} OutVars{thr2Thread1of2ForFork0_#in~arg#1.offset=|v_thr2Thread1of2ForFork0_#in~arg#1.offset_1|, thr2Thread1of2ForFork0_#in~arg#1.base=|v_thr2Thread1of2ForFork0_#in~arg#1.base_1|, thr2Thread1of2ForFork0_~arg#1.offset=|v_thr2Thread1of2ForFork0_~arg#1.offset_1|, thr2Thread1of2ForFork0_~arg#1.base=|v_thr2Thread1of2ForFork0_~arg#1.base_1|} AuxVars[] AssignedVars[thr2Thread1of2ForFork0_~arg#1.offset, thr2Thread1of2ForFork0_~arg#1.base] {10105#(and (<= 3 ~c~0) (= 2 ~b~0))} is VALID [2022-02-20 20:12:10,177 INFO L290 TraceCheckUtils]: 30: Hoare triple {10105#(and (<= 3 ~c~0) (= 2 ~b~0))} [367] L711-1-->L706: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10105#(and (<= 3 ~c~0) (= 2 ~b~0))} is VALID [2022-02-20 20:12:10,177 INFO L290 TraceCheckUtils]: 31: Hoare triple {10105#(and (<= 3 ~c~0) (= 2 ~b~0))} [369] L706-->L706-1: Formula: (and (not (= |v_thr2Thread1of2ForFork0_assume_abort_if_not_~cond#1_1| 0)) (= v_~mutex~0_62 1) (= |v_thr2Thread1of2ForFork0_assume_abort_if_not_#in~cond#1_1| (ite (= v_~mutex~0_63 0) 1 0)) (= |v_thr2Thread1of2ForFork0_assume_abort_if_not_#in~cond#1_1| |v_thr2Thread1of2ForFork0_assume_abort_if_not_~cond#1_1|)) InVars {~mutex~0=v_~mutex~0_63} OutVars{thr2Thread1of2ForFork0_assume_abort_if_not_~cond#1=|v_thr2Thread1of2ForFork0_assume_abort_if_not_~cond#1_1|, thr2Thread1of2ForFork0_assume_abort_if_not_#in~cond#1=|v_thr2Thread1of2ForFork0_assume_abort_if_not_#in~cond#1_1|, ~mutex~0=v_~mutex~0_62} AuxVars[] AssignedVars[thr2Thread1of2ForFork0_assume_abort_if_not_#in~cond#1, thr2Thread1of2ForFork0_assume_abort_if_not_~cond#1, ~mutex~0] {10105#(and (<= 3 ~c~0) (= 2 ~b~0))} is VALID [2022-02-20 20:12:10,178 INFO L290 TraceCheckUtils]: 32: Hoare triple {10105#(and (<= 3 ~c~0) (= 2 ~b~0))} [371] L706-1-->L708: Formula: (= v_~temp~0_1 v_~a~0_1) InVars {~a~0=v_~a~0_1} OutVars{~temp~0=v_~temp~0_1, ~a~0=v_~a~0_1} AuxVars[] AssignedVars[~temp~0] {10105#(and (<= 3 ~c~0) (= 2 ~b~0))} is VALID [2022-02-20 20:12:10,178 INFO L290 TraceCheckUtils]: 33: Hoare triple {10105#(and (<= 3 ~c~0) (= 2 ~b~0))} [372] L708-->L709: Formula: (= v_~a~0_2 v_~b~0_1) InVars {~b~0=v_~b~0_1} OutVars{~a~0=v_~a~0_2, ~b~0=v_~b~0_1} AuxVars[] AssignedVars[~a~0] {10106#(and (<= 3 ~c~0) (= 2 ~a~0))} is VALID [2022-02-20 20:12:10,179 INFO L290 TraceCheckUtils]: 34: Hoare triple {10106#(and (<= 3 ~c~0) (= 2 ~a~0))} [373] L709-->L710: Formula: (= v_~b~0_2 v_~c~0_1) InVars {~c~0=v_~c~0_1} OutVars{~c~0=v_~c~0_1, ~b~0=v_~b~0_2} AuxVars[] AssignedVars[~b~0] {10107#(and (not (= 2 ~b~0)) (= 2 ~a~0))} is VALID [2022-02-20 20:12:10,179 INFO L290 TraceCheckUtils]: 35: Hoare triple {10107#(and (not (= 2 ~b~0)) (= 2 ~a~0))} [374] L710-->L711: Formula: (= v_~temp~0_2 v_~c~0_2) InVars {~temp~0=v_~temp~0_2} OutVars{~c~0=v_~c~0_2, ~temp~0=v_~temp~0_2} AuxVars[] AssignedVars[~c~0] {10107#(and (not (= 2 ~b~0)) (= 2 ~a~0))} is VALID [2022-02-20 20:12:10,180 INFO L290 TraceCheckUtils]: 36: Hoare triple {10107#(and (not (= 2 ~b~0)) (= 2 ~a~0))} [375] L711-->L711-1: Formula: (and (= |v_thr2Thread1of2ForFork0_assume_abort_if_not_#in~cond#1_3| |v_thr2Thread1of2ForFork0_assume_abort_if_not_~cond#1_3|) (= v_~mutex~0_50 0) (not (= |v_thr2Thread1of2ForFork0_assume_abort_if_not_~cond#1_3| 0)) (= |v_thr2Thread1of2ForFork0_assume_abort_if_not_#in~cond#1_3| (ite (= v_~mutex~0_51 1) 1 0))) InVars {~mutex~0=v_~mutex~0_51} OutVars{thr2Thread1of2ForFork0_assume_abort_if_not_~cond#1=|v_thr2Thread1of2ForFork0_assume_abort_if_not_~cond#1_3|, thr2Thread1of2ForFork0_assume_abort_if_not_#in~cond#1=|v_thr2Thread1of2ForFork0_assume_abort_if_not_#in~cond#1_3|, ~mutex~0=v_~mutex~0_50} AuxVars[] AssignedVars[thr2Thread1of2ForFork0_assume_abort_if_not_#in~cond#1, thr2Thread1of2ForFork0_assume_abort_if_not_~cond#1, ~mutex~0] {10107#(and (not (= 2 ~b~0)) (= 2 ~a~0))} is VALID [2022-02-20 20:12:10,180 INFO L290 TraceCheckUtils]: 37: Hoare triple {10107#(and (not (= 2 ~b~0)) (= 2 ~a~0))} [376] thr1ENTRY-->L721: Formula: (and (= |v_thr1Thread1of2ForFork1_~arg#1.offset_1| |v_thr1Thread1of2ForFork1_#in~arg#1.offset_1|) (= |v_thr1Thread1of2ForFork1_#in~arg#1.base_1| |v_thr1Thread1of2ForFork1_~arg#1.base_1|)) InVars {thr1Thread1of2ForFork1_#in~arg#1.offset=|v_thr1Thread1of2ForFork1_#in~arg#1.offset_1|, thr1Thread1of2ForFork1_#in~arg#1.base=|v_thr1Thread1of2ForFork1_#in~arg#1.base_1|} OutVars{thr1Thread1of2ForFork1_~arg#1.offset=|v_thr1Thread1of2ForFork1_~arg#1.offset_1|, thr1Thread1of2ForFork1_#in~arg#1.base=|v_thr1Thread1of2ForFork1_#in~arg#1.base_1|, thr1Thread1of2ForFork1_#in~arg#1.offset=|v_thr1Thread1of2ForFork1_#in~arg#1.offset_1|, thr1Thread1of2ForFork1_~arg#1.base=|v_thr1Thread1of2ForFork1_~arg#1.base_1|} AuxVars[] AssignedVars[thr1Thread1of2ForFork1_~arg#1.offset, thr1Thread1of2ForFork1_~arg#1.base] {10107#(and (not (= 2 ~b~0)) (= 2 ~a~0))} is VALID [2022-02-20 20:12:10,180 INFO L290 TraceCheckUtils]: 38: Hoare triple {10107#(and (not (= 2 ~b~0)) (= 2 ~a~0))} [379] L721-->L719: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10107#(and (not (= 2 ~b~0)) (= 2 ~a~0))} is VALID [2022-02-20 20:12:10,181 INFO L290 TraceCheckUtils]: 39: Hoare triple {10107#(and (not (= 2 ~b~0)) (= 2 ~a~0))} [381] L719-->L719-1: Formula: (and (= |v_thr1Thread1of2ForFork1_assume_abort_if_not_#in~cond#1_1| (ite (= v_~mutex~0_57 0) 1 0)) (= |v_thr1Thread1of2ForFork1_assume_abort_if_not_#in~cond#1_1| |v_thr1Thread1of2ForFork1_assume_abort_if_not_~cond#1_1|) (not (= |v_thr1Thread1of2ForFork1_assume_abort_if_not_~cond#1_1| 0)) (= v_~mutex~0_56 1)) InVars {~mutex~0=v_~mutex~0_57} OutVars{thr1Thread1of2ForFork1_assume_abort_if_not_#in~cond#1=|v_thr1Thread1of2ForFork1_assume_abort_if_not_#in~cond#1_1|, thr1Thread1of2ForFork1_assume_abort_if_not_~cond#1=|v_thr1Thread1of2ForFork1_assume_abort_if_not_~cond#1_1|, ~mutex~0=v_~mutex~0_56} AuxVars[] AssignedVars[thr1Thread1of2ForFork1_assume_abort_if_not_~cond#1, thr1Thread1of2ForFork1_assume_abort_if_not_#in~cond#1, ~mutex~0] {10107#(and (not (= 2 ~b~0)) (= 2 ~a~0))} is VALID [2022-02-20 20:12:10,181 INFO L290 TraceCheckUtils]: 40: Hoare triple {10107#(and (not (= 2 ~b~0)) (= 2 ~a~0))} [383] L719-1-->L720: Formula: (= v_~a~0_3 v_~b~0_3) InVars {~a~0=v_~a~0_3, ~b~0=v_~b~0_3} OutVars{~a~0=v_~a~0_3, ~b~0=v_~b~0_3} AuxVars[] AssignedVars[] {10103#false} is VALID [2022-02-20 20:12:10,182 INFO L290 TraceCheckUtils]: 41: Hoare triple {10103#false} [385] L720-->thr1Err0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10103#false} is VALID [2022-02-20 20:12:10,182 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:12:10,182 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 20:12:10,182 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [305053660] [2022-02-20 20:12:10,182 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [305053660] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 20:12:10,182 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 20:12:10,182 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-02-20 20:12:10,183 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1164630460] [2022-02-20 20:12:10,183 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 20:12:10,183 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 7.0) internal successors, (42), 6 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 42 [2022-02-20 20:12:10,183 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 20:12:10,183 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 7.0) internal successors, (42), 6 states have internal predecessors, (42), 0 states have call successors, (0), 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:12:10,211 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 20:12:10,211 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 20:12:10,211 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 20:12:10,211 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 20:12:10,211 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=20, Unknown=0, NotChecked=0, Total=30 [2022-02-20 20:12:10,212 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 51 out of 92 [2022-02-20 20:12:10,213 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 68 places, 61 transitions, 180 flow. Second operand has 6 states, 6 states have (on average 53.166666666666664) internal successors, (319), 6 states have internal predecessors, (319), 0 states have call successors, (0), 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:12:10,213 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 20:12:10,213 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 51 of 92 [2022-02-20 20:12:10,213 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 20:12:10,411 INFO L129 PetriNetUnfolder]: 91/341 cut-off events. [2022-02-20 20:12:10,412 INFO L130 PetriNetUnfolder]: For 198/198 co-relation queries the response was YES. [2022-02-20 20:12:10,413 INFO L84 FinitePrefix]: Finished finitePrefix Result has 944 conditions, 341 events. 91/341 cut-off events. For 198/198 co-relation queries the response was YES. Maximal size of possible extension queue 34. Compared 1830 event pairs, 9 based on Foata normal form. 3/337 useless extension candidates. Maximal degree in co-relation 906. Up to 145 conditions per place. [2022-02-20 20:12:10,415 INFO L132 encePairwiseOnDemand]: 83/92 looper letters, 44 selfloop transitions, 12 changer transitions 0/90 dead transitions. [2022-02-20 20:12:10,415 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 74 places, 90 transitions, 410 flow [2022-02-20 20:12:10,415 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 20:12:10,415 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2022-02-20 20:12:10,419 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 408 transitions. [2022-02-20 20:12:10,419 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.6335403726708074 [2022-02-20 20:12:10,420 INFO L72 ComplementDD]: Start complementDD. Operand 7 states and 408 transitions. [2022-02-20 20:12:10,420 INFO L73 IsDeterministic]: Start isDeterministic. Operand 7 states and 408 transitions. [2022-02-20 20:12:10,420 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 20:12:10,420 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 7 states and 408 transitions. [2022-02-20 20:12:10,421 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 8 states, 7 states have (on average 58.285714285714285) internal successors, (408), 7 states have internal predecessors, (408), 0 states have call successors, (0), 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:12:10,422 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 8 states, 8 states have (on average 92.0) internal successors, (736), 8 states have internal predecessors, (736), 0 states have call successors, (0), 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:12:10,422 INFO L81 ComplementDD]: Finished complementDD. Result has 8 states, 8 states have (on average 92.0) internal successors, (736), 8 states have internal predecessors, (736), 0 states have call successors, (0), 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:12:10,422 INFO L186 Difference]: Start difference. First operand has 68 places, 61 transitions, 180 flow. Second operand 7 states and 408 transitions. [2022-02-20 20:12:10,423 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 74 places, 90 transitions, 410 flow [2022-02-20 20:12:12,417 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 73 places, 90 transitions, 394 flow, removed 0 selfloop flow, removed 1 redundant places. [2022-02-20 20:12:12,419 INFO L242 Difference]: Finished difference. Result has 76 places, 69 transitions, 258 flow [2022-02-20 20:12:12,419 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=92, PETRI_DIFFERENCE_MINUEND_FLOW=174, PETRI_DIFFERENCE_MINUEND_PLACES=67, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=61, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=4, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=49, PETRI_DIFFERENCE_SUBTRAHEND_STATES=7, PETRI_FLOW=258, PETRI_PLACES=76, PETRI_TRANSITIONS=69} [2022-02-20 20:12:12,419 INFO L334 CegarLoopForPetriNet]: 77 programPoint places, -1 predicate places. [2022-02-20 20:12:12,420 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 76 places, 69 transitions, 258 flow [2022-02-20 20:12:12,512 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 4346 states, 4345 states have (on average 3.2211737629459147) internal successors, (13996), 4345 states have internal predecessors, (13996), 0 states have call successors, (0), 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:12:12,524 INFO L78 Accepts]: Start accepts. Automaton has has 4346 states, 4345 states have (on average 3.2211737629459147) internal successors, (13996), 4345 states have internal predecessors, (13996), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 42 [2022-02-20 20:12:12,525 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 20:12:12,525 INFO L470 AbstractCegarLoop]: Abstraction has has 76 places, 69 transitions, 258 flow [2022-02-20 20:12:12,525 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 53.166666666666664) internal successors, (319), 6 states have internal predecessors, (319), 0 states have call successors, (0), 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:12:12,525 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:12:12,525 INFO L254 CegarLoopForPetriNet]: trace histogram [3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 20:12:12,525 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2022-02-20 20:12:12,526 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0INUSE_VIOLATION === [thr1Err0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION, thr1Err0ASSERT_VIOLATIONERROR_FUNCTION (and 1 more)] === [2022-02-20 20:12:12,526 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:12:12,526 INFO L85 PathProgramCache]: Analyzing trace with hash -1827137551, now seen corresponding path program 1 times [2022-02-20 20:12:12,526 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:12:12,526 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [792708234] [2022-02-20 20:12:12,527 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:12:12,527 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:12:12,538 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 20:12:12,539 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-02-20 20:12:12,545 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 20:12:12,550 INFO L138 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-02-20 20:12:12,551 INFO L628 BasicCegarLoop]: Counterexample is feasible [2022-02-20 20:12:12,551 INFO L764 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0INUSE_VIOLATION (4 of 5 remaining) [2022-02-20 20:12:12,551 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location thr1Err0ASSERT_VIOLATIONERROR_FUNCTION (3 of 5 remaining) [2022-02-20 20:12:12,551 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr1INUSE_VIOLATION (2 of 5 remaining) [2022-02-20 20:12:12,552 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location thr1Err0ASSERT_VIOLATIONERROR_FUNCTION (1 of 5 remaining) [2022-02-20 20:12:12,552 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location thr1Err0ASSERT_VIOLATIONERROR_FUNCTION (0 of 5 remaining) [2022-02-20 20:12:12,552 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2022-02-20 20:12:12,552 INFO L732 BasicCegarLoop]: Path program histogram: [1, 1, 1, 1] [2022-02-20 20:12:12,552 WARN L235 ceAbstractionStarter]: 2 thread instances were not sufficient, I will increase this number and restart the analysis [2022-02-20 20:12:12,552 INFO L534 ceAbstractionStarter]: Constructing petrified ICFG for 3 thread instances. [2022-02-20 20:12:12,565 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of3ForFork0_#in~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,565 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of3ForFork0_#in~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,565 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of3ForFork0_~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,565 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of3ForFork0_~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,566 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of3ForFork0_#in~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,566 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of3ForFork0_#in~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,566 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of3ForFork0_~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,566 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of3ForFork0_~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,566 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of3ForFork0_#res#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,566 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of3ForFork0_#res#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,566 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of3ForFork0_#res#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,566 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of3ForFork0_#res#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,566 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,567 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,567 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,567 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,567 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,567 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,567 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,568 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,568 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread2of3ForFork0_#in~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,568 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread2of3ForFork0_#in~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,568 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread2of3ForFork0_~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,568 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread2of3ForFork0_~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,568 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread2of3ForFork0_#in~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,568 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread2of3ForFork0_#in~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,569 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread2of3ForFork0_~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,569 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread2of3ForFork0_~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,569 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread2of3ForFork0_#res#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,569 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread2of3ForFork0_#res#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,569 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread2of3ForFork0_#res#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,569 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread2of3ForFork0_#res#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,569 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread2of3ForFork0_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,572 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread2of3ForFork0_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,573 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread2of3ForFork0_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,573 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread2of3ForFork0_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,573 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread2of3ForFork0_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,573 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread2of3ForFork0_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,573 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread2of3ForFork0_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,573 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread2of3ForFork0_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,574 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread3of3ForFork0_#in~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,574 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread3of3ForFork0_#in~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,574 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread3of3ForFork0_~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,574 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread3of3ForFork0_~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,574 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread3of3ForFork0_#in~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,574 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread3of3ForFork0_#in~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,574 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread3of3ForFork0_~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,574 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread3of3ForFork0_~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,575 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread3of3ForFork0_#res#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,575 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread3of3ForFork0_#res#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,575 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread3of3ForFork0_#res#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,575 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread3of3ForFork0_#res#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,575 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread3of3ForFork0_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,575 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread3of3ForFork0_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,575 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread3of3ForFork0_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,576 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread3of3ForFork0_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,576 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread3of3ForFork0_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,576 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread3of3ForFork0_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,576 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread3of3ForFork0_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,576 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread3of3ForFork0_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,577 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread3of3ForFork1_#in~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,577 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread3of3ForFork1_#in~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,577 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread3of3ForFork1_~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,577 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread3of3ForFork1_~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,577 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread3of3ForFork1_#in~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,577 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread3of3ForFork1_#in~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,577 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread3of3ForFork1_~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,577 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread3of3ForFork1_~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,577 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread3of3ForFork1_#res#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,578 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread3of3ForFork1_#res#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,578 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread3of3ForFork1_#res#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,578 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread3of3ForFork1_#res#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,578 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread3of3ForFork1_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,578 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread3of3ForFork1_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,578 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread3of3ForFork1_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,578 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread3of3ForFork1_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,579 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread3of3ForFork1_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,579 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread3of3ForFork1_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,579 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread3of3ForFork1_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,579 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread3of3ForFork1_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,579 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of3ForFork1_#in~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,579 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of3ForFork1_#in~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,579 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of3ForFork1_~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,580 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of3ForFork1_~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,580 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of3ForFork1_#in~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,580 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of3ForFork1_#in~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,580 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of3ForFork1_~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,580 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of3ForFork1_~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,580 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of3ForFork1_#res#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,580 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of3ForFork1_#res#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,580 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of3ForFork1_#res#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,581 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of3ForFork1_#res#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,581 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of3ForFork1_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,581 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of3ForFork1_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,581 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of3ForFork1_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,581 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of3ForFork1_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,581 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of3ForFork1_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,581 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of3ForFork1_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,582 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of3ForFork1_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,582 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of3ForFork1_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,582 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread2of3ForFork1_#in~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,582 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread2of3ForFork1_#in~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,582 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread2of3ForFork1_~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,582 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread2of3ForFork1_~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,582 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread2of3ForFork1_#in~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,582 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread2of3ForFork1_#in~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,583 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread2of3ForFork1_~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,583 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread2of3ForFork1_~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,583 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread2of3ForFork1_#res#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,583 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread2of3ForFork1_#res#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,583 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread2of3ForFork1_#res#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,583 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread2of3ForFork1_#res#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,583 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread2of3ForFork1_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,583 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread2of3ForFork1_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,584 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread2of3ForFork1_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,584 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread2of3ForFork1_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,584 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread2of3ForFork1_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,584 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread2of3ForFork1_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,584 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread2of3ForFork1_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,584 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread2of3ForFork1_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,585 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,585 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of3ForFork0_#res#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,585 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of3ForFork0_~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,585 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,585 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of3ForFork0_#res#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,585 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread1of3ForFork0_~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,586 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread2of3ForFork0_#res#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,586 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread2of3ForFork0_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,586 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread2of3ForFork0_~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,586 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread2of3ForFork0_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,586 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread2of3ForFork0_~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,586 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread2of3ForFork0_#res#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,587 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread3of3ForFork0_~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,587 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread3of3ForFork0_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,587 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread3of3ForFork0_#res#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,587 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread3of3ForFork0_#res#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,587 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread3of3ForFork0_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,587 WARN L322 ript$VariableManager]: TermVariabe |thr2Thread3of3ForFork0_~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,588 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of3ForFork1_~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,588 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of3ForFork1_#res#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,588 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of3ForFork1_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,588 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of3ForFork1_#res#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,588 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of3ForFork1_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,588 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread1of3ForFork1_~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,588 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread2of3ForFork1_~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,589 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread2of3ForFork1_~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,589 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread2of3ForFork1_#res#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,589 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread2of3ForFork1_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,589 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread2of3ForFork1_#res#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,589 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread2of3ForFork1_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,589 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread3of3ForFork1_assume_abort_if_not_#in~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,590 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread3of3ForFork1_~arg#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,590 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread3of3ForFork1_#res#1.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,590 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread3of3ForFork1_#res#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,590 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread3of3ForFork1_~arg#1.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,590 WARN L322 ript$VariableManager]: TermVariabe |thr1Thread3of3ForFork1_assume_abort_if_not_~cond#1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:12:12,590 INFO L148 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2022-02-20 20:12:12,591 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 20:12:12,592 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:12:12,592 INFO L340 AbstractCegarLoop]: Starting to check reachability of 6 error locations. [2022-02-20 20:12:12,593 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 117 places, 119 transitions, 280 flow [2022-02-20 20:12:12,600 INFO L129 PetriNetUnfolder]: 13/127 cut-off events. [2022-02-20 20:12:12,600 INFO L130 PetriNetUnfolder]: For 7/7 co-relation queries the response was YES. [2022-02-20 20:12:12,600 INFO L84 FinitePrefix]: Finished finitePrefix Result has 148 conditions, 127 events. 13/127 cut-off events. For 7/7 co-relation queries the response was YES. Maximal size of possible extension queue 6. Compared 243 event pairs, 0 based on Foata normal form. 0/109 useless extension candidates. Maximal degree in co-relation 141. Up to 8 conditions per place. [2022-02-20 20:12:12,601 INFO L82 GeneralOperation]: Start removeDead. Operand has 117 places, 119 transitions, 280 flow [2022-02-20 20:12:12,601 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 90 places, 90 transitions, 204 flow [2022-02-20 20:12:12,603 INFO L129 PetriNetUnfolder]: 4/42 cut-off events. [2022-02-20 20:12:12,603 INFO L130 PetriNetUnfolder]: For 0/0 co-relation queries the response was YES. [2022-02-20 20:12:12,603 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:12:12,604 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] [2022-02-20 20:12:12,604 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting thr1Err0ASSERT_VIOLATIONERROR_FUNCTION === [thr1Err0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION, thr1Err0ASSERT_VIOLATIONERROR_FUNCTION (and 2 more)] === [2022-02-20 20:12:12,604 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:12:12,604 INFO L85 PathProgramCache]: Analyzing trace with hash -1010684622, now seen corresponding path program 1 times [2022-02-20 20:12:12,604 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:12:12,604 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2048424282] [2022-02-20 20:12:12,605 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:12:12,605 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:12:12,612 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:12:12,629 INFO L290 TraceCheckUtils]: 0: Hoare triple {120#true} [455] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {120#true} is VALID [2022-02-20 20:12:12,629 INFO L290 TraceCheckUtils]: 1: Hoare triple {120#true} [443] 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] {120#true} is VALID [2022-02-20 20:12:12,629 INFO L290 TraceCheckUtils]: 2: Hoare triple {120#true} [461] L-1-1-->L-1-2: Formula: (= (select |v_#valid_3| 0) 0) InVars {#valid=|v_#valid_3|} OutVars{#valid=|v_#valid_3|} AuxVars[] AssignedVars[] {120#true} is VALID [2022-02-20 20:12:12,629 INFO L290 TraceCheckUtils]: 3: Hoare triple {120#true} [465] L-1-2-->L16: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {120#true} is VALID [2022-02-20 20:12:12,629 INFO L290 TraceCheckUtils]: 4: Hoare triple {120#true} [436] L16-->L16-1: Formula: (and (= (select |v_#valid_4| 1) 1) (= 2 (select |v_#length_1| 1))) InVars {#length=|v_#length_1|, #valid=|v_#valid_4|} OutVars{#length=|v_#length_1|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[] {120#true} is VALID [2022-02-20 20:12:12,630 INFO L290 TraceCheckUtils]: 5: Hoare triple {120#true} [408] L16-1-->L16-2: Formula: (= (select (select |v_#memory_int_5| 1) 0) 48) InVars {#memory_int=|v_#memory_int_5|} OutVars{#memory_int=|v_#memory_int_5|} AuxVars[] AssignedVars[] {120#true} is VALID [2022-02-20 20:12:12,630 INFO L290 TraceCheckUtils]: 6: Hoare triple {120#true} [468] L16-2-->L16-3: Formula: (= (select (select |v_#memory_int_6| 1) 1) 0) InVars {#memory_int=|v_#memory_int_6|} OutVars{#memory_int=|v_#memory_int_6|} AuxVars[] AssignedVars[] {120#true} is VALID [2022-02-20 20:12:12,630 INFO L290 TraceCheckUtils]: 7: Hoare triple {120#true} [449] L16-3-->L16-4: Formula: (and (= (select |v_#valid_5| 2) 1) (= 21 (select |v_#length_2| 2))) InVars {#length=|v_#length_2|, #valid=|v_#valid_5|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_5|} AuxVars[] AssignedVars[] {120#true} is VALID [2022-02-20 20:12:12,630 INFO L290 TraceCheckUtils]: 8: Hoare triple {120#true} [451] L16-4-->L689: Formula: (= v_~a~0_5 1) InVars {} OutVars{~a~0=v_~a~0_5} AuxVars[] AssignedVars[~a~0] {122#(= ~a~0 1)} is VALID [2022-02-20 20:12:12,631 INFO L290 TraceCheckUtils]: 9: Hoare triple {122#(= ~a~0 1)} [419] L689-->L690: Formula: (= 2 v_~b~0_5) InVars {} OutVars{~b~0=v_~b~0_5} AuxVars[] AssignedVars[~b~0] {123#(not (= ~b~0 ~a~0))} is VALID [2022-02-20 20:12:12,631 INFO L290 TraceCheckUtils]: 10: Hoare triple {123#(not (= ~b~0 ~a~0))} [458] L690-->L691: Formula: (= 3 v_~c~0_3) InVars {} OutVars{~c~0=v_~c~0_3} AuxVars[] AssignedVars[~c~0] {123#(not (= ~b~0 ~a~0))} is VALID [2022-02-20 20:12:12,631 INFO L290 TraceCheckUtils]: 11: Hoare triple {123#(not (= ~b~0 ~a~0))} [439] L691-->L692: Formula: (= v_~temp~0_3 0) InVars {} OutVars{~temp~0=v_~temp~0_3} AuxVars[] AssignedVars[~temp~0] {123#(not (= ~b~0 ~a~0))} is VALID [2022-02-20 20:12:12,632 INFO L290 TraceCheckUtils]: 12: Hoare triple {123#(not (= ~b~0 ~a~0))} [438] L692-->L-1-3: Formula: (= v_~mutex~0_9 0) InVars {} OutVars{~mutex~0=v_~mutex~0_9} AuxVars[] AssignedVars[~mutex~0] {123#(not (= ~b~0 ~a~0))} is VALID [2022-02-20 20:12:12,632 INFO L290 TraceCheckUtils]: 13: Hoare triple {123#(not (= ~b~0 ~a~0))} [467] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {123#(not (= ~b~0 ~a~0))} is VALID [2022-02-20 20:12:12,632 INFO L290 TraceCheckUtils]: 14: Hoare triple {123#(not (= ~b~0 ~a~0))} [448] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {123#(not (= ~b~0 ~a~0))} is VALID [2022-02-20 20:12:12,633 INFO L290 TraceCheckUtils]: 15: Hoare triple {123#(not (= ~b~0 ~a~0))} [424] L-1-5-->L-1-6: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {123#(not (= ~b~0 ~a~0))} is VALID [2022-02-20 20:12:12,633 INFO L290 TraceCheckUtils]: 16: Hoare triple {123#(not (= ~b~0 ~a~0))} [447] L-1-6-->L726: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_4|, ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_5|, ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_2|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_5|, ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1, ULTIMATE.start_main_#t~nondet4#1, ULTIMATE.start_main_~#t~0#1.offset, ULTIMATE.start_main_#t~nondet6#1, ULTIMATE.start_main_~#t~0#1.base, ULTIMATE.start_main_#t~pre3#1] {123#(not (= ~b~0 ~a~0))} is VALID [2022-02-20 20:12:12,633 INFO L290 TraceCheckUtils]: 17: Hoare triple {123#(not (= ~b~0 ~a~0))} [431] L726-->L726-1: Formula: (and (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_6| 4) |v_#length_3|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_6| 0) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_6|) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#t~0#1.base_6|) 0) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_6| 0)) (= (store |v_#valid_7| |v_ULTIMATE.start_main_~#t~0#1.base_6| 1) |v_#valid_6|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_6|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_6|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] {123#(not (= ~b~0 ~a~0))} is VALID [2022-02-20 20:12:12,634 INFO L290 TraceCheckUtils]: 18: Hoare triple {123#(not (= ~b~0 ~a~0))} [422] L726-1-->L727: Formula: (= |v_ULTIMATE.start_main_#t~pre3#1_4| |v_#pthreadsForks_6|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_6|, ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre3#1] {123#(not (= ~b~0 ~a~0))} is VALID [2022-02-20 20:12:12,634 INFO L290 TraceCheckUtils]: 19: Hoare triple {123#(not (= ~b~0 ~a~0))} [423] L727-->L727-1: Formula: (= (+ 1 |v_#pthreadsForks_2|) |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_2|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|} AuxVars[] AssignedVars[#pthreadsForks] {123#(not (= ~b~0 ~a~0))} is VALID [2022-02-20 20:12:12,634 INFO L290 TraceCheckUtils]: 20: Hoare triple {123#(not (= ~b~0 ~a~0))} [410] L727-1-->L727-2: Formula: (= (store |v_#memory_int_2| |v_ULTIMATE.start_main_~#t~0#1.base_1| (store (select |v_#memory_int_2| |v_ULTIMATE.start_main_~#t~0#1.base_1|) |v_ULTIMATE.start_main_~#t~0#1.offset_1| |v_ULTIMATE.start_main_#t~pre3#1_1|)) |v_#memory_int_1|) InVars {#memory_int=|v_#memory_int_2|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_1|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_1|, ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_1|} OutVars{#memory_int=|v_#memory_int_1|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_1|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_1|, ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_1|} AuxVars[] AssignedVars[#memory_int] {123#(not (= ~b~0 ~a~0))} is VALID [2022-02-20 20:12:12,635 INFO L290 TraceCheckUtils]: 21: Hoare triple {123#(not (= ~b~0 ~a~0))} [551] L727-2-->thr1ENTRY: Formula: (and (= v_thr1Thread1of3ForFork1_thidvar0_2 |v_ULTIMATE.start_main_#t~pre3#1_12|) (= v_thr1Thread1of3ForFork1_thidvar1_2 0) (= |v_thr1Thread1of3ForFork1_#in~arg#1.base_4| 0) (= |v_thr1Thread1of3ForFork1_#in~arg#1.offset_4| 0)) InVars {ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_12|} OutVars{thr1Thread1of3ForFork1_~arg#1.base=|v_thr1Thread1of3ForFork1_~arg#1.base_4|, thr1Thread1of3ForFork1_#in~arg#1.offset=|v_thr1Thread1of3ForFork1_#in~arg#1.offset_4|, thr1Thread1of3ForFork1_#res#1.base=|v_thr1Thread1of3ForFork1_#res#1.base_4|, thr1Thread1of3ForFork1_thidvar0=v_thr1Thread1of3ForFork1_thidvar0_2, thr1Thread1of3ForFork1_assume_abort_if_not_~cond#1=|v_thr1Thread1of3ForFork1_assume_abort_if_not_~cond#1_6|, thr1Thread1of3ForFork1_#in~arg#1.base=|v_thr1Thread1of3ForFork1_#in~arg#1.base_4|, thr1Thread1of3ForFork1_#res#1.offset=|v_thr1Thread1of3ForFork1_#res#1.offset_4|, thr1Thread1of3ForFork1_thidvar1=v_thr1Thread1of3ForFork1_thidvar1_2, thr1Thread1of3ForFork1_assume_abort_if_not_#in~cond#1=|v_thr1Thread1of3ForFork1_assume_abort_if_not_#in~cond#1_6|, thr1Thread1of3ForFork1_~arg#1.offset=|v_thr1Thread1of3ForFork1_~arg#1.offset_4|, ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_12|} AuxVars[] AssignedVars[thr1Thread1of3ForFork1_~arg#1.base, thr1Thread1of3ForFork1_#in~arg#1.offset, thr1Thread1of3ForFork1_#res#1.base, thr1Thread1of3ForFork1_thidvar0, thr1Thread1of3ForFork1_assume_abort_if_not_~cond#1, thr1Thread1of3ForFork1_#in~arg#1.base, thr1Thread1of3ForFork1_#res#1.offset, thr1Thread1of3ForFork1_thidvar1, thr1Thread1of3ForFork1_assume_abort_if_not_#in~cond#1, thr1Thread1of3ForFork1_~arg#1.offset] {123#(not (= ~b~0 ~a~0))} is VALID [2022-02-20 20:12:12,635 INFO L290 TraceCheckUtils]: 22: Hoare triple {123#(not (= ~b~0 ~a~0))} [520] thr1ENTRY-->L721: Formula: (and (= |v_thr1Thread1of3ForFork1_~arg#1.base_1| |v_thr1Thread1of3ForFork1_#in~arg#1.base_1|) (= |v_thr1Thread1of3ForFork1_#in~arg#1.offset_1| |v_thr1Thread1of3ForFork1_~arg#1.offset_1|)) InVars {thr1Thread1of3ForFork1_#in~arg#1.offset=|v_thr1Thread1of3ForFork1_#in~arg#1.offset_1|, thr1Thread1of3ForFork1_#in~arg#1.base=|v_thr1Thread1of3ForFork1_#in~arg#1.base_1|} OutVars{thr1Thread1of3ForFork1_~arg#1.base=|v_thr1Thread1of3ForFork1_~arg#1.base_1|, thr1Thread1of3ForFork1_#in~arg#1.offset=|v_thr1Thread1of3ForFork1_#in~arg#1.offset_1|, thr1Thread1of3ForFork1_~arg#1.offset=|v_thr1Thread1of3ForFork1_~arg#1.offset_1|, thr1Thread1of3ForFork1_#in~arg#1.base=|v_thr1Thread1of3ForFork1_#in~arg#1.base_1|} AuxVars[] AssignedVars[thr1Thread1of3ForFork1_~arg#1.base, thr1Thread1of3ForFork1_~arg#1.offset] {123#(not (= ~b~0 ~a~0))} is VALID [2022-02-20 20:12:12,636 INFO L290 TraceCheckUtils]: 23: Hoare triple {123#(not (= ~b~0 ~a~0))} [523] L721-->L719: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {123#(not (= ~b~0 ~a~0))} is VALID [2022-02-20 20:12:12,636 INFO L290 TraceCheckUtils]: 24: Hoare triple {123#(not (= ~b~0 ~a~0))} [525] L719-->L719-1: Formula: (and (not (= |v_thr1Thread1of3ForFork1_assume_abort_if_not_~cond#1_1| 0)) (= |v_thr1Thread1of3ForFork1_assume_abort_if_not_#in~cond#1_1| (ite (= v_~mutex~0_57 0) 1 0)) (= v_~mutex~0_56 1) (= |v_thr1Thread1of3ForFork1_assume_abort_if_not_~cond#1_1| |v_thr1Thread1of3ForFork1_assume_abort_if_not_#in~cond#1_1|)) InVars {~mutex~0=v_~mutex~0_57} OutVars{thr1Thread1of3ForFork1_assume_abort_if_not_#in~cond#1=|v_thr1Thread1of3ForFork1_assume_abort_if_not_#in~cond#1_1|, thr1Thread1of3ForFork1_assume_abort_if_not_~cond#1=|v_thr1Thread1of3ForFork1_assume_abort_if_not_~cond#1_1|, ~mutex~0=v_~mutex~0_56} AuxVars[] AssignedVars[thr1Thread1of3ForFork1_assume_abort_if_not_~cond#1, thr1Thread1of3ForFork1_assume_abort_if_not_#in~cond#1, ~mutex~0] {123#(not (= ~b~0 ~a~0))} is VALID [2022-02-20 20:12:12,636 INFO L290 TraceCheckUtils]: 25: Hoare triple {123#(not (= ~b~0 ~a~0))} [527] L719-1-->L720: Formula: (= v_~a~0_3 v_~b~0_3) InVars {~a~0=v_~a~0_3, ~b~0=v_~b~0_3} OutVars{~a~0=v_~a~0_3, ~b~0=v_~b~0_3} AuxVars[] AssignedVars[] {121#false} is VALID [2022-02-20 20:12:12,636 INFO L290 TraceCheckUtils]: 26: Hoare triple {121#false} [529] L720-->thr1Err0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {121#false} is VALID [2022-02-20 20:12:12,637 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:12:12,637 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 20:12:12,637 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2048424282] [2022-02-20 20:12:12,637 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2048424282] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 20:12:12,637 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 20:12:12,637 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 20:12:12,647 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1440777343] [2022-02-20 20:12:12,648 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 20:12:12,648 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 6.75) internal successors, (27), 4 states have internal predecessors, (27), 0 states have call successors, (0), 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 27 [2022-02-20 20:12:12,649 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 20:12:12,649 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 6.75) internal successors, (27), 4 states have internal predecessors, (27), 0 states have call successors, (0), 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:12:12,664 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 20:12:12,666 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 20:12:12,667 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 20:12:12,667 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 20:12:12,667 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 20:12:12,668 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 64 out of 119 [2022-02-20 20:12:12,668 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 90 places, 90 transitions, 204 flow. Second operand has 4 states, 4 states have (on average 65.25) internal successors, (261), 4 states have internal predecessors, (261), 0 states have call successors, (0), 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:12:12,668 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 20:12:12,668 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 64 of 119 [2022-02-20 20:12:12,669 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 20:12:13,562 INFO L129 PetriNetUnfolder]: 6323/9886 cut-off events. [2022-02-20 20:12:13,562 INFO L130 PetriNetUnfolder]: For 2152/2152 co-relation queries the response was YES. [2022-02-20 20:12:13,594 INFO L84 FinitePrefix]: Finished finitePrefix Result has 19896 conditions, 9886 events. 6323/9886 cut-off events. For 2152/2152 co-relation queries the response was YES. Maximal size of possible extension queue 498. Compared 65865 event pairs, 1736 based on Foata normal form. 5068/14571 useless extension candidates. Maximal degree in co-relation 19863. Up to 5413 conditions per place. [2022-02-20 20:12:13,652 INFO L132 encePairwiseOnDemand]: 98/119 looper letters, 47 selfloop transitions, 12 changer transitions 0/99 dead transitions. [2022-02-20 20:12:13,652 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 75 places, 99 transitions, 364 flow [2022-02-20 20:12:13,653 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 20:12:13,653 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2022-02-20 20:12:13,656 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 412 transitions. [2022-02-20 20:12:13,656 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.692436974789916 [2022-02-20 20:12:13,656 INFO L72 ComplementDD]: Start complementDD. Operand 5 states and 412 transitions. [2022-02-20 20:12:13,657 INFO L73 IsDeterministic]: Start isDeterministic. Operand 5 states and 412 transitions. [2022-02-20 20:12:13,657 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 20:12:13,657 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 5 states and 412 transitions. [2022-02-20 20:12:13,658 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 6 states, 5 states have (on average 82.4) internal successors, (412), 5 states have internal predecessors, (412), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:12:13,659 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 6 states, 6 states have (on average 119.0) internal successors, (714), 6 states have internal predecessors, (714), 0 states have call successors, (0), 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:12:13,659 INFO L81 ComplementDD]: Finished complementDD. Result has 6 states, 6 states have (on average 119.0) internal successors, (714), 6 states have internal predecessors, (714), 0 states have call successors, (0), 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:12:13,659 INFO L186 Difference]: Start difference. First operand has 90 places, 90 transitions, 204 flow. Second operand 5 states and 412 transitions. [2022-02-20 20:12:13,659 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 75 places, 99 transitions, 364 flow [2022-02-20 20:12:13,661 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 74 places, 99 transitions, 353 flow, removed 5 selfloop flow, removed 1 redundant places. [2022-02-20 20:12:13,662 INFO L242 Difference]: Finished difference. Result has 77 places, 75 transitions, 231 flow [2022-02-20 20:12:13,663 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=119, PETRI_DIFFERENCE_MINUEND_FLOW=147, PETRI_DIFFERENCE_MINUEND_PLACES=70, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=65, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=5, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=56, PETRI_DIFFERENCE_SUBTRAHEND_STATES=5, PETRI_FLOW=231, PETRI_PLACES=77, PETRI_TRANSITIONS=75} [2022-02-20 20:12:13,663 INFO L334 CegarLoopForPetriNet]: 90 programPoint places, -13 predicate places. [2022-02-20 20:12:13,663 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 77 places, 75 transitions, 231 flow [2022-02-20 20:12:15,360 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 56465 states, 56465 states have (on average 4.7592668024439915) internal successors, (268732), 56464 states have internal predecessors, (268732), 0 states have call successors, (0), 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:12:15,577 INFO L78 Accepts]: Start accepts. Automaton has has 56465 states, 56465 states have (on average 4.7592668024439915) internal successors, (268732), 56464 states have internal predecessors, (268732), 0 states have call successors, (0), 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 27 [2022-02-20 20:12:15,577 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 20:12:15,577 INFO L470 AbstractCegarLoop]: Abstraction has has 77 places, 75 transitions, 231 flow [2022-02-20 20:12:15,578 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 65.25) internal successors, (261), 4 states have internal predecessors, (261), 0 states have call successors, (0), 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:12:15,578 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:12:15,578 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] [2022-02-20 20:12:15,578 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2022-02-20 20:12:15,578 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting thr1Err0ASSERT_VIOLATIONERROR_FUNCTION === [thr1Err0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION, thr1Err0ASSERT_VIOLATIONERROR_FUNCTION (and 2 more)] === [2022-02-20 20:12:15,579 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:12:15,579 INFO L85 PathProgramCache]: Analyzing trace with hash -156069315, now seen corresponding path program 1 times [2022-02-20 20:12:15,579 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:12:15,579 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [897376606] [2022-02-20 20:12:15,579 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:12:15,579 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:12:15,594 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:12:15,607 INFO L290 TraceCheckUtils]: 0: Hoare triple {56596#true} [455] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {56596#true} is VALID [2022-02-20 20:12:15,608 INFO L290 TraceCheckUtils]: 1: Hoare triple {56596#true} [443] 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] {56596#true} is VALID [2022-02-20 20:12:15,608 INFO L290 TraceCheckUtils]: 2: Hoare triple {56596#true} [461] L-1-1-->L-1-2: Formula: (= (select |v_#valid_3| 0) 0) InVars {#valid=|v_#valid_3|} OutVars{#valid=|v_#valid_3|} AuxVars[] AssignedVars[] {56596#true} is VALID [2022-02-20 20:12:15,608 INFO L290 TraceCheckUtils]: 3: Hoare triple {56596#true} [465] L-1-2-->L16: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {56596#true} is VALID [2022-02-20 20:12:15,608 INFO L290 TraceCheckUtils]: 4: Hoare triple {56596#true} [436] L16-->L16-1: Formula: (and (= (select |v_#valid_4| 1) 1) (= 2 (select |v_#length_1| 1))) InVars {#length=|v_#length_1|, #valid=|v_#valid_4|} OutVars{#length=|v_#length_1|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[] {56596#true} is VALID [2022-02-20 20:12:15,608 INFO L290 TraceCheckUtils]: 5: Hoare triple {56596#true} [408] L16-1-->L16-2: Formula: (= (select (select |v_#memory_int_5| 1) 0) 48) InVars {#memory_int=|v_#memory_int_5|} OutVars{#memory_int=|v_#memory_int_5|} AuxVars[] AssignedVars[] {56596#true} is VALID [2022-02-20 20:12:15,608 INFO L290 TraceCheckUtils]: 6: Hoare triple {56596#true} [468] L16-2-->L16-3: Formula: (= (select (select |v_#memory_int_6| 1) 1) 0) InVars {#memory_int=|v_#memory_int_6|} OutVars{#memory_int=|v_#memory_int_6|} AuxVars[] AssignedVars[] {56596#true} is VALID [2022-02-20 20:12:15,608 INFO L290 TraceCheckUtils]: 7: Hoare triple {56596#true} [449] L16-3-->L16-4: Formula: (and (= (select |v_#valid_5| 2) 1) (= 21 (select |v_#length_2| 2))) InVars {#length=|v_#length_2|, #valid=|v_#valid_5|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_5|} AuxVars[] AssignedVars[] {56596#true} is VALID [2022-02-20 20:12:15,609 INFO L290 TraceCheckUtils]: 8: Hoare triple {56596#true} [451] L16-4-->L689: Formula: (= v_~a~0_5 1) InVars {} OutVars{~a~0=v_~a~0_5} AuxVars[] AssignedVars[~a~0] {56596#true} is VALID [2022-02-20 20:12:15,609 INFO L290 TraceCheckUtils]: 9: Hoare triple {56596#true} [419] L689-->L690: Formula: (= 2 v_~b~0_5) InVars {} OutVars{~b~0=v_~b~0_5} AuxVars[] AssignedVars[~b~0] {56596#true} is VALID [2022-02-20 20:12:15,609 INFO L290 TraceCheckUtils]: 10: Hoare triple {56596#true} [458] L690-->L691: Formula: (= 3 v_~c~0_3) InVars {} OutVars{~c~0=v_~c~0_3} AuxVars[] AssignedVars[~c~0] {56596#true} is VALID [2022-02-20 20:12:15,609 INFO L290 TraceCheckUtils]: 11: Hoare triple {56596#true} [439] L691-->L692: Formula: (= v_~temp~0_3 0) InVars {} OutVars{~temp~0=v_~temp~0_3} AuxVars[] AssignedVars[~temp~0] {56596#true} is VALID [2022-02-20 20:12:15,609 INFO L290 TraceCheckUtils]: 12: Hoare triple {56596#true} [438] L692-->L-1-3: Formula: (= v_~mutex~0_9 0) InVars {} OutVars{~mutex~0=v_~mutex~0_9} AuxVars[] AssignedVars[~mutex~0] {56596#true} is VALID [2022-02-20 20:12:15,609 INFO L290 TraceCheckUtils]: 13: Hoare triple {56596#true} [467] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {56596#true} is VALID [2022-02-20 20:12:15,609 INFO L290 TraceCheckUtils]: 14: Hoare triple {56596#true} [448] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {56596#true} is VALID [2022-02-20 20:12:15,610 INFO L290 TraceCheckUtils]: 15: Hoare triple {56596#true} [424] L-1-5-->L-1-6: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {56596#true} is VALID [2022-02-20 20:12:15,610 INFO L290 TraceCheckUtils]: 16: Hoare triple {56596#true} [447] L-1-6-->L726: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_4|, ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_5|, ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_2|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_5|, ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1, ULTIMATE.start_main_#t~nondet4#1, ULTIMATE.start_main_~#t~0#1.offset, ULTIMATE.start_main_#t~nondet6#1, ULTIMATE.start_main_~#t~0#1.base, ULTIMATE.start_main_#t~pre3#1] {56596#true} is VALID [2022-02-20 20:12:15,610 INFO L290 TraceCheckUtils]: 17: Hoare triple {56596#true} [431] L726-->L726-1: Formula: (and (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_6| 4) |v_#length_3|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_6| 0) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_6|) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#t~0#1.base_6|) 0) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_6| 0)) (= (store |v_#valid_7| |v_ULTIMATE.start_main_~#t~0#1.base_6| 1) |v_#valid_6|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_6|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_6|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] {56596#true} is VALID [2022-02-20 20:12:15,610 INFO L290 TraceCheckUtils]: 18: Hoare triple {56596#true} [422] L726-1-->L727: Formula: (= |v_ULTIMATE.start_main_#t~pre3#1_4| |v_#pthreadsForks_6|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_6|, ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre3#1] {56596#true} is VALID [2022-02-20 20:12:15,610 INFO L290 TraceCheckUtils]: 19: Hoare triple {56596#true} [423] L727-->L727-1: Formula: (= (+ 1 |v_#pthreadsForks_2|) |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_2|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|} AuxVars[] AssignedVars[#pthreadsForks] {56596#true} is VALID [2022-02-20 20:12:15,610 INFO L290 TraceCheckUtils]: 20: Hoare triple {56596#true} [410] L727-1-->L727-2: Formula: (= (store |v_#memory_int_2| |v_ULTIMATE.start_main_~#t~0#1.base_1| (store (select |v_#memory_int_2| |v_ULTIMATE.start_main_~#t~0#1.base_1|) |v_ULTIMATE.start_main_~#t~0#1.offset_1| |v_ULTIMATE.start_main_#t~pre3#1_1|)) |v_#memory_int_1|) InVars {#memory_int=|v_#memory_int_2|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_1|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_1|, ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_1|} OutVars{#memory_int=|v_#memory_int_1|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_1|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_1|, ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_1|} AuxVars[] AssignedVars[#memory_int] {56596#true} is VALID [2022-02-20 20:12:15,610 INFO L290 TraceCheckUtils]: 21: Hoare triple {56596#true} [551] L727-2-->thr1ENTRY: Formula: (and (= v_thr1Thread1of3ForFork1_thidvar0_2 |v_ULTIMATE.start_main_#t~pre3#1_12|) (= v_thr1Thread1of3ForFork1_thidvar1_2 0) (= |v_thr1Thread1of3ForFork1_#in~arg#1.base_4| 0) (= |v_thr1Thread1of3ForFork1_#in~arg#1.offset_4| 0)) InVars {ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_12|} OutVars{thr1Thread1of3ForFork1_~arg#1.base=|v_thr1Thread1of3ForFork1_~arg#1.base_4|, thr1Thread1of3ForFork1_#in~arg#1.offset=|v_thr1Thread1of3ForFork1_#in~arg#1.offset_4|, thr1Thread1of3ForFork1_#res#1.base=|v_thr1Thread1of3ForFork1_#res#1.base_4|, thr1Thread1of3ForFork1_thidvar0=v_thr1Thread1of3ForFork1_thidvar0_2, thr1Thread1of3ForFork1_assume_abort_if_not_~cond#1=|v_thr1Thread1of3ForFork1_assume_abort_if_not_~cond#1_6|, thr1Thread1of3ForFork1_#in~arg#1.base=|v_thr1Thread1of3ForFork1_#in~arg#1.base_4|, thr1Thread1of3ForFork1_#res#1.offset=|v_thr1Thread1of3ForFork1_#res#1.offset_4|, thr1Thread1of3ForFork1_thidvar1=v_thr1Thread1of3ForFork1_thidvar1_2, thr1Thread1of3ForFork1_assume_abort_if_not_#in~cond#1=|v_thr1Thread1of3ForFork1_assume_abort_if_not_#in~cond#1_6|, thr1Thread1of3ForFork1_~arg#1.offset=|v_thr1Thread1of3ForFork1_~arg#1.offset_4|, ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_12|} AuxVars[] AssignedVars[thr1Thread1of3ForFork1_~arg#1.base, thr1Thread1of3ForFork1_#in~arg#1.offset, thr1Thread1of3ForFork1_#res#1.base, thr1Thread1of3ForFork1_thidvar0, thr1Thread1of3ForFork1_assume_abort_if_not_~cond#1, thr1Thread1of3ForFork1_#in~arg#1.base, thr1Thread1of3ForFork1_#res#1.offset, thr1Thread1of3ForFork1_thidvar1, thr1Thread1of3ForFork1_assume_abort_if_not_#in~cond#1, thr1Thread1of3ForFork1_~arg#1.offset] {56596#true} is VALID [2022-02-20 20:12:15,611 INFO L290 TraceCheckUtils]: 22: Hoare triple {56596#true} [453] L727-3-->L727-4: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre3#1] {56596#true} is VALID [2022-02-20 20:12:15,611 INFO L290 TraceCheckUtils]: 23: Hoare triple {56596#true} [420] L727-4-->L728-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet4#1] {56596#true} is VALID [2022-02-20 20:12:15,611 INFO L290 TraceCheckUtils]: 24: Hoare triple {56596#true} [430] L728-2-->L730: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {56596#true} is VALID [2022-02-20 20:12:15,611 INFO L290 TraceCheckUtils]: 25: Hoare triple {56596#true} [459] L730-->L730-1: Formula: (= |v_ULTIMATE.start_main_#t~pre5#1_1| |v_#pthreadsForks_3|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_1|, #pthreadsForks=|v_#pthreadsForks_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1] {56596#true} is VALID [2022-02-20 20:12:15,611 INFO L290 TraceCheckUtils]: 26: Hoare triple {56596#true} [450] L730-1-->L730-2: Formula: (= (+ 1 |v_#pthreadsForks_5|) |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_5|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|} AuxVars[] AssignedVars[#pthreadsForks] {56596#true} is VALID [2022-02-20 20:12:15,611 INFO L290 TraceCheckUtils]: 27: Hoare triple {56596#true} [454] L730-2-->L730-3: Formula: (= (store |v_#memory_int_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| (store (select |v_#memory_int_4| |v_ULTIMATE.start_main_~#t~0#1.base_2|) |v_ULTIMATE.start_main_~#t~0#1.offset_2| |v_ULTIMATE.start_main_#t~pre5#1_2|)) |v_#memory_int_3|) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_2|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_2|, #memory_int=|v_#memory_int_3|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|} AuxVars[] AssignedVars[#memory_int] {56596#true} is VALID [2022-02-20 20:12:15,611 INFO L290 TraceCheckUtils]: 28: Hoare triple {56596#true} [547] L730-3-->thr2ENTRY: Formula: (and (= |v_thr2Thread1of3ForFork0_#in~arg#1.offset_4| 0) (= v_thr2Thread1of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre5#1_12|) (= |v_thr2Thread1of3ForFork0_#in~arg#1.base_4| 0) (= v_thr2Thread1of3ForFork0_thidvar1_2 0)) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_12|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_12|, thr2Thread1of3ForFork0_thidvar1=v_thr2Thread1of3ForFork0_thidvar1_2, thr2Thread1of3ForFork0_#in~arg#1.base=|v_thr2Thread1of3ForFork0_#in~arg#1.base_4|, thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1=|v_thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1_6|, thr2Thread1of3ForFork0_#res#1.base=|v_thr2Thread1of3ForFork0_#res#1.base_4|, thr2Thread1of3ForFork0_~arg#1.offset=|v_thr2Thread1of3ForFork0_~arg#1.offset_4|, thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1=|v_thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1_6|, thr2Thread1of3ForFork0_#res#1.offset=|v_thr2Thread1of3ForFork0_#res#1.offset_4|, thr2Thread1of3ForFork0_~arg#1.base=|v_thr2Thread1of3ForFork0_~arg#1.base_4|, thr2Thread1of3ForFork0_#in~arg#1.offset=|v_thr2Thread1of3ForFork0_#in~arg#1.offset_4|, thr2Thread1of3ForFork0_thidvar0=v_thr2Thread1of3ForFork0_thidvar0_2} AuxVars[] AssignedVars[thr2Thread1of3ForFork0_thidvar1, thr2Thread1of3ForFork0_#in~arg#1.base, thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1, thr2Thread1of3ForFork0_#res#1.base, thr2Thread1of3ForFork0_~arg#1.offset, thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1, thr2Thread1of3ForFork0_#res#1.offset, thr2Thread1of3ForFork0_~arg#1.base, thr2Thread1of3ForFork0_#in~arg#1.offset, thr2Thread1of3ForFork0_thidvar0] {56596#true} is VALID [2022-02-20 20:12:15,612 INFO L290 TraceCheckUtils]: 29: Hoare triple {56596#true} [471] thr2ENTRY-->L711-1: Formula: (and (= |v_thr2Thread1of3ForFork0_~arg#1.base_1| |v_thr2Thread1of3ForFork0_#in~arg#1.base_1|) (= |v_thr2Thread1of3ForFork0_#in~arg#1.offset_1| |v_thr2Thread1of3ForFork0_~arg#1.offset_1|)) InVars {thr2Thread1of3ForFork0_#in~arg#1.base=|v_thr2Thread1of3ForFork0_#in~arg#1.base_1|, thr2Thread1of3ForFork0_#in~arg#1.offset=|v_thr2Thread1of3ForFork0_#in~arg#1.offset_1|} OutVars{thr2Thread1of3ForFork0_#in~arg#1.base=|v_thr2Thread1of3ForFork0_#in~arg#1.base_1|, thr2Thread1of3ForFork0_~arg#1.offset=|v_thr2Thread1of3ForFork0_~arg#1.offset_1|, thr2Thread1of3ForFork0_~arg#1.base=|v_thr2Thread1of3ForFork0_~arg#1.base_1|, thr2Thread1of3ForFork0_#in~arg#1.offset=|v_thr2Thread1of3ForFork0_#in~arg#1.offset_1|} AuxVars[] AssignedVars[thr2Thread1of3ForFork0_~arg#1.offset, thr2Thread1of3ForFork0_~arg#1.base] {56596#true} is VALID [2022-02-20 20:12:15,612 INFO L290 TraceCheckUtils]: 30: Hoare triple {56596#true} [474] L711-1-->L706: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {56596#true} is VALID [2022-02-20 20:12:15,612 INFO L290 TraceCheckUtils]: 31: Hoare triple {56596#true} [476] L706-->L706-1: Formula: (and (= |v_thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1_1| |v_thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1_1|) (= |v_thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1_1| (ite (= v_~mutex~0_63 0) 1 0)) (= v_~mutex~0_62 1) (not (= |v_thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1_1| 0))) InVars {~mutex~0=v_~mutex~0_63} OutVars{thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1=|v_thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1_1|, thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1=|v_thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1_1|, ~mutex~0=v_~mutex~0_62} AuxVars[] AssignedVars[thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1, thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1, ~mutex~0] {56598#(= ~mutex~0 1)} is VALID [2022-02-20 20:12:15,613 INFO L290 TraceCheckUtils]: 32: Hoare triple {56598#(= ~mutex~0 1)} [520] thr1ENTRY-->L721: Formula: (and (= |v_thr1Thread1of3ForFork1_~arg#1.base_1| |v_thr1Thread1of3ForFork1_#in~arg#1.base_1|) (= |v_thr1Thread1of3ForFork1_#in~arg#1.offset_1| |v_thr1Thread1of3ForFork1_~arg#1.offset_1|)) InVars {thr1Thread1of3ForFork1_#in~arg#1.offset=|v_thr1Thread1of3ForFork1_#in~arg#1.offset_1|, thr1Thread1of3ForFork1_#in~arg#1.base=|v_thr1Thread1of3ForFork1_#in~arg#1.base_1|} OutVars{thr1Thread1of3ForFork1_~arg#1.base=|v_thr1Thread1of3ForFork1_~arg#1.base_1|, thr1Thread1of3ForFork1_#in~arg#1.offset=|v_thr1Thread1of3ForFork1_#in~arg#1.offset_1|, thr1Thread1of3ForFork1_~arg#1.offset=|v_thr1Thread1of3ForFork1_~arg#1.offset_1|, thr1Thread1of3ForFork1_#in~arg#1.base=|v_thr1Thread1of3ForFork1_#in~arg#1.base_1|} AuxVars[] AssignedVars[thr1Thread1of3ForFork1_~arg#1.base, thr1Thread1of3ForFork1_~arg#1.offset] {56598#(= ~mutex~0 1)} is VALID [2022-02-20 20:12:15,613 INFO L290 TraceCheckUtils]: 33: Hoare triple {56598#(= ~mutex~0 1)} [523] L721-->L719: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {56598#(= ~mutex~0 1)} is VALID [2022-02-20 20:12:15,613 INFO L290 TraceCheckUtils]: 34: Hoare triple {56598#(= ~mutex~0 1)} [525] L719-->L719-1: Formula: (and (not (= |v_thr1Thread1of3ForFork1_assume_abort_if_not_~cond#1_1| 0)) (= |v_thr1Thread1of3ForFork1_assume_abort_if_not_#in~cond#1_1| (ite (= v_~mutex~0_57 0) 1 0)) (= v_~mutex~0_56 1) (= |v_thr1Thread1of3ForFork1_assume_abort_if_not_~cond#1_1| |v_thr1Thread1of3ForFork1_assume_abort_if_not_#in~cond#1_1|)) InVars {~mutex~0=v_~mutex~0_57} OutVars{thr1Thread1of3ForFork1_assume_abort_if_not_#in~cond#1=|v_thr1Thread1of3ForFork1_assume_abort_if_not_#in~cond#1_1|, thr1Thread1of3ForFork1_assume_abort_if_not_~cond#1=|v_thr1Thread1of3ForFork1_assume_abort_if_not_~cond#1_1|, ~mutex~0=v_~mutex~0_56} AuxVars[] AssignedVars[thr1Thread1of3ForFork1_assume_abort_if_not_~cond#1, thr1Thread1of3ForFork1_assume_abort_if_not_#in~cond#1, ~mutex~0] {56597#false} is VALID [2022-02-20 20:12:15,613 INFO L290 TraceCheckUtils]: 35: Hoare triple {56597#false} [478] L706-1-->L708: Formula: (= v_~temp~0_1 v_~a~0_1) InVars {~a~0=v_~a~0_1} OutVars{~temp~0=v_~temp~0_1, ~a~0=v_~a~0_1} AuxVars[] AssignedVars[~temp~0] {56597#false} is VALID [2022-02-20 20:12:15,614 INFO L290 TraceCheckUtils]: 36: Hoare triple {56597#false} [479] L708-->L709: Formula: (= v_~a~0_2 v_~b~0_1) InVars {~b~0=v_~b~0_1} OutVars{~a~0=v_~a~0_2, ~b~0=v_~b~0_1} AuxVars[] AssignedVars[~a~0] {56597#false} is VALID [2022-02-20 20:12:15,614 INFO L290 TraceCheckUtils]: 37: Hoare triple {56597#false} [527] L719-1-->L720: Formula: (= v_~a~0_3 v_~b~0_3) InVars {~a~0=v_~a~0_3, ~b~0=v_~b~0_3} OutVars{~a~0=v_~a~0_3, ~b~0=v_~b~0_3} AuxVars[] AssignedVars[] {56597#false} is VALID [2022-02-20 20:12:15,614 INFO L290 TraceCheckUtils]: 38: Hoare triple {56597#false} [529] L720-->thr1Err0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {56597#false} is VALID [2022-02-20 20:12:15,614 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:12:15,614 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 20:12:15,614 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [897376606] [2022-02-20 20:12:15,614 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [897376606] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 20:12:15,615 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 20:12:15,615 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 20:12:15,615 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2072575725] [2022-02-20 20:12:15,615 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 20:12:15,615 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 13.0) internal successors, (39), 3 states have internal predecessors, (39), 0 states have call successors, (0), 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 39 [2022-02-20 20:12:15,615 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 20:12:15,616 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 13.0) internal successors, (39), 3 states have internal predecessors, (39), 0 states have call successors, (0), 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:12:15,634 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 20:12:15,635 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 20:12:15,635 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 20:12:15,635 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 20:12:15,635 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 20:12:15,636 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 80 out of 119 [2022-02-20 20:12:15,636 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 77 places, 75 transitions, 231 flow. Second operand has 3 states, 3 states have (on average 81.66666666666667) internal successors, (245), 3 states have internal predecessors, (245), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:12:15,636 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 20:12:15,636 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 80 of 119 [2022-02-20 20:12:15,636 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 20:12:15,708 INFO L129 PetriNetUnfolder]: 124/628 cut-off events. [2022-02-20 20:12:15,709 INFO L130 PetriNetUnfolder]: For 158/158 co-relation queries the response was YES. [2022-02-20 20:12:15,710 INFO L84 FinitePrefix]: Finished finitePrefix Result has 1119 conditions, 628 events. 124/628 cut-off events. For 158/158 co-relation queries the response was YES. Maximal size of possible extension queue 40. Compared 3837 event pairs, 24 based on Foata normal form. 193/817 useless extension candidates. Maximal degree in co-relation 1082. Up to 153 conditions per place. [2022-02-20 20:12:15,713 INFO L132 encePairwiseOnDemand]: 111/119 looper letters, 8 selfloop transitions, 8 changer transitions 0/75 dead transitions. [2022-02-20 20:12:15,713 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 79 places, 75 transitions, 264 flow [2022-02-20 20:12:15,713 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 20:12:15,713 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2022-02-20 20:12:15,715 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 260 transitions. [2022-02-20 20:12:15,715 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.7282913165266106 [2022-02-20 20:12:15,715 INFO L72 ComplementDD]: Start complementDD. Operand 3 states and 260 transitions. [2022-02-20 20:12:15,716 INFO L73 IsDeterministic]: Start isDeterministic. Operand 3 states and 260 transitions. [2022-02-20 20:12:15,716 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 20:12:15,716 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 3 states and 260 transitions. [2022-02-20 20:12:15,716 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 4 states, 3 states have (on average 86.66666666666667) internal successors, (260), 3 states have internal predecessors, (260), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:12:15,717 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 4 states, 4 states have (on average 119.0) internal successors, (476), 4 states have internal predecessors, (476), 0 states have call successors, (0), 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:12:15,717 INFO L81 ComplementDD]: Finished complementDD. Result has 4 states, 4 states have (on average 119.0) internal successors, (476), 4 states have internal predecessors, (476), 0 states have call successors, (0), 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:12:15,717 INFO L186 Difference]: Start difference. First operand has 77 places, 75 transitions, 231 flow. Second operand 3 states and 260 transitions. [2022-02-20 20:12:15,717 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 79 places, 75 transitions, 264 flow [2022-02-20 20:12:15,730 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 78 places, 75 transitions, 256 flow, removed 3 selfloop flow, removed 1 redundant places. [2022-02-20 20:12:15,732 INFO L242 Difference]: Finished difference. Result has 78 places, 72 transitions, 221 flow [2022-02-20 20:12:15,732 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=119, PETRI_DIFFERENCE_MINUEND_FLOW=205, PETRI_DIFFERENCE_MINUEND_PLACES=76, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=72, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=8, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=64, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=221, PETRI_PLACES=78, PETRI_TRANSITIONS=72} [2022-02-20 20:12:15,733 INFO L334 CegarLoopForPetriNet]: 90 programPoint places, -12 predicate places. [2022-02-20 20:12:15,733 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 78 places, 72 transitions, 221 flow [2022-02-20 20:12:16,078 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 10962 states, 10961 states have (on average 3.8857768451783596) internal successors, (42592), 10961 states have internal predecessors, (42592), 0 states have call successors, (0), 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:12:16,100 INFO L78 Accepts]: Start accepts. Automaton has has 10962 states, 10961 states have (on average 3.8857768451783596) internal successors, (42592), 10961 states have internal predecessors, (42592), 0 states have call successors, (0), 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 39 [2022-02-20 20:12:16,100 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 20:12:16,101 INFO L470 AbstractCegarLoop]: Abstraction has has 78 places, 72 transitions, 221 flow [2022-02-20 20:12:16,101 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 81.66666666666667) internal successors, (245), 3 states have internal predecessors, (245), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:12:16,101 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:12:16,101 INFO L254 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 20:12:16,101 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7 [2022-02-20 20:12:16,101 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting thr1Err0ASSERT_VIOLATIONERROR_FUNCTION === [thr1Err0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION, thr1Err0ASSERT_VIOLATIONERROR_FUNCTION (and 2 more)] === [2022-02-20 20:12:16,102 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:12:16,102 INFO L85 PathProgramCache]: Analyzing trace with hash 938339170, now seen corresponding path program 1 times [2022-02-20 20:12:16,102 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:12:16,102 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1020872255] [2022-02-20 20:12:16,102 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:12:16,103 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:12:16,111 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:12:16,180 INFO L290 TraceCheckUtils]: 0: Hoare triple {67563#true} [455] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {67563#true} is VALID [2022-02-20 20:12:16,180 INFO L290 TraceCheckUtils]: 1: Hoare triple {67563#true} [443] 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] {67563#true} is VALID [2022-02-20 20:12:16,181 INFO L290 TraceCheckUtils]: 2: Hoare triple {67563#true} [461] L-1-1-->L-1-2: Formula: (= (select |v_#valid_3| 0) 0) InVars {#valid=|v_#valid_3|} OutVars{#valid=|v_#valid_3|} AuxVars[] AssignedVars[] {67563#true} is VALID [2022-02-20 20:12:16,181 INFO L290 TraceCheckUtils]: 3: Hoare triple {67563#true} [465] L-1-2-->L16: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {67563#true} is VALID [2022-02-20 20:12:16,181 INFO L290 TraceCheckUtils]: 4: Hoare triple {67563#true} [436] L16-->L16-1: Formula: (and (= (select |v_#valid_4| 1) 1) (= 2 (select |v_#length_1| 1))) InVars {#length=|v_#length_1|, #valid=|v_#valid_4|} OutVars{#length=|v_#length_1|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[] {67563#true} is VALID [2022-02-20 20:12:16,181 INFO L290 TraceCheckUtils]: 5: Hoare triple {67563#true} [408] L16-1-->L16-2: Formula: (= (select (select |v_#memory_int_5| 1) 0) 48) InVars {#memory_int=|v_#memory_int_5|} OutVars{#memory_int=|v_#memory_int_5|} AuxVars[] AssignedVars[] {67563#true} is VALID [2022-02-20 20:12:16,181 INFO L290 TraceCheckUtils]: 6: Hoare triple {67563#true} [468] L16-2-->L16-3: Formula: (= (select (select |v_#memory_int_6| 1) 1) 0) InVars {#memory_int=|v_#memory_int_6|} OutVars{#memory_int=|v_#memory_int_6|} AuxVars[] AssignedVars[] {67563#true} is VALID [2022-02-20 20:12:16,181 INFO L290 TraceCheckUtils]: 7: Hoare triple {67563#true} [449] L16-3-->L16-4: Formula: (and (= (select |v_#valid_5| 2) 1) (= 21 (select |v_#length_2| 2))) InVars {#length=|v_#length_2|, #valid=|v_#valid_5|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_5|} AuxVars[] AssignedVars[] {67563#true} is VALID [2022-02-20 20:12:16,181 INFO L290 TraceCheckUtils]: 8: Hoare triple {67563#true} [451] L16-4-->L689: Formula: (= v_~a~0_5 1) InVars {} OutVars{~a~0=v_~a~0_5} AuxVars[] AssignedVars[~a~0] {67563#true} is VALID [2022-02-20 20:12:16,182 INFO L290 TraceCheckUtils]: 9: Hoare triple {67563#true} [419] L689-->L690: Formula: (= 2 v_~b~0_5) InVars {} OutVars{~b~0=v_~b~0_5} AuxVars[] AssignedVars[~b~0] {67565#(= 2 ~b~0)} is VALID [2022-02-20 20:12:16,182 INFO L290 TraceCheckUtils]: 10: Hoare triple {67565#(= 2 ~b~0)} [458] L690-->L691: Formula: (= 3 v_~c~0_3) InVars {} OutVars{~c~0=v_~c~0_3} AuxVars[] AssignedVars[~c~0] {67566#(and (<= 3 ~c~0) (= 2 ~b~0))} is VALID [2022-02-20 20:12:16,182 INFO L290 TraceCheckUtils]: 11: Hoare triple {67566#(and (<= 3 ~c~0) (= 2 ~b~0))} [439] L691-->L692: Formula: (= v_~temp~0_3 0) InVars {} OutVars{~temp~0=v_~temp~0_3} AuxVars[] AssignedVars[~temp~0] {67566#(and (<= 3 ~c~0) (= 2 ~b~0))} is VALID [2022-02-20 20:12:16,183 INFO L290 TraceCheckUtils]: 12: Hoare triple {67566#(and (<= 3 ~c~0) (= 2 ~b~0))} [438] L692-->L-1-3: Formula: (= v_~mutex~0_9 0) InVars {} OutVars{~mutex~0=v_~mutex~0_9} AuxVars[] AssignedVars[~mutex~0] {67566#(and (<= 3 ~c~0) (= 2 ~b~0))} is VALID [2022-02-20 20:12:16,183 INFO L290 TraceCheckUtils]: 13: Hoare triple {67566#(and (<= 3 ~c~0) (= 2 ~b~0))} [467] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {67566#(and (<= 3 ~c~0) (= 2 ~b~0))} is VALID [2022-02-20 20:12:16,184 INFO L290 TraceCheckUtils]: 14: Hoare triple {67566#(and (<= 3 ~c~0) (= 2 ~b~0))} [448] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {67566#(and (<= 3 ~c~0) (= 2 ~b~0))} is VALID [2022-02-20 20:12:16,184 INFO L290 TraceCheckUtils]: 15: Hoare triple {67566#(and (<= 3 ~c~0) (= 2 ~b~0))} [424] L-1-5-->L-1-6: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {67566#(and (<= 3 ~c~0) (= 2 ~b~0))} is VALID [2022-02-20 20:12:16,184 INFO L290 TraceCheckUtils]: 16: Hoare triple {67566#(and (<= 3 ~c~0) (= 2 ~b~0))} [447] L-1-6-->L726: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_4|, ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_5|, ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_2|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_5|, ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1, ULTIMATE.start_main_#t~nondet4#1, ULTIMATE.start_main_~#t~0#1.offset, ULTIMATE.start_main_#t~nondet6#1, ULTIMATE.start_main_~#t~0#1.base, ULTIMATE.start_main_#t~pre3#1] {67566#(and (<= 3 ~c~0) (= 2 ~b~0))} is VALID [2022-02-20 20:12:16,185 INFO L290 TraceCheckUtils]: 17: Hoare triple {67566#(and (<= 3 ~c~0) (= 2 ~b~0))} [431] L726-->L726-1: Formula: (and (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_6| 4) |v_#length_3|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_6| 0) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_6|) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#t~0#1.base_6|) 0) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_6| 0)) (= (store |v_#valid_7| |v_ULTIMATE.start_main_~#t~0#1.base_6| 1) |v_#valid_6|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_6|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_6|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] {67566#(and (<= 3 ~c~0) (= 2 ~b~0))} is VALID [2022-02-20 20:12:16,185 INFO L290 TraceCheckUtils]: 18: Hoare triple {67566#(and (<= 3 ~c~0) (= 2 ~b~0))} [422] L726-1-->L727: Formula: (= |v_ULTIMATE.start_main_#t~pre3#1_4| |v_#pthreadsForks_6|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_6|, ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre3#1] {67566#(and (<= 3 ~c~0) (= 2 ~b~0))} is VALID [2022-02-20 20:12:16,186 INFO L290 TraceCheckUtils]: 19: Hoare triple {67566#(and (<= 3 ~c~0) (= 2 ~b~0))} [423] L727-->L727-1: Formula: (= (+ 1 |v_#pthreadsForks_2|) |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_2|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|} AuxVars[] AssignedVars[#pthreadsForks] {67566#(and (<= 3 ~c~0) (= 2 ~b~0))} is VALID [2022-02-20 20:12:16,186 INFO L290 TraceCheckUtils]: 20: Hoare triple {67566#(and (<= 3 ~c~0) (= 2 ~b~0))} [410] L727-1-->L727-2: Formula: (= (store |v_#memory_int_2| |v_ULTIMATE.start_main_~#t~0#1.base_1| (store (select |v_#memory_int_2| |v_ULTIMATE.start_main_~#t~0#1.base_1|) |v_ULTIMATE.start_main_~#t~0#1.offset_1| |v_ULTIMATE.start_main_#t~pre3#1_1|)) |v_#memory_int_1|) InVars {#memory_int=|v_#memory_int_2|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_1|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_1|, ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_1|} OutVars{#memory_int=|v_#memory_int_1|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_1|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_1|, ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_1|} AuxVars[] AssignedVars[#memory_int] {67566#(and (<= 3 ~c~0) (= 2 ~b~0))} is VALID [2022-02-20 20:12:16,186 INFO L290 TraceCheckUtils]: 21: Hoare triple {67566#(and (<= 3 ~c~0) (= 2 ~b~0))} [551] L727-2-->thr1ENTRY: Formula: (and (= v_thr1Thread1of3ForFork1_thidvar0_2 |v_ULTIMATE.start_main_#t~pre3#1_12|) (= v_thr1Thread1of3ForFork1_thidvar1_2 0) (= |v_thr1Thread1of3ForFork1_#in~arg#1.base_4| 0) (= |v_thr1Thread1of3ForFork1_#in~arg#1.offset_4| 0)) InVars {ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_12|} OutVars{thr1Thread1of3ForFork1_~arg#1.base=|v_thr1Thread1of3ForFork1_~arg#1.base_4|, thr1Thread1of3ForFork1_#in~arg#1.offset=|v_thr1Thread1of3ForFork1_#in~arg#1.offset_4|, thr1Thread1of3ForFork1_#res#1.base=|v_thr1Thread1of3ForFork1_#res#1.base_4|, thr1Thread1of3ForFork1_thidvar0=v_thr1Thread1of3ForFork1_thidvar0_2, thr1Thread1of3ForFork1_assume_abort_if_not_~cond#1=|v_thr1Thread1of3ForFork1_assume_abort_if_not_~cond#1_6|, thr1Thread1of3ForFork1_#in~arg#1.base=|v_thr1Thread1of3ForFork1_#in~arg#1.base_4|, thr1Thread1of3ForFork1_#res#1.offset=|v_thr1Thread1of3ForFork1_#res#1.offset_4|, thr1Thread1of3ForFork1_thidvar1=v_thr1Thread1of3ForFork1_thidvar1_2, thr1Thread1of3ForFork1_assume_abort_if_not_#in~cond#1=|v_thr1Thread1of3ForFork1_assume_abort_if_not_#in~cond#1_6|, thr1Thread1of3ForFork1_~arg#1.offset=|v_thr1Thread1of3ForFork1_~arg#1.offset_4|, ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_12|} AuxVars[] AssignedVars[thr1Thread1of3ForFork1_~arg#1.base, thr1Thread1of3ForFork1_#in~arg#1.offset, thr1Thread1of3ForFork1_#res#1.base, thr1Thread1of3ForFork1_thidvar0, thr1Thread1of3ForFork1_assume_abort_if_not_~cond#1, thr1Thread1of3ForFork1_#in~arg#1.base, thr1Thread1of3ForFork1_#res#1.offset, thr1Thread1of3ForFork1_thidvar1, thr1Thread1of3ForFork1_assume_abort_if_not_#in~cond#1, thr1Thread1of3ForFork1_~arg#1.offset] {67566#(and (<= 3 ~c~0) (= 2 ~b~0))} is VALID [2022-02-20 20:12:16,187 INFO L290 TraceCheckUtils]: 22: Hoare triple {67566#(and (<= 3 ~c~0) (= 2 ~b~0))} [520] thr1ENTRY-->L721: Formula: (and (= |v_thr1Thread1of3ForFork1_~arg#1.base_1| |v_thr1Thread1of3ForFork1_#in~arg#1.base_1|) (= |v_thr1Thread1of3ForFork1_#in~arg#1.offset_1| |v_thr1Thread1of3ForFork1_~arg#1.offset_1|)) InVars {thr1Thread1of3ForFork1_#in~arg#1.offset=|v_thr1Thread1of3ForFork1_#in~arg#1.offset_1|, thr1Thread1of3ForFork1_#in~arg#1.base=|v_thr1Thread1of3ForFork1_#in~arg#1.base_1|} OutVars{thr1Thread1of3ForFork1_~arg#1.base=|v_thr1Thread1of3ForFork1_~arg#1.base_1|, thr1Thread1of3ForFork1_#in~arg#1.offset=|v_thr1Thread1of3ForFork1_#in~arg#1.offset_1|, thr1Thread1of3ForFork1_~arg#1.offset=|v_thr1Thread1of3ForFork1_~arg#1.offset_1|, thr1Thread1of3ForFork1_#in~arg#1.base=|v_thr1Thread1of3ForFork1_#in~arg#1.base_1|} AuxVars[] AssignedVars[thr1Thread1of3ForFork1_~arg#1.base, thr1Thread1of3ForFork1_~arg#1.offset] {67566#(and (<= 3 ~c~0) (= 2 ~b~0))} is VALID [2022-02-20 20:12:16,187 INFO L290 TraceCheckUtils]: 23: Hoare triple {67566#(and (<= 3 ~c~0) (= 2 ~b~0))} [523] L721-->L719: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {67566#(and (<= 3 ~c~0) (= 2 ~b~0))} is VALID [2022-02-20 20:12:16,188 INFO L290 TraceCheckUtils]: 24: Hoare triple {67566#(and (<= 3 ~c~0) (= 2 ~b~0))} [453] L727-3-->L727-4: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre3#1] {67566#(and (<= 3 ~c~0) (= 2 ~b~0))} is VALID [2022-02-20 20:12:16,188 INFO L290 TraceCheckUtils]: 25: Hoare triple {67566#(and (<= 3 ~c~0) (= 2 ~b~0))} [420] L727-4-->L728-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet4#1] {67566#(and (<= 3 ~c~0) (= 2 ~b~0))} is VALID [2022-02-20 20:12:16,188 INFO L290 TraceCheckUtils]: 26: Hoare triple {67566#(and (<= 3 ~c~0) (= 2 ~b~0))} [430] L728-2-->L730: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {67566#(and (<= 3 ~c~0) (= 2 ~b~0))} is VALID [2022-02-20 20:12:16,189 INFO L290 TraceCheckUtils]: 27: Hoare triple {67566#(and (<= 3 ~c~0) (= 2 ~b~0))} [459] L730-->L730-1: Formula: (= |v_ULTIMATE.start_main_#t~pre5#1_1| |v_#pthreadsForks_3|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_1|, #pthreadsForks=|v_#pthreadsForks_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1] {67566#(and (<= 3 ~c~0) (= 2 ~b~0))} is VALID [2022-02-20 20:12:16,189 INFO L290 TraceCheckUtils]: 28: Hoare triple {67566#(and (<= 3 ~c~0) (= 2 ~b~0))} [450] L730-1-->L730-2: Formula: (= (+ 1 |v_#pthreadsForks_5|) |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_5|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|} AuxVars[] AssignedVars[#pthreadsForks] {67566#(and (<= 3 ~c~0) (= 2 ~b~0))} is VALID [2022-02-20 20:12:16,189 INFO L290 TraceCheckUtils]: 29: Hoare triple {67566#(and (<= 3 ~c~0) (= 2 ~b~0))} [454] L730-2-->L730-3: Formula: (= (store |v_#memory_int_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| (store (select |v_#memory_int_4| |v_ULTIMATE.start_main_~#t~0#1.base_2|) |v_ULTIMATE.start_main_~#t~0#1.offset_2| |v_ULTIMATE.start_main_#t~pre5#1_2|)) |v_#memory_int_3|) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_2|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_2|, #memory_int=|v_#memory_int_3|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|} AuxVars[] AssignedVars[#memory_int] {67566#(and (<= 3 ~c~0) (= 2 ~b~0))} is VALID [2022-02-20 20:12:16,190 INFO L290 TraceCheckUtils]: 30: Hoare triple {67566#(and (<= 3 ~c~0) (= 2 ~b~0))} [547] L730-3-->thr2ENTRY: Formula: (and (= |v_thr2Thread1of3ForFork0_#in~arg#1.offset_4| 0) (= v_thr2Thread1of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre5#1_12|) (= |v_thr2Thread1of3ForFork0_#in~arg#1.base_4| 0) (= v_thr2Thread1of3ForFork0_thidvar1_2 0)) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_12|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_12|, thr2Thread1of3ForFork0_thidvar1=v_thr2Thread1of3ForFork0_thidvar1_2, thr2Thread1of3ForFork0_#in~arg#1.base=|v_thr2Thread1of3ForFork0_#in~arg#1.base_4|, thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1=|v_thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1_6|, thr2Thread1of3ForFork0_#res#1.base=|v_thr2Thread1of3ForFork0_#res#1.base_4|, thr2Thread1of3ForFork0_~arg#1.offset=|v_thr2Thread1of3ForFork0_~arg#1.offset_4|, thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1=|v_thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1_6|, thr2Thread1of3ForFork0_#res#1.offset=|v_thr2Thread1of3ForFork0_#res#1.offset_4|, thr2Thread1of3ForFork0_~arg#1.base=|v_thr2Thread1of3ForFork0_~arg#1.base_4|, thr2Thread1of3ForFork0_#in~arg#1.offset=|v_thr2Thread1of3ForFork0_#in~arg#1.offset_4|, thr2Thread1of3ForFork0_thidvar0=v_thr2Thread1of3ForFork0_thidvar0_2} AuxVars[] AssignedVars[thr2Thread1of3ForFork0_thidvar1, thr2Thread1of3ForFork0_#in~arg#1.base, thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1, thr2Thread1of3ForFork0_#res#1.base, thr2Thread1of3ForFork0_~arg#1.offset, thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1, thr2Thread1of3ForFork0_#res#1.offset, thr2Thread1of3ForFork0_~arg#1.base, thr2Thread1of3ForFork0_#in~arg#1.offset, thr2Thread1of3ForFork0_thidvar0] {67566#(and (<= 3 ~c~0) (= 2 ~b~0))} is VALID [2022-02-20 20:12:16,190 INFO L290 TraceCheckUtils]: 31: Hoare triple {67566#(and (<= 3 ~c~0) (= 2 ~b~0))} [471] thr2ENTRY-->L711-1: Formula: (and (= |v_thr2Thread1of3ForFork0_~arg#1.base_1| |v_thr2Thread1of3ForFork0_#in~arg#1.base_1|) (= |v_thr2Thread1of3ForFork0_#in~arg#1.offset_1| |v_thr2Thread1of3ForFork0_~arg#1.offset_1|)) InVars {thr2Thread1of3ForFork0_#in~arg#1.base=|v_thr2Thread1of3ForFork0_#in~arg#1.base_1|, thr2Thread1of3ForFork0_#in~arg#1.offset=|v_thr2Thread1of3ForFork0_#in~arg#1.offset_1|} OutVars{thr2Thread1of3ForFork0_#in~arg#1.base=|v_thr2Thread1of3ForFork0_#in~arg#1.base_1|, thr2Thread1of3ForFork0_~arg#1.offset=|v_thr2Thread1of3ForFork0_~arg#1.offset_1|, thr2Thread1of3ForFork0_~arg#1.base=|v_thr2Thread1of3ForFork0_~arg#1.base_1|, thr2Thread1of3ForFork0_#in~arg#1.offset=|v_thr2Thread1of3ForFork0_#in~arg#1.offset_1|} AuxVars[] AssignedVars[thr2Thread1of3ForFork0_~arg#1.offset, thr2Thread1of3ForFork0_~arg#1.base] {67566#(and (<= 3 ~c~0) (= 2 ~b~0))} is VALID [2022-02-20 20:12:16,191 INFO L290 TraceCheckUtils]: 32: Hoare triple {67566#(and (<= 3 ~c~0) (= 2 ~b~0))} [474] L711-1-->L706: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {67566#(and (<= 3 ~c~0) (= 2 ~b~0))} is VALID [2022-02-20 20:12:16,191 INFO L290 TraceCheckUtils]: 33: Hoare triple {67566#(and (<= 3 ~c~0) (= 2 ~b~0))} [476] L706-->L706-1: Formula: (and (= |v_thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1_1| |v_thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1_1|) (= |v_thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1_1| (ite (= v_~mutex~0_63 0) 1 0)) (= v_~mutex~0_62 1) (not (= |v_thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1_1| 0))) InVars {~mutex~0=v_~mutex~0_63} OutVars{thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1=|v_thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1_1|, thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1=|v_thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1_1|, ~mutex~0=v_~mutex~0_62} AuxVars[] AssignedVars[thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1, thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1, ~mutex~0] {67566#(and (<= 3 ~c~0) (= 2 ~b~0))} is VALID [2022-02-20 20:12:16,191 INFO L290 TraceCheckUtils]: 34: Hoare triple {67566#(and (<= 3 ~c~0) (= 2 ~b~0))} [478] L706-1-->L708: Formula: (= v_~temp~0_1 v_~a~0_1) InVars {~a~0=v_~a~0_1} OutVars{~temp~0=v_~temp~0_1, ~a~0=v_~a~0_1} AuxVars[] AssignedVars[~temp~0] {67566#(and (<= 3 ~c~0) (= 2 ~b~0))} is VALID [2022-02-20 20:12:16,192 INFO L290 TraceCheckUtils]: 35: Hoare triple {67566#(and (<= 3 ~c~0) (= 2 ~b~0))} [479] L708-->L709: Formula: (= v_~a~0_2 v_~b~0_1) InVars {~b~0=v_~b~0_1} OutVars{~a~0=v_~a~0_2, ~b~0=v_~b~0_1} AuxVars[] AssignedVars[~a~0] {67567#(and (<= 3 ~c~0) (= 2 ~a~0))} is VALID [2022-02-20 20:12:16,192 INFO L290 TraceCheckUtils]: 36: Hoare triple {67567#(and (<= 3 ~c~0) (= 2 ~a~0))} [480] L709-->L710: Formula: (= v_~b~0_2 v_~c~0_1) InVars {~c~0=v_~c~0_1} OutVars{~c~0=v_~c~0_1, ~b~0=v_~b~0_2} AuxVars[] AssignedVars[~b~0] {67568#(and (not (= 2 ~b~0)) (= 2 ~a~0))} is VALID [2022-02-20 20:12:16,193 INFO L290 TraceCheckUtils]: 37: Hoare triple {67568#(and (not (= 2 ~b~0)) (= 2 ~a~0))} [481] L710-->L711: Formula: (= v_~temp~0_2 v_~c~0_2) InVars {~temp~0=v_~temp~0_2} OutVars{~c~0=v_~c~0_2, ~temp~0=v_~temp~0_2} AuxVars[] AssignedVars[~c~0] {67568#(and (not (= 2 ~b~0)) (= 2 ~a~0))} is VALID [2022-02-20 20:12:16,193 INFO L290 TraceCheckUtils]: 38: Hoare triple {67568#(and (not (= 2 ~b~0)) (= 2 ~a~0))} [482] L711-->L711-1: Formula: (and (= |v_thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1_3| (ite (= v_~mutex~0_51 1) 1 0)) (= |v_thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1_3| |v_thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1_3|) (= v_~mutex~0_50 0) (not (= |v_thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1_3| 0))) InVars {~mutex~0=v_~mutex~0_51} OutVars{thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1=|v_thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1_3|, thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1=|v_thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1_3|, ~mutex~0=v_~mutex~0_50} AuxVars[] AssignedVars[thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1, thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1, ~mutex~0] {67568#(and (not (= 2 ~b~0)) (= 2 ~a~0))} is VALID [2022-02-20 20:12:16,193 INFO L290 TraceCheckUtils]: 39: Hoare triple {67568#(and (not (= 2 ~b~0)) (= 2 ~a~0))} [525] L719-->L719-1: Formula: (and (not (= |v_thr1Thread1of3ForFork1_assume_abort_if_not_~cond#1_1| 0)) (= |v_thr1Thread1of3ForFork1_assume_abort_if_not_#in~cond#1_1| (ite (= v_~mutex~0_57 0) 1 0)) (= v_~mutex~0_56 1) (= |v_thr1Thread1of3ForFork1_assume_abort_if_not_~cond#1_1| |v_thr1Thread1of3ForFork1_assume_abort_if_not_#in~cond#1_1|)) InVars {~mutex~0=v_~mutex~0_57} OutVars{thr1Thread1of3ForFork1_assume_abort_if_not_#in~cond#1=|v_thr1Thread1of3ForFork1_assume_abort_if_not_#in~cond#1_1|, thr1Thread1of3ForFork1_assume_abort_if_not_~cond#1=|v_thr1Thread1of3ForFork1_assume_abort_if_not_~cond#1_1|, ~mutex~0=v_~mutex~0_56} AuxVars[] AssignedVars[thr1Thread1of3ForFork1_assume_abort_if_not_~cond#1, thr1Thread1of3ForFork1_assume_abort_if_not_#in~cond#1, ~mutex~0] {67568#(and (not (= 2 ~b~0)) (= 2 ~a~0))} is VALID [2022-02-20 20:12:16,194 INFO L290 TraceCheckUtils]: 40: Hoare triple {67568#(and (not (= 2 ~b~0)) (= 2 ~a~0))} [527] L719-1-->L720: Formula: (= v_~a~0_3 v_~b~0_3) InVars {~a~0=v_~a~0_3, ~b~0=v_~b~0_3} OutVars{~a~0=v_~a~0_3, ~b~0=v_~b~0_3} AuxVars[] AssignedVars[] {67564#false} is VALID [2022-02-20 20:12:16,194 INFO L290 TraceCheckUtils]: 41: Hoare triple {67564#false} [529] L720-->thr1Err0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {67564#false} is VALID [2022-02-20 20:12:16,194 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:12:16,195 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 20:12:16,195 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1020872255] [2022-02-20 20:12:16,195 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1020872255] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 20:12:16,195 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 20:12:16,195 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-02-20 20:12:16,195 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1761839265] [2022-02-20 20:12:16,195 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 20:12:16,196 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 7.0) internal successors, (42), 6 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 42 [2022-02-20 20:12:16,196 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 20:12:16,196 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 7.0) internal successors, (42), 6 states have internal predecessors, (42), 0 states have call successors, (0), 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:12:16,233 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 20:12:16,233 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 20:12:16,233 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 20:12:16,233 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 20:12:16,233 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=20, Unknown=0, NotChecked=0, Total=30 [2022-02-20 20:12:16,234 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 60 out of 119 [2022-02-20 20:12:16,234 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 78 places, 72 transitions, 221 flow. Second operand has 6 states, 6 states have (on average 62.166666666666664) internal successors, (373), 6 states have internal predecessors, (373), 0 states have call successors, (0), 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:12:16,234 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 20:12:16,234 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 60 of 119 [2022-02-20 20:12:16,234 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 20:12:18,712 INFO L129 PetriNetUnfolder]: 316/911 cut-off events. [2022-02-20 20:12:18,714 INFO L130 PetriNetUnfolder]: For 667/667 co-relation queries the response was YES. [2022-02-20 20:12:18,722 INFO L84 FinitePrefix]: Finished finitePrefix Result has 2736 conditions, 911 events. 316/911 cut-off events. For 667/667 co-relation queries the response was YES. Maximal size of possible extension queue 101. Compared 6798 event pairs, 20 based on Foata normal form. 6/902 useless extension candidates. Maximal degree in co-relation 2697. Up to 497 conditions per place. [2022-02-20 20:12:18,743 INFO L132 encePairwiseOnDemand]: 107/119 looper letters, 61 selfloop transitions, 17 changer transitions 0/114 dead transitions. [2022-02-20 20:12:18,744 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 84 places, 114 transitions, 553 flow [2022-02-20 20:12:18,744 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 20:12:18,744 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2022-02-20 20:12:18,751 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 491 transitions. [2022-02-20 20:12:18,752 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.5894357743097239 [2022-02-20 20:12:18,752 INFO L72 ComplementDD]: Start complementDD. Operand 7 states and 491 transitions. [2022-02-20 20:12:18,752 INFO L73 IsDeterministic]: Start isDeterministic. Operand 7 states and 491 transitions. [2022-02-20 20:12:18,752 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 20:12:18,752 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 7 states and 491 transitions. [2022-02-20 20:12:18,753 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 8 states, 7 states have (on average 70.14285714285714) internal successors, (491), 7 states have internal predecessors, (491), 0 states have call successors, (0), 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:12:18,754 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 8 states, 8 states have (on average 119.0) internal successors, (952), 8 states have internal predecessors, (952), 0 states have call successors, (0), 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:12:18,754 INFO L81 ComplementDD]: Finished complementDD. Result has 8 states, 8 states have (on average 119.0) internal successors, (952), 8 states have internal predecessors, (952), 0 states have call successors, (0), 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:12:18,754 INFO L186 Difference]: Start difference. First operand has 78 places, 72 transitions, 221 flow. Second operand 7 states and 491 transitions. [2022-02-20 20:12:18,754 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 84 places, 114 transitions, 553 flow [2022-02-20 20:12:18,801 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 83 places, 114 transitions, 532 flow, removed 0 selfloop flow, removed 1 redundant places. [2022-02-20 20:12:18,804 INFO L242 Difference]: Finished difference. Result has 86 places, 84 transitions, 336 flow [2022-02-20 20:12:18,804 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=119, PETRI_DIFFERENCE_MINUEND_FLOW=213, PETRI_DIFFERENCE_MINUEND_PLACES=77, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=72, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=5, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=55, PETRI_DIFFERENCE_SUBTRAHEND_STATES=7, PETRI_FLOW=336, PETRI_PLACES=86, PETRI_TRANSITIONS=84} [2022-02-20 20:12:18,805 INFO L334 CegarLoopForPetriNet]: 90 programPoint places, -4 predicate places. [2022-02-20 20:12:18,805 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 86 places, 84 transitions, 336 flow [2022-02-20 20:12:19,354 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 18221 states, 18220 states have (on average 3.8846322722283206) internal successors, (70778), 18220 states have internal predecessors, (70778), 0 states have call successors, (0), 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:12:19,393 INFO L78 Accepts]: Start accepts. Automaton has has 18221 states, 18220 states have (on average 3.8846322722283206) internal successors, (70778), 18220 states have internal predecessors, (70778), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 42 [2022-02-20 20:12:19,393 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 20:12:19,394 INFO L470 AbstractCegarLoop]: Abstraction has has 86 places, 84 transitions, 336 flow [2022-02-20 20:12:19,394 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 62.166666666666664) internal successors, (373), 6 states have internal predecessors, (373), 0 states have call successors, (0), 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:12:19,394 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:12:19,394 INFO L254 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 20:12:19,395 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8 [2022-02-20 20:12:19,395 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting thr1Err0ASSERT_VIOLATIONERROR_FUNCTION === [thr1Err0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION, thr1Err0ASSERT_VIOLATIONERROR_FUNCTION (and 2 more)] === [2022-02-20 20:12:19,395 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:12:19,395 INFO L85 PathProgramCache]: Analyzing trace with hash 1324584254, now seen corresponding path program 2 times [2022-02-20 20:12:19,395 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:12:19,395 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [490506012] [2022-02-20 20:12:19,396 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:12:19,396 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:12:19,409 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:12:19,485 INFO L290 TraceCheckUtils]: 0: Hoare triple {85799#true} [455] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {85799#true} is VALID [2022-02-20 20:12:19,485 INFO L290 TraceCheckUtils]: 1: Hoare triple {85799#true} [443] 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] {85799#true} is VALID [2022-02-20 20:12:19,485 INFO L290 TraceCheckUtils]: 2: Hoare triple {85799#true} [461] L-1-1-->L-1-2: Formula: (= (select |v_#valid_3| 0) 0) InVars {#valid=|v_#valid_3|} OutVars{#valid=|v_#valid_3|} AuxVars[] AssignedVars[] {85799#true} is VALID [2022-02-20 20:12:19,485 INFO L290 TraceCheckUtils]: 3: Hoare triple {85799#true} [465] L-1-2-->L16: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {85799#true} is VALID [2022-02-20 20:12:19,485 INFO L290 TraceCheckUtils]: 4: Hoare triple {85799#true} [436] L16-->L16-1: Formula: (and (= (select |v_#valid_4| 1) 1) (= 2 (select |v_#length_1| 1))) InVars {#length=|v_#length_1|, #valid=|v_#valid_4|} OutVars{#length=|v_#length_1|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[] {85799#true} is VALID [2022-02-20 20:12:19,486 INFO L290 TraceCheckUtils]: 5: Hoare triple {85799#true} [408] L16-1-->L16-2: Formula: (= (select (select |v_#memory_int_5| 1) 0) 48) InVars {#memory_int=|v_#memory_int_5|} OutVars{#memory_int=|v_#memory_int_5|} AuxVars[] AssignedVars[] {85799#true} is VALID [2022-02-20 20:12:19,486 INFO L290 TraceCheckUtils]: 6: Hoare triple {85799#true} [468] L16-2-->L16-3: Formula: (= (select (select |v_#memory_int_6| 1) 1) 0) InVars {#memory_int=|v_#memory_int_6|} OutVars{#memory_int=|v_#memory_int_6|} AuxVars[] AssignedVars[] {85799#true} is VALID [2022-02-20 20:12:19,486 INFO L290 TraceCheckUtils]: 7: Hoare triple {85799#true} [449] L16-3-->L16-4: Formula: (and (= (select |v_#valid_5| 2) 1) (= 21 (select |v_#length_2| 2))) InVars {#length=|v_#length_2|, #valid=|v_#valid_5|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_5|} AuxVars[] AssignedVars[] {85799#true} is VALID [2022-02-20 20:12:19,486 INFO L290 TraceCheckUtils]: 8: Hoare triple {85799#true} [451] L16-4-->L689: Formula: (= v_~a~0_5 1) InVars {} OutVars{~a~0=v_~a~0_5} AuxVars[] AssignedVars[~a~0] {85801#(= ~a~0 1)} is VALID [2022-02-20 20:12:19,487 INFO L290 TraceCheckUtils]: 9: Hoare triple {85801#(= ~a~0 1)} [419] L689-->L690: Formula: (= 2 v_~b~0_5) InVars {} OutVars{~b~0=v_~b~0_5} AuxVars[] AssignedVars[~b~0] {85801#(= ~a~0 1)} is VALID [2022-02-20 20:12:19,487 INFO L290 TraceCheckUtils]: 10: Hoare triple {85801#(= ~a~0 1)} [458] L690-->L691: Formula: (= 3 v_~c~0_3) InVars {} OutVars{~c~0=v_~c~0_3} AuxVars[] AssignedVars[~c~0] {85802#(and (<= 3 ~c~0) (= ~a~0 1))} is VALID [2022-02-20 20:12:19,487 INFO L290 TraceCheckUtils]: 11: Hoare triple {85802#(and (<= 3 ~c~0) (= ~a~0 1))} [439] L691-->L692: Formula: (= v_~temp~0_3 0) InVars {} OutVars{~temp~0=v_~temp~0_3} AuxVars[] AssignedVars[~temp~0] {85802#(and (<= 3 ~c~0) (= ~a~0 1))} is VALID [2022-02-20 20:12:19,488 INFO L290 TraceCheckUtils]: 12: Hoare triple {85802#(and (<= 3 ~c~0) (= ~a~0 1))} [438] L692-->L-1-3: Formula: (= v_~mutex~0_9 0) InVars {} OutVars{~mutex~0=v_~mutex~0_9} AuxVars[] AssignedVars[~mutex~0] {85802#(and (<= 3 ~c~0) (= ~a~0 1))} is VALID [2022-02-20 20:12:19,488 INFO L290 TraceCheckUtils]: 13: Hoare triple {85802#(and (<= 3 ~c~0) (= ~a~0 1))} [467] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {85802#(and (<= 3 ~c~0) (= ~a~0 1))} is VALID [2022-02-20 20:12:19,489 INFO L290 TraceCheckUtils]: 14: Hoare triple {85802#(and (<= 3 ~c~0) (= ~a~0 1))} [448] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {85802#(and (<= 3 ~c~0) (= ~a~0 1))} is VALID [2022-02-20 20:12:19,489 INFO L290 TraceCheckUtils]: 15: Hoare triple {85802#(and (<= 3 ~c~0) (= ~a~0 1))} [424] L-1-5-->L-1-6: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {85802#(and (<= 3 ~c~0) (= ~a~0 1))} is VALID [2022-02-20 20:12:19,489 INFO L290 TraceCheckUtils]: 16: Hoare triple {85802#(and (<= 3 ~c~0) (= ~a~0 1))} [447] L-1-6-->L726: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_4|, ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_5|, ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_2|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_5|, ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1, ULTIMATE.start_main_#t~nondet4#1, ULTIMATE.start_main_~#t~0#1.offset, ULTIMATE.start_main_#t~nondet6#1, ULTIMATE.start_main_~#t~0#1.base, ULTIMATE.start_main_#t~pre3#1] {85802#(and (<= 3 ~c~0) (= ~a~0 1))} is VALID [2022-02-20 20:12:19,490 INFO L290 TraceCheckUtils]: 17: Hoare triple {85802#(and (<= 3 ~c~0) (= ~a~0 1))} [431] L726-->L726-1: Formula: (and (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_6| 4) |v_#length_3|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_6| 0) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_6|) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#t~0#1.base_6|) 0) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_6| 0)) (= (store |v_#valid_7| |v_ULTIMATE.start_main_~#t~0#1.base_6| 1) |v_#valid_6|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_6|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_6|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] {85802#(and (<= 3 ~c~0) (= ~a~0 1))} is VALID [2022-02-20 20:12:19,490 INFO L290 TraceCheckUtils]: 18: Hoare triple {85802#(and (<= 3 ~c~0) (= ~a~0 1))} [422] L726-1-->L727: Formula: (= |v_ULTIMATE.start_main_#t~pre3#1_4| |v_#pthreadsForks_6|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_6|, ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre3#1] {85802#(and (<= 3 ~c~0) (= ~a~0 1))} is VALID [2022-02-20 20:12:19,491 INFO L290 TraceCheckUtils]: 19: Hoare triple {85802#(and (<= 3 ~c~0) (= ~a~0 1))} [423] L727-->L727-1: Formula: (= (+ 1 |v_#pthreadsForks_2|) |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_2|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|} AuxVars[] AssignedVars[#pthreadsForks] {85802#(and (<= 3 ~c~0) (= ~a~0 1))} is VALID [2022-02-20 20:12:19,491 INFO L290 TraceCheckUtils]: 20: Hoare triple {85802#(and (<= 3 ~c~0) (= ~a~0 1))} [410] L727-1-->L727-2: Formula: (= (store |v_#memory_int_2| |v_ULTIMATE.start_main_~#t~0#1.base_1| (store (select |v_#memory_int_2| |v_ULTIMATE.start_main_~#t~0#1.base_1|) |v_ULTIMATE.start_main_~#t~0#1.offset_1| |v_ULTIMATE.start_main_#t~pre3#1_1|)) |v_#memory_int_1|) InVars {#memory_int=|v_#memory_int_2|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_1|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_1|, ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_1|} OutVars{#memory_int=|v_#memory_int_1|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_1|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_1|, ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_1|} AuxVars[] AssignedVars[#memory_int] {85802#(and (<= 3 ~c~0) (= ~a~0 1))} is VALID [2022-02-20 20:12:19,491 INFO L290 TraceCheckUtils]: 21: Hoare triple {85802#(and (<= 3 ~c~0) (= ~a~0 1))} [551] L727-2-->thr1ENTRY: Formula: (and (= v_thr1Thread1of3ForFork1_thidvar0_2 |v_ULTIMATE.start_main_#t~pre3#1_12|) (= v_thr1Thread1of3ForFork1_thidvar1_2 0) (= |v_thr1Thread1of3ForFork1_#in~arg#1.base_4| 0) (= |v_thr1Thread1of3ForFork1_#in~arg#1.offset_4| 0)) InVars {ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_12|} OutVars{thr1Thread1of3ForFork1_~arg#1.base=|v_thr1Thread1of3ForFork1_~arg#1.base_4|, thr1Thread1of3ForFork1_#in~arg#1.offset=|v_thr1Thread1of3ForFork1_#in~arg#1.offset_4|, thr1Thread1of3ForFork1_#res#1.base=|v_thr1Thread1of3ForFork1_#res#1.base_4|, thr1Thread1of3ForFork1_thidvar0=v_thr1Thread1of3ForFork1_thidvar0_2, thr1Thread1of3ForFork1_assume_abort_if_not_~cond#1=|v_thr1Thread1of3ForFork1_assume_abort_if_not_~cond#1_6|, thr1Thread1of3ForFork1_#in~arg#1.base=|v_thr1Thread1of3ForFork1_#in~arg#1.base_4|, thr1Thread1of3ForFork1_#res#1.offset=|v_thr1Thread1of3ForFork1_#res#1.offset_4|, thr1Thread1of3ForFork1_thidvar1=v_thr1Thread1of3ForFork1_thidvar1_2, thr1Thread1of3ForFork1_assume_abort_if_not_#in~cond#1=|v_thr1Thread1of3ForFork1_assume_abort_if_not_#in~cond#1_6|, thr1Thread1of3ForFork1_~arg#1.offset=|v_thr1Thread1of3ForFork1_~arg#1.offset_4|, ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_12|} AuxVars[] AssignedVars[thr1Thread1of3ForFork1_~arg#1.base, thr1Thread1of3ForFork1_#in~arg#1.offset, thr1Thread1of3ForFork1_#res#1.base, thr1Thread1of3ForFork1_thidvar0, thr1Thread1of3ForFork1_assume_abort_if_not_~cond#1, thr1Thread1of3ForFork1_#in~arg#1.base, thr1Thread1of3ForFork1_#res#1.offset, thr1Thread1of3ForFork1_thidvar1, thr1Thread1of3ForFork1_assume_abort_if_not_#in~cond#1, thr1Thread1of3ForFork1_~arg#1.offset] {85802#(and (<= 3 ~c~0) (= ~a~0 1))} is VALID [2022-02-20 20:12:19,492 INFO L290 TraceCheckUtils]: 22: Hoare triple {85802#(and (<= 3 ~c~0) (= ~a~0 1))} [520] thr1ENTRY-->L721: Formula: (and (= |v_thr1Thread1of3ForFork1_~arg#1.base_1| |v_thr1Thread1of3ForFork1_#in~arg#1.base_1|) (= |v_thr1Thread1of3ForFork1_#in~arg#1.offset_1| |v_thr1Thread1of3ForFork1_~arg#1.offset_1|)) InVars {thr1Thread1of3ForFork1_#in~arg#1.offset=|v_thr1Thread1of3ForFork1_#in~arg#1.offset_1|, thr1Thread1of3ForFork1_#in~arg#1.base=|v_thr1Thread1of3ForFork1_#in~arg#1.base_1|} OutVars{thr1Thread1of3ForFork1_~arg#1.base=|v_thr1Thread1of3ForFork1_~arg#1.base_1|, thr1Thread1of3ForFork1_#in~arg#1.offset=|v_thr1Thread1of3ForFork1_#in~arg#1.offset_1|, thr1Thread1of3ForFork1_~arg#1.offset=|v_thr1Thread1of3ForFork1_~arg#1.offset_1|, thr1Thread1of3ForFork1_#in~arg#1.base=|v_thr1Thread1of3ForFork1_#in~arg#1.base_1|} AuxVars[] AssignedVars[thr1Thread1of3ForFork1_~arg#1.base, thr1Thread1of3ForFork1_~arg#1.offset] {85802#(and (<= 3 ~c~0) (= ~a~0 1))} is VALID [2022-02-20 20:12:19,492 INFO L290 TraceCheckUtils]: 23: Hoare triple {85802#(and (<= 3 ~c~0) (= ~a~0 1))} [523] L721-->L719: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {85802#(and (<= 3 ~c~0) (= ~a~0 1))} is VALID [2022-02-20 20:12:19,493 INFO L290 TraceCheckUtils]: 24: Hoare triple {85802#(and (<= 3 ~c~0) (= ~a~0 1))} [453] L727-3-->L727-4: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre3#1] {85802#(and (<= 3 ~c~0) (= ~a~0 1))} is VALID [2022-02-20 20:12:19,493 INFO L290 TraceCheckUtils]: 25: Hoare triple {85802#(and (<= 3 ~c~0) (= ~a~0 1))} [420] L727-4-->L728-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet4#1] {85802#(and (<= 3 ~c~0) (= ~a~0 1))} is VALID [2022-02-20 20:12:19,493 INFO L290 TraceCheckUtils]: 26: Hoare triple {85802#(and (<= 3 ~c~0) (= ~a~0 1))} [430] L728-2-->L730: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {85802#(and (<= 3 ~c~0) (= ~a~0 1))} is VALID [2022-02-20 20:12:19,494 INFO L290 TraceCheckUtils]: 27: Hoare triple {85802#(and (<= 3 ~c~0) (= ~a~0 1))} [459] L730-->L730-1: Formula: (= |v_ULTIMATE.start_main_#t~pre5#1_1| |v_#pthreadsForks_3|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_1|, #pthreadsForks=|v_#pthreadsForks_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1] {85802#(and (<= 3 ~c~0) (= ~a~0 1))} is VALID [2022-02-20 20:12:19,494 INFO L290 TraceCheckUtils]: 28: Hoare triple {85802#(and (<= 3 ~c~0) (= ~a~0 1))} [450] L730-1-->L730-2: Formula: (= (+ 1 |v_#pthreadsForks_5|) |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_5|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|} AuxVars[] AssignedVars[#pthreadsForks] {85802#(and (<= 3 ~c~0) (= ~a~0 1))} is VALID [2022-02-20 20:12:19,494 INFO L290 TraceCheckUtils]: 29: Hoare triple {85802#(and (<= 3 ~c~0) (= ~a~0 1))} [454] L730-2-->L730-3: Formula: (= (store |v_#memory_int_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| (store (select |v_#memory_int_4| |v_ULTIMATE.start_main_~#t~0#1.base_2|) |v_ULTIMATE.start_main_~#t~0#1.offset_2| |v_ULTIMATE.start_main_#t~pre5#1_2|)) |v_#memory_int_3|) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_2|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_2|, #memory_int=|v_#memory_int_3|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|} AuxVars[] AssignedVars[#memory_int] {85802#(and (<= 3 ~c~0) (= ~a~0 1))} is VALID [2022-02-20 20:12:19,495 INFO L290 TraceCheckUtils]: 30: Hoare triple {85802#(and (<= 3 ~c~0) (= ~a~0 1))} [547] L730-3-->thr2ENTRY: Formula: (and (= |v_thr2Thread1of3ForFork0_#in~arg#1.offset_4| 0) (= v_thr2Thread1of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre5#1_12|) (= |v_thr2Thread1of3ForFork0_#in~arg#1.base_4| 0) (= v_thr2Thread1of3ForFork0_thidvar1_2 0)) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_12|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_12|, thr2Thread1of3ForFork0_thidvar1=v_thr2Thread1of3ForFork0_thidvar1_2, thr2Thread1of3ForFork0_#in~arg#1.base=|v_thr2Thread1of3ForFork0_#in~arg#1.base_4|, thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1=|v_thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1_6|, thr2Thread1of3ForFork0_#res#1.base=|v_thr2Thread1of3ForFork0_#res#1.base_4|, thr2Thread1of3ForFork0_~arg#1.offset=|v_thr2Thread1of3ForFork0_~arg#1.offset_4|, thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1=|v_thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1_6|, thr2Thread1of3ForFork0_#res#1.offset=|v_thr2Thread1of3ForFork0_#res#1.offset_4|, thr2Thread1of3ForFork0_~arg#1.base=|v_thr2Thread1of3ForFork0_~arg#1.base_4|, thr2Thread1of3ForFork0_#in~arg#1.offset=|v_thr2Thread1of3ForFork0_#in~arg#1.offset_4|, thr2Thread1of3ForFork0_thidvar0=v_thr2Thread1of3ForFork0_thidvar0_2} AuxVars[] AssignedVars[thr2Thread1of3ForFork0_thidvar1, thr2Thread1of3ForFork0_#in~arg#1.base, thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1, thr2Thread1of3ForFork0_#res#1.base, thr2Thread1of3ForFork0_~arg#1.offset, thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1, thr2Thread1of3ForFork0_#res#1.offset, thr2Thread1of3ForFork0_~arg#1.base, thr2Thread1of3ForFork0_#in~arg#1.offset, thr2Thread1of3ForFork0_thidvar0] {85802#(and (<= 3 ~c~0) (= ~a~0 1))} is VALID [2022-02-20 20:12:19,495 INFO L290 TraceCheckUtils]: 31: Hoare triple {85802#(and (<= 3 ~c~0) (= ~a~0 1))} [471] thr2ENTRY-->L711-1: Formula: (and (= |v_thr2Thread1of3ForFork0_~arg#1.base_1| |v_thr2Thread1of3ForFork0_#in~arg#1.base_1|) (= |v_thr2Thread1of3ForFork0_#in~arg#1.offset_1| |v_thr2Thread1of3ForFork0_~arg#1.offset_1|)) InVars {thr2Thread1of3ForFork0_#in~arg#1.base=|v_thr2Thread1of3ForFork0_#in~arg#1.base_1|, thr2Thread1of3ForFork0_#in~arg#1.offset=|v_thr2Thread1of3ForFork0_#in~arg#1.offset_1|} OutVars{thr2Thread1of3ForFork0_#in~arg#1.base=|v_thr2Thread1of3ForFork0_#in~arg#1.base_1|, thr2Thread1of3ForFork0_~arg#1.offset=|v_thr2Thread1of3ForFork0_~arg#1.offset_1|, thr2Thread1of3ForFork0_~arg#1.base=|v_thr2Thread1of3ForFork0_~arg#1.base_1|, thr2Thread1of3ForFork0_#in~arg#1.offset=|v_thr2Thread1of3ForFork0_#in~arg#1.offset_1|} AuxVars[] AssignedVars[thr2Thread1of3ForFork0_~arg#1.offset, thr2Thread1of3ForFork0_~arg#1.base] {85802#(and (<= 3 ~c~0) (= ~a~0 1))} is VALID [2022-02-20 20:12:19,496 INFO L290 TraceCheckUtils]: 32: Hoare triple {85802#(and (<= 3 ~c~0) (= ~a~0 1))} [474] L711-1-->L706: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {85802#(and (<= 3 ~c~0) (= ~a~0 1))} is VALID [2022-02-20 20:12:19,496 INFO L290 TraceCheckUtils]: 33: Hoare triple {85802#(and (<= 3 ~c~0) (= ~a~0 1))} [476] L706-->L706-1: Formula: (and (= |v_thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1_1| |v_thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1_1|) (= |v_thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1_1| (ite (= v_~mutex~0_63 0) 1 0)) (= v_~mutex~0_62 1) (not (= |v_thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1_1| 0))) InVars {~mutex~0=v_~mutex~0_63} OutVars{thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1=|v_thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1_1|, thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1=|v_thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1_1|, ~mutex~0=v_~mutex~0_62} AuxVars[] AssignedVars[thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1, thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1, ~mutex~0] {85802#(and (<= 3 ~c~0) (= ~a~0 1))} is VALID [2022-02-20 20:12:19,496 INFO L290 TraceCheckUtils]: 34: Hoare triple {85802#(and (<= 3 ~c~0) (= ~a~0 1))} [478] L706-1-->L708: Formula: (= v_~temp~0_1 v_~a~0_1) InVars {~a~0=v_~a~0_1} OutVars{~temp~0=v_~temp~0_1, ~a~0=v_~a~0_1} AuxVars[] AssignedVars[~temp~0] {85803#(and (<= 3 ~c~0) (= ~temp~0 1))} is VALID [2022-02-20 20:12:19,497 INFO L290 TraceCheckUtils]: 35: Hoare triple {85803#(and (<= 3 ~c~0) (= ~temp~0 1))} [479] L708-->L709: Formula: (= v_~a~0_2 v_~b~0_1) InVars {~b~0=v_~b~0_1} OutVars{~a~0=v_~a~0_2, ~b~0=v_~b~0_1} AuxVars[] AssignedVars[~a~0] {85803#(and (<= 3 ~c~0) (= ~temp~0 1))} is VALID [2022-02-20 20:12:19,497 INFO L290 TraceCheckUtils]: 36: Hoare triple {85803#(and (<= 3 ~c~0) (= ~temp~0 1))} [480] L709-->L710: Formula: (= v_~b~0_2 v_~c~0_1) InVars {~c~0=v_~c~0_1} OutVars{~c~0=v_~c~0_1, ~b~0=v_~b~0_2} AuxVars[] AssignedVars[~b~0] {85804#(and (= ~temp~0 1) (<= 3 ~b~0))} is VALID [2022-02-20 20:12:19,497 INFO L290 TraceCheckUtils]: 37: Hoare triple {85804#(and (= ~temp~0 1) (<= 3 ~b~0))} [481] L710-->L711: Formula: (= v_~temp~0_2 v_~c~0_2) InVars {~temp~0=v_~temp~0_2} OutVars{~c~0=v_~c~0_2, ~temp~0=v_~temp~0_2} AuxVars[] AssignedVars[~c~0] {85805#(and (= ~c~0 1) (<= 3 ~b~0))} is VALID [2022-02-20 20:12:19,498 INFO L290 TraceCheckUtils]: 38: Hoare triple {85805#(and (= ~c~0 1) (<= 3 ~b~0))} [482] L711-->L711-1: Formula: (and (= |v_thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1_3| (ite (= v_~mutex~0_51 1) 1 0)) (= |v_thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1_3| |v_thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1_3|) (= v_~mutex~0_50 0) (not (= |v_thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1_3| 0))) InVars {~mutex~0=v_~mutex~0_51} OutVars{thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1=|v_thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1_3|, thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1=|v_thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1_3|, ~mutex~0=v_~mutex~0_50} AuxVars[] AssignedVars[thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1, thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1, ~mutex~0] {85805#(and (= ~c~0 1) (<= 3 ~b~0))} is VALID [2022-02-20 20:12:19,498 INFO L290 TraceCheckUtils]: 39: Hoare triple {85805#(and (= ~c~0 1) (<= 3 ~b~0))} [474] L711-1-->L706: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {85805#(and (= ~c~0 1) (<= 3 ~b~0))} is VALID [2022-02-20 20:12:19,499 INFO L290 TraceCheckUtils]: 40: Hoare triple {85805#(and (= ~c~0 1) (<= 3 ~b~0))} [476] L706-->L706-1: Formula: (and (= |v_thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1_1| |v_thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1_1|) (= |v_thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1_1| (ite (= v_~mutex~0_63 0) 1 0)) (= v_~mutex~0_62 1) (not (= |v_thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1_1| 0))) InVars {~mutex~0=v_~mutex~0_63} OutVars{thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1=|v_thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1_1|, thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1=|v_thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1_1|, ~mutex~0=v_~mutex~0_62} AuxVars[] AssignedVars[thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1, thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1, ~mutex~0] {85805#(and (= ~c~0 1) (<= 3 ~b~0))} is VALID [2022-02-20 20:12:19,499 INFO L290 TraceCheckUtils]: 41: Hoare triple {85805#(and (= ~c~0 1) (<= 3 ~b~0))} [478] L706-1-->L708: Formula: (= v_~temp~0_1 v_~a~0_1) InVars {~a~0=v_~a~0_1} OutVars{~temp~0=v_~temp~0_1, ~a~0=v_~a~0_1} AuxVars[] AssignedVars[~temp~0] {85805#(and (= ~c~0 1) (<= 3 ~b~0))} is VALID [2022-02-20 20:12:19,499 INFO L290 TraceCheckUtils]: 42: Hoare triple {85805#(and (= ~c~0 1) (<= 3 ~b~0))} [479] L708-->L709: Formula: (= v_~a~0_2 v_~b~0_1) InVars {~b~0=v_~b~0_1} OutVars{~a~0=v_~a~0_2, ~b~0=v_~b~0_1} AuxVars[] AssignedVars[~a~0] {85806#(and (= ~c~0 1) (not (= ~a~0 1)))} is VALID [2022-02-20 20:12:19,500 INFO L290 TraceCheckUtils]: 43: Hoare triple {85806#(and (= ~c~0 1) (not (= ~a~0 1)))} [480] L709-->L710: Formula: (= v_~b~0_2 v_~c~0_1) InVars {~c~0=v_~c~0_1} OutVars{~c~0=v_~c~0_1, ~b~0=v_~b~0_2} AuxVars[] AssignedVars[~b~0] {85807#(and (not (= ~a~0 1)) (= ~b~0 1))} is VALID [2022-02-20 20:12:19,500 INFO L290 TraceCheckUtils]: 44: Hoare triple {85807#(and (not (= ~a~0 1)) (= ~b~0 1))} [481] L710-->L711: Formula: (= v_~temp~0_2 v_~c~0_2) InVars {~temp~0=v_~temp~0_2} OutVars{~c~0=v_~c~0_2, ~temp~0=v_~temp~0_2} AuxVars[] AssignedVars[~c~0] {85807#(and (not (= ~a~0 1)) (= ~b~0 1))} is VALID [2022-02-20 20:12:19,501 INFO L290 TraceCheckUtils]: 45: Hoare triple {85807#(and (not (= ~a~0 1)) (= ~b~0 1))} [482] L711-->L711-1: Formula: (and (= |v_thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1_3| (ite (= v_~mutex~0_51 1) 1 0)) (= |v_thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1_3| |v_thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1_3|) (= v_~mutex~0_50 0) (not (= |v_thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1_3| 0))) InVars {~mutex~0=v_~mutex~0_51} OutVars{thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1=|v_thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1_3|, thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1=|v_thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1_3|, ~mutex~0=v_~mutex~0_50} AuxVars[] AssignedVars[thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1, thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1, ~mutex~0] {85807#(and (not (= ~a~0 1)) (= ~b~0 1))} is VALID [2022-02-20 20:12:19,501 INFO L290 TraceCheckUtils]: 46: Hoare triple {85807#(and (not (= ~a~0 1)) (= ~b~0 1))} [525] L719-->L719-1: Formula: (and (not (= |v_thr1Thread1of3ForFork1_assume_abort_if_not_~cond#1_1| 0)) (= |v_thr1Thread1of3ForFork1_assume_abort_if_not_#in~cond#1_1| (ite (= v_~mutex~0_57 0) 1 0)) (= v_~mutex~0_56 1) (= |v_thr1Thread1of3ForFork1_assume_abort_if_not_~cond#1_1| |v_thr1Thread1of3ForFork1_assume_abort_if_not_#in~cond#1_1|)) InVars {~mutex~0=v_~mutex~0_57} OutVars{thr1Thread1of3ForFork1_assume_abort_if_not_#in~cond#1=|v_thr1Thread1of3ForFork1_assume_abort_if_not_#in~cond#1_1|, thr1Thread1of3ForFork1_assume_abort_if_not_~cond#1=|v_thr1Thread1of3ForFork1_assume_abort_if_not_~cond#1_1|, ~mutex~0=v_~mutex~0_56} AuxVars[] AssignedVars[thr1Thread1of3ForFork1_assume_abort_if_not_~cond#1, thr1Thread1of3ForFork1_assume_abort_if_not_#in~cond#1, ~mutex~0] {85807#(and (not (= ~a~0 1)) (= ~b~0 1))} is VALID [2022-02-20 20:12:19,501 INFO L290 TraceCheckUtils]: 47: Hoare triple {85807#(and (not (= ~a~0 1)) (= ~b~0 1))} [527] L719-1-->L720: Formula: (= v_~a~0_3 v_~b~0_3) InVars {~a~0=v_~a~0_3, ~b~0=v_~b~0_3} OutVars{~a~0=v_~a~0_3, ~b~0=v_~b~0_3} AuxVars[] AssignedVars[] {85800#false} is VALID [2022-02-20 20:12:19,502 INFO L290 TraceCheckUtils]: 48: Hoare triple {85800#false} [529] L720-->thr1Err0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {85800#false} is VALID [2022-02-20 20:12:19,502 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 20:12:19,502 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 20:12:19,502 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [490506012] [2022-02-20 20:12:19,502 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [490506012] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 20:12:19,503 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [74565895] [2022-02-20 20:12:19,503 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 20:12:19,503 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 20:12:19,503 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 20:12:19,505 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:12:19,505 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:12:19,576 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 20:12:19,576 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 20:12:19,578 INFO L263 TraceCheckSpWp]: Trace formula consists of 148 conjuncts, 8 conjunts are in the unsatisfiable core [2022-02-20 20:12:19,590 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:12:19,591 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 20:12:19,984 INFO L290 TraceCheckUtils]: 0: Hoare triple {85799#true} [455] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {85799#true} is VALID [2022-02-20 20:12:19,984 INFO L290 TraceCheckUtils]: 1: Hoare triple {85799#true} [443] 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] {85799#true} is VALID [2022-02-20 20:12:19,985 INFO L290 TraceCheckUtils]: 2: Hoare triple {85799#true} [461] L-1-1-->L-1-2: Formula: (= (select |v_#valid_3| 0) 0) InVars {#valid=|v_#valid_3|} OutVars{#valid=|v_#valid_3|} AuxVars[] AssignedVars[] {85799#true} is VALID [2022-02-20 20:12:19,985 INFO L290 TraceCheckUtils]: 3: Hoare triple {85799#true} [465] L-1-2-->L16: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {85799#true} is VALID [2022-02-20 20:12:19,985 INFO L290 TraceCheckUtils]: 4: Hoare triple {85799#true} [436] L16-->L16-1: Formula: (and (= (select |v_#valid_4| 1) 1) (= 2 (select |v_#length_1| 1))) InVars {#length=|v_#length_1|, #valid=|v_#valid_4|} OutVars{#length=|v_#length_1|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[] {85799#true} is VALID [2022-02-20 20:12:19,985 INFO L290 TraceCheckUtils]: 5: Hoare triple {85799#true} [408] L16-1-->L16-2: Formula: (= (select (select |v_#memory_int_5| 1) 0) 48) InVars {#memory_int=|v_#memory_int_5|} OutVars{#memory_int=|v_#memory_int_5|} AuxVars[] AssignedVars[] {85799#true} is VALID [2022-02-20 20:12:19,985 INFO L290 TraceCheckUtils]: 6: Hoare triple {85799#true} [468] L16-2-->L16-3: Formula: (= (select (select |v_#memory_int_6| 1) 1) 0) InVars {#memory_int=|v_#memory_int_6|} OutVars{#memory_int=|v_#memory_int_6|} AuxVars[] AssignedVars[] {85799#true} is VALID [2022-02-20 20:12:19,985 INFO L290 TraceCheckUtils]: 7: Hoare triple {85799#true} [449] L16-3-->L16-4: Formula: (and (= (select |v_#valid_5| 2) 1) (= 21 (select |v_#length_2| 2))) InVars {#length=|v_#length_2|, #valid=|v_#valid_5|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_5|} AuxVars[] AssignedVars[] {85799#true} is VALID [2022-02-20 20:12:19,986 INFO L290 TraceCheckUtils]: 8: Hoare triple {85799#true} [451] L16-4-->L689: Formula: (= v_~a~0_5 1) InVars {} OutVars{~a~0=v_~a~0_5} AuxVars[] AssignedVars[~a~0] {85835#(<= ~a~0 1)} is VALID [2022-02-20 20:12:19,986 INFO L290 TraceCheckUtils]: 9: Hoare triple {85835#(<= ~a~0 1)} [419] L689-->L690: Formula: (= 2 v_~b~0_5) InVars {} OutVars{~b~0=v_~b~0_5} AuxVars[] AssignedVars[~b~0] {85835#(<= ~a~0 1)} is VALID [2022-02-20 20:12:19,986 INFO L290 TraceCheckUtils]: 10: Hoare triple {85835#(<= ~a~0 1)} [458] L690-->L691: Formula: (= 3 v_~c~0_3) InVars {} OutVars{~c~0=v_~c~0_3} AuxVars[] AssignedVars[~c~0] {85842#(and (<= 3 ~c~0) (<= ~a~0 1))} is VALID [2022-02-20 20:12:19,987 INFO L290 TraceCheckUtils]: 11: Hoare triple {85842#(and (<= 3 ~c~0) (<= ~a~0 1))} [439] L691-->L692: Formula: (= v_~temp~0_3 0) InVars {} OutVars{~temp~0=v_~temp~0_3} AuxVars[] AssignedVars[~temp~0] {85842#(and (<= 3 ~c~0) (<= ~a~0 1))} is VALID [2022-02-20 20:12:19,987 INFO L290 TraceCheckUtils]: 12: Hoare triple {85842#(and (<= 3 ~c~0) (<= ~a~0 1))} [438] L692-->L-1-3: Formula: (= v_~mutex~0_9 0) InVars {} OutVars{~mutex~0=v_~mutex~0_9} AuxVars[] AssignedVars[~mutex~0] {85842#(and (<= 3 ~c~0) (<= ~a~0 1))} is VALID [2022-02-20 20:12:19,987 INFO L290 TraceCheckUtils]: 13: Hoare triple {85842#(and (<= 3 ~c~0) (<= ~a~0 1))} [467] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {85842#(and (<= 3 ~c~0) (<= ~a~0 1))} is VALID [2022-02-20 20:12:19,988 INFO L290 TraceCheckUtils]: 14: Hoare triple {85842#(and (<= 3 ~c~0) (<= ~a~0 1))} [448] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {85842#(and (<= 3 ~c~0) (<= ~a~0 1))} is VALID [2022-02-20 20:12:19,988 INFO L290 TraceCheckUtils]: 15: Hoare triple {85842#(and (<= 3 ~c~0) (<= ~a~0 1))} [424] L-1-5-->L-1-6: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {85842#(and (<= 3 ~c~0) (<= ~a~0 1))} is VALID [2022-02-20 20:12:19,988 INFO L290 TraceCheckUtils]: 16: Hoare triple {85842#(and (<= 3 ~c~0) (<= ~a~0 1))} [447] L-1-6-->L726: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_4|, ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_5|, ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_2|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_5|, ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1, ULTIMATE.start_main_#t~nondet4#1, ULTIMATE.start_main_~#t~0#1.offset, ULTIMATE.start_main_#t~nondet6#1, ULTIMATE.start_main_~#t~0#1.base, ULTIMATE.start_main_#t~pre3#1] {85842#(and (<= 3 ~c~0) (<= ~a~0 1))} is VALID [2022-02-20 20:12:19,989 INFO L290 TraceCheckUtils]: 17: Hoare triple {85842#(and (<= 3 ~c~0) (<= ~a~0 1))} [431] L726-->L726-1: Formula: (and (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_6| 4) |v_#length_3|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_6| 0) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_6|) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#t~0#1.base_6|) 0) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_6| 0)) (= (store |v_#valid_7| |v_ULTIMATE.start_main_~#t~0#1.base_6| 1) |v_#valid_6|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_6|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_6|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] {85842#(and (<= 3 ~c~0) (<= ~a~0 1))} is VALID [2022-02-20 20:12:19,989 INFO L290 TraceCheckUtils]: 18: Hoare triple {85842#(and (<= 3 ~c~0) (<= ~a~0 1))} [422] L726-1-->L727: Formula: (= |v_ULTIMATE.start_main_#t~pre3#1_4| |v_#pthreadsForks_6|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_6|, ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre3#1] {85842#(and (<= 3 ~c~0) (<= ~a~0 1))} is VALID [2022-02-20 20:12:19,990 INFO L290 TraceCheckUtils]: 19: Hoare triple {85842#(and (<= 3 ~c~0) (<= ~a~0 1))} [423] L727-->L727-1: Formula: (= (+ 1 |v_#pthreadsForks_2|) |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_2|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|} AuxVars[] AssignedVars[#pthreadsForks] {85842#(and (<= 3 ~c~0) (<= ~a~0 1))} is VALID [2022-02-20 20:12:19,990 INFO L290 TraceCheckUtils]: 20: Hoare triple {85842#(and (<= 3 ~c~0) (<= ~a~0 1))} [410] L727-1-->L727-2: Formula: (= (store |v_#memory_int_2| |v_ULTIMATE.start_main_~#t~0#1.base_1| (store (select |v_#memory_int_2| |v_ULTIMATE.start_main_~#t~0#1.base_1|) |v_ULTIMATE.start_main_~#t~0#1.offset_1| |v_ULTIMATE.start_main_#t~pre3#1_1|)) |v_#memory_int_1|) InVars {#memory_int=|v_#memory_int_2|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_1|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_1|, ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_1|} OutVars{#memory_int=|v_#memory_int_1|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_1|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_1|, ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_1|} AuxVars[] AssignedVars[#memory_int] {85842#(and (<= 3 ~c~0) (<= ~a~0 1))} is VALID [2022-02-20 20:12:19,990 INFO L290 TraceCheckUtils]: 21: Hoare triple {85842#(and (<= 3 ~c~0) (<= ~a~0 1))} [551] L727-2-->thr1ENTRY: Formula: (and (= v_thr1Thread1of3ForFork1_thidvar0_2 |v_ULTIMATE.start_main_#t~pre3#1_12|) (= v_thr1Thread1of3ForFork1_thidvar1_2 0) (= |v_thr1Thread1of3ForFork1_#in~arg#1.base_4| 0) (= |v_thr1Thread1of3ForFork1_#in~arg#1.offset_4| 0)) InVars {ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_12|} OutVars{thr1Thread1of3ForFork1_~arg#1.base=|v_thr1Thread1of3ForFork1_~arg#1.base_4|, thr1Thread1of3ForFork1_#in~arg#1.offset=|v_thr1Thread1of3ForFork1_#in~arg#1.offset_4|, thr1Thread1of3ForFork1_#res#1.base=|v_thr1Thread1of3ForFork1_#res#1.base_4|, thr1Thread1of3ForFork1_thidvar0=v_thr1Thread1of3ForFork1_thidvar0_2, thr1Thread1of3ForFork1_assume_abort_if_not_~cond#1=|v_thr1Thread1of3ForFork1_assume_abort_if_not_~cond#1_6|, thr1Thread1of3ForFork1_#in~arg#1.base=|v_thr1Thread1of3ForFork1_#in~arg#1.base_4|, thr1Thread1of3ForFork1_#res#1.offset=|v_thr1Thread1of3ForFork1_#res#1.offset_4|, thr1Thread1of3ForFork1_thidvar1=v_thr1Thread1of3ForFork1_thidvar1_2, thr1Thread1of3ForFork1_assume_abort_if_not_#in~cond#1=|v_thr1Thread1of3ForFork1_assume_abort_if_not_#in~cond#1_6|, thr1Thread1of3ForFork1_~arg#1.offset=|v_thr1Thread1of3ForFork1_~arg#1.offset_4|, ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_12|} AuxVars[] AssignedVars[thr1Thread1of3ForFork1_~arg#1.base, thr1Thread1of3ForFork1_#in~arg#1.offset, thr1Thread1of3ForFork1_#res#1.base, thr1Thread1of3ForFork1_thidvar0, thr1Thread1of3ForFork1_assume_abort_if_not_~cond#1, thr1Thread1of3ForFork1_#in~arg#1.base, thr1Thread1of3ForFork1_#res#1.offset, thr1Thread1of3ForFork1_thidvar1, thr1Thread1of3ForFork1_assume_abort_if_not_#in~cond#1, thr1Thread1of3ForFork1_~arg#1.offset] {85842#(and (<= 3 ~c~0) (<= ~a~0 1))} is VALID [2022-02-20 20:12:19,991 INFO L290 TraceCheckUtils]: 22: Hoare triple {85842#(and (<= 3 ~c~0) (<= ~a~0 1))} [520] thr1ENTRY-->L721: Formula: (and (= |v_thr1Thread1of3ForFork1_~arg#1.base_1| |v_thr1Thread1of3ForFork1_#in~arg#1.base_1|) (= |v_thr1Thread1of3ForFork1_#in~arg#1.offset_1| |v_thr1Thread1of3ForFork1_~arg#1.offset_1|)) InVars {thr1Thread1of3ForFork1_#in~arg#1.offset=|v_thr1Thread1of3ForFork1_#in~arg#1.offset_1|, thr1Thread1of3ForFork1_#in~arg#1.base=|v_thr1Thread1of3ForFork1_#in~arg#1.base_1|} OutVars{thr1Thread1of3ForFork1_~arg#1.base=|v_thr1Thread1of3ForFork1_~arg#1.base_1|, thr1Thread1of3ForFork1_#in~arg#1.offset=|v_thr1Thread1of3ForFork1_#in~arg#1.offset_1|, thr1Thread1of3ForFork1_~arg#1.offset=|v_thr1Thread1of3ForFork1_~arg#1.offset_1|, thr1Thread1of3ForFork1_#in~arg#1.base=|v_thr1Thread1of3ForFork1_#in~arg#1.base_1|} AuxVars[] AssignedVars[thr1Thread1of3ForFork1_~arg#1.base, thr1Thread1of3ForFork1_~arg#1.offset] {85842#(and (<= 3 ~c~0) (<= ~a~0 1))} is VALID [2022-02-20 20:12:19,991 INFO L290 TraceCheckUtils]: 23: Hoare triple {85842#(and (<= 3 ~c~0) (<= ~a~0 1))} [523] L721-->L719: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {85842#(and (<= 3 ~c~0) (<= ~a~0 1))} is VALID [2022-02-20 20:12:19,992 INFO L290 TraceCheckUtils]: 24: Hoare triple {85842#(and (<= 3 ~c~0) (<= ~a~0 1))} [453] L727-3-->L727-4: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre3#1] {85842#(and (<= 3 ~c~0) (<= ~a~0 1))} is VALID [2022-02-20 20:12:19,992 INFO L290 TraceCheckUtils]: 25: Hoare triple {85842#(and (<= 3 ~c~0) (<= ~a~0 1))} [420] L727-4-->L728-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet4#1] {85842#(and (<= 3 ~c~0) (<= ~a~0 1))} is VALID [2022-02-20 20:12:19,992 INFO L290 TraceCheckUtils]: 26: Hoare triple {85842#(and (<= 3 ~c~0) (<= ~a~0 1))} [430] L728-2-->L730: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {85842#(and (<= 3 ~c~0) (<= ~a~0 1))} is VALID [2022-02-20 20:12:19,993 INFO L290 TraceCheckUtils]: 27: Hoare triple {85842#(and (<= 3 ~c~0) (<= ~a~0 1))} [459] L730-->L730-1: Formula: (= |v_ULTIMATE.start_main_#t~pre5#1_1| |v_#pthreadsForks_3|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_1|, #pthreadsForks=|v_#pthreadsForks_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1] {85842#(and (<= 3 ~c~0) (<= ~a~0 1))} is VALID [2022-02-20 20:12:19,993 INFO L290 TraceCheckUtils]: 28: Hoare triple {85842#(and (<= 3 ~c~0) (<= ~a~0 1))} [450] L730-1-->L730-2: Formula: (= (+ 1 |v_#pthreadsForks_5|) |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_5|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|} AuxVars[] AssignedVars[#pthreadsForks] {85842#(and (<= 3 ~c~0) (<= ~a~0 1))} is VALID [2022-02-20 20:12:19,993 INFO L290 TraceCheckUtils]: 29: Hoare triple {85842#(and (<= 3 ~c~0) (<= ~a~0 1))} [454] L730-2-->L730-3: Formula: (= (store |v_#memory_int_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| (store (select |v_#memory_int_4| |v_ULTIMATE.start_main_~#t~0#1.base_2|) |v_ULTIMATE.start_main_~#t~0#1.offset_2| |v_ULTIMATE.start_main_#t~pre5#1_2|)) |v_#memory_int_3|) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_2|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_2|, #memory_int=|v_#memory_int_3|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|} AuxVars[] AssignedVars[#memory_int] {85842#(and (<= 3 ~c~0) (<= ~a~0 1))} is VALID [2022-02-20 20:12:19,994 INFO L290 TraceCheckUtils]: 30: Hoare triple {85842#(and (<= 3 ~c~0) (<= ~a~0 1))} [547] L730-3-->thr2ENTRY: Formula: (and (= |v_thr2Thread1of3ForFork0_#in~arg#1.offset_4| 0) (= v_thr2Thread1of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre5#1_12|) (= |v_thr2Thread1of3ForFork0_#in~arg#1.base_4| 0) (= v_thr2Thread1of3ForFork0_thidvar1_2 0)) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_12|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_12|, thr2Thread1of3ForFork0_thidvar1=v_thr2Thread1of3ForFork0_thidvar1_2, thr2Thread1of3ForFork0_#in~arg#1.base=|v_thr2Thread1of3ForFork0_#in~arg#1.base_4|, thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1=|v_thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1_6|, thr2Thread1of3ForFork0_#res#1.base=|v_thr2Thread1of3ForFork0_#res#1.base_4|, thr2Thread1of3ForFork0_~arg#1.offset=|v_thr2Thread1of3ForFork0_~arg#1.offset_4|, thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1=|v_thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1_6|, thr2Thread1of3ForFork0_#res#1.offset=|v_thr2Thread1of3ForFork0_#res#1.offset_4|, thr2Thread1of3ForFork0_~arg#1.base=|v_thr2Thread1of3ForFork0_~arg#1.base_4|, thr2Thread1of3ForFork0_#in~arg#1.offset=|v_thr2Thread1of3ForFork0_#in~arg#1.offset_4|, thr2Thread1of3ForFork0_thidvar0=v_thr2Thread1of3ForFork0_thidvar0_2} AuxVars[] AssignedVars[thr2Thread1of3ForFork0_thidvar1, thr2Thread1of3ForFork0_#in~arg#1.base, thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1, thr2Thread1of3ForFork0_#res#1.base, thr2Thread1of3ForFork0_~arg#1.offset, thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1, thr2Thread1of3ForFork0_#res#1.offset, thr2Thread1of3ForFork0_~arg#1.base, thr2Thread1of3ForFork0_#in~arg#1.offset, thr2Thread1of3ForFork0_thidvar0] {85842#(and (<= 3 ~c~0) (<= ~a~0 1))} is VALID [2022-02-20 20:12:19,994 INFO L290 TraceCheckUtils]: 31: Hoare triple {85842#(and (<= 3 ~c~0) (<= ~a~0 1))} [471] thr2ENTRY-->L711-1: Formula: (and (= |v_thr2Thread1of3ForFork0_~arg#1.base_1| |v_thr2Thread1of3ForFork0_#in~arg#1.base_1|) (= |v_thr2Thread1of3ForFork0_#in~arg#1.offset_1| |v_thr2Thread1of3ForFork0_~arg#1.offset_1|)) InVars {thr2Thread1of3ForFork0_#in~arg#1.base=|v_thr2Thread1of3ForFork0_#in~arg#1.base_1|, thr2Thread1of3ForFork0_#in~arg#1.offset=|v_thr2Thread1of3ForFork0_#in~arg#1.offset_1|} OutVars{thr2Thread1of3ForFork0_#in~arg#1.base=|v_thr2Thread1of3ForFork0_#in~arg#1.base_1|, thr2Thread1of3ForFork0_~arg#1.offset=|v_thr2Thread1of3ForFork0_~arg#1.offset_1|, thr2Thread1of3ForFork0_~arg#1.base=|v_thr2Thread1of3ForFork0_~arg#1.base_1|, thr2Thread1of3ForFork0_#in~arg#1.offset=|v_thr2Thread1of3ForFork0_#in~arg#1.offset_1|} AuxVars[] AssignedVars[thr2Thread1of3ForFork0_~arg#1.offset, thr2Thread1of3ForFork0_~arg#1.base] {85842#(and (<= 3 ~c~0) (<= ~a~0 1))} is VALID [2022-02-20 20:12:19,994 INFO L290 TraceCheckUtils]: 32: Hoare triple {85842#(and (<= 3 ~c~0) (<= ~a~0 1))} [474] L711-1-->L706: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {85842#(and (<= 3 ~c~0) (<= ~a~0 1))} is VALID [2022-02-20 20:12:19,995 INFO L290 TraceCheckUtils]: 33: Hoare triple {85842#(and (<= 3 ~c~0) (<= ~a~0 1))} [476] L706-->L706-1: Formula: (and (= |v_thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1_1| |v_thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1_1|) (= |v_thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1_1| (ite (= v_~mutex~0_63 0) 1 0)) (= v_~mutex~0_62 1) (not (= |v_thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1_1| 0))) InVars {~mutex~0=v_~mutex~0_63} OutVars{thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1=|v_thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1_1|, thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1=|v_thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1_1|, ~mutex~0=v_~mutex~0_62} AuxVars[] AssignedVars[thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1, thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1, ~mutex~0] {85842#(and (<= 3 ~c~0) (<= ~a~0 1))} is VALID [2022-02-20 20:12:19,995 INFO L290 TraceCheckUtils]: 34: Hoare triple {85842#(and (<= 3 ~c~0) (<= ~a~0 1))} [478] L706-1-->L708: Formula: (= v_~temp~0_1 v_~a~0_1) InVars {~a~0=v_~a~0_1} OutVars{~temp~0=v_~temp~0_1, ~a~0=v_~a~0_1} AuxVars[] AssignedVars[~temp~0] {85915#(and (<= 3 ~c~0) (<= ~temp~0 1))} is VALID [2022-02-20 20:12:19,996 INFO L290 TraceCheckUtils]: 35: Hoare triple {85915#(and (<= 3 ~c~0) (<= ~temp~0 1))} [479] L708-->L709: Formula: (= v_~a~0_2 v_~b~0_1) InVars {~b~0=v_~b~0_1} OutVars{~a~0=v_~a~0_2, ~b~0=v_~b~0_1} AuxVars[] AssignedVars[~a~0] {85915#(and (<= 3 ~c~0) (<= ~temp~0 1))} is VALID [2022-02-20 20:12:19,996 INFO L290 TraceCheckUtils]: 36: Hoare triple {85915#(and (<= 3 ~c~0) (<= ~temp~0 1))} [480] L709-->L710: Formula: (= v_~b~0_2 v_~c~0_1) InVars {~c~0=v_~c~0_1} OutVars{~c~0=v_~c~0_1, ~b~0=v_~b~0_2} AuxVars[] AssignedVars[~b~0] {85922#(and (<= ~temp~0 1) (<= 3 ~b~0))} is VALID [2022-02-20 20:12:19,996 INFO L290 TraceCheckUtils]: 37: Hoare triple {85922#(and (<= ~temp~0 1) (<= 3 ~b~0))} [481] L710-->L711: Formula: (= v_~temp~0_2 v_~c~0_2) InVars {~temp~0=v_~temp~0_2} OutVars{~c~0=v_~c~0_2, ~temp~0=v_~temp~0_2} AuxVars[] AssignedVars[~c~0] {85926#(and (<= ~c~0 1) (<= 3 ~b~0))} is VALID [2022-02-20 20:12:19,997 INFO L290 TraceCheckUtils]: 38: Hoare triple {85926#(and (<= ~c~0 1) (<= 3 ~b~0))} [482] L711-->L711-1: Formula: (and (= |v_thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1_3| (ite (= v_~mutex~0_51 1) 1 0)) (= |v_thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1_3| |v_thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1_3|) (= v_~mutex~0_50 0) (not (= |v_thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1_3| 0))) InVars {~mutex~0=v_~mutex~0_51} OutVars{thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1=|v_thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1_3|, thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1=|v_thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1_3|, ~mutex~0=v_~mutex~0_50} AuxVars[] AssignedVars[thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1, thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1, ~mutex~0] {85926#(and (<= ~c~0 1) (<= 3 ~b~0))} is VALID [2022-02-20 20:12:19,997 INFO L290 TraceCheckUtils]: 39: Hoare triple {85926#(and (<= ~c~0 1) (<= 3 ~b~0))} [474] L711-1-->L706: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {85926#(and (<= ~c~0 1) (<= 3 ~b~0))} is VALID [2022-02-20 20:12:19,998 INFO L290 TraceCheckUtils]: 40: Hoare triple {85926#(and (<= ~c~0 1) (<= 3 ~b~0))} [476] L706-->L706-1: Formula: (and (= |v_thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1_1| |v_thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1_1|) (= |v_thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1_1| (ite (= v_~mutex~0_63 0) 1 0)) (= v_~mutex~0_62 1) (not (= |v_thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1_1| 0))) InVars {~mutex~0=v_~mutex~0_63} OutVars{thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1=|v_thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1_1|, thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1=|v_thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1_1|, ~mutex~0=v_~mutex~0_62} AuxVars[] AssignedVars[thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1, thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1, ~mutex~0] {85926#(and (<= ~c~0 1) (<= 3 ~b~0))} is VALID [2022-02-20 20:12:19,998 INFO L290 TraceCheckUtils]: 41: Hoare triple {85926#(and (<= ~c~0 1) (<= 3 ~b~0))} [478] L706-1-->L708: Formula: (= v_~temp~0_1 v_~a~0_1) InVars {~a~0=v_~a~0_1} OutVars{~temp~0=v_~temp~0_1, ~a~0=v_~a~0_1} AuxVars[] AssignedVars[~temp~0] {85926#(and (<= ~c~0 1) (<= 3 ~b~0))} is VALID [2022-02-20 20:12:19,998 INFO L290 TraceCheckUtils]: 42: Hoare triple {85926#(and (<= ~c~0 1) (<= 3 ~b~0))} [479] L708-->L709: Formula: (= v_~a~0_2 v_~b~0_1) InVars {~b~0=v_~b~0_1} OutVars{~a~0=v_~a~0_2, ~b~0=v_~b~0_1} AuxVars[] AssignedVars[~a~0] {85942#(and (<= ~c~0 1) (<= 3 ~a~0))} is VALID [2022-02-20 20:12:19,999 INFO L290 TraceCheckUtils]: 43: Hoare triple {85942#(and (<= ~c~0 1) (<= 3 ~a~0))} [480] L709-->L710: Formula: (= v_~b~0_2 v_~c~0_1) InVars {~c~0=v_~c~0_1} OutVars{~c~0=v_~c~0_1, ~b~0=v_~b~0_2} AuxVars[] AssignedVars[~b~0] {85946#(and (<= ~b~0 1) (<= 3 ~a~0))} is VALID [2022-02-20 20:12:19,999 INFO L290 TraceCheckUtils]: 44: Hoare triple {85946#(and (<= ~b~0 1) (<= 3 ~a~0))} [481] L710-->L711: Formula: (= v_~temp~0_2 v_~c~0_2) InVars {~temp~0=v_~temp~0_2} OutVars{~c~0=v_~c~0_2, ~temp~0=v_~temp~0_2} AuxVars[] AssignedVars[~c~0] {85946#(and (<= ~b~0 1) (<= 3 ~a~0))} is VALID [2022-02-20 20:12:20,000 INFO L290 TraceCheckUtils]: 45: Hoare triple {85946#(and (<= ~b~0 1) (<= 3 ~a~0))} [482] L711-->L711-1: Formula: (and (= |v_thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1_3| (ite (= v_~mutex~0_51 1) 1 0)) (= |v_thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1_3| |v_thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1_3|) (= v_~mutex~0_50 0) (not (= |v_thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1_3| 0))) InVars {~mutex~0=v_~mutex~0_51} OutVars{thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1=|v_thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1_3|, thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1=|v_thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1_3|, ~mutex~0=v_~mutex~0_50} AuxVars[] AssignedVars[thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1, thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1, ~mutex~0] {85946#(and (<= ~b~0 1) (<= 3 ~a~0))} is VALID [2022-02-20 20:12:20,000 INFO L290 TraceCheckUtils]: 46: Hoare triple {85946#(and (<= ~b~0 1) (<= 3 ~a~0))} [525] L719-->L719-1: Formula: (and (not (= |v_thr1Thread1of3ForFork1_assume_abort_if_not_~cond#1_1| 0)) (= |v_thr1Thread1of3ForFork1_assume_abort_if_not_#in~cond#1_1| (ite (= v_~mutex~0_57 0) 1 0)) (= v_~mutex~0_56 1) (= |v_thr1Thread1of3ForFork1_assume_abort_if_not_~cond#1_1| |v_thr1Thread1of3ForFork1_assume_abort_if_not_#in~cond#1_1|)) InVars {~mutex~0=v_~mutex~0_57} OutVars{thr1Thread1of3ForFork1_assume_abort_if_not_#in~cond#1=|v_thr1Thread1of3ForFork1_assume_abort_if_not_#in~cond#1_1|, thr1Thread1of3ForFork1_assume_abort_if_not_~cond#1=|v_thr1Thread1of3ForFork1_assume_abort_if_not_~cond#1_1|, ~mutex~0=v_~mutex~0_56} AuxVars[] AssignedVars[thr1Thread1of3ForFork1_assume_abort_if_not_~cond#1, thr1Thread1of3ForFork1_assume_abort_if_not_#in~cond#1, ~mutex~0] {85946#(and (<= ~b~0 1) (<= 3 ~a~0))} is VALID [2022-02-20 20:12:20,001 INFO L290 TraceCheckUtils]: 47: Hoare triple {85946#(and (<= ~b~0 1) (<= 3 ~a~0))} [527] L719-1-->L720: Formula: (= v_~a~0_3 v_~b~0_3) InVars {~a~0=v_~a~0_3, ~b~0=v_~b~0_3} OutVars{~a~0=v_~a~0_3, ~b~0=v_~b~0_3} AuxVars[] AssignedVars[] {85800#false} is VALID [2022-02-20 20:12:20,001 INFO L290 TraceCheckUtils]: 48: Hoare triple {85800#false} [529] L720-->thr1Err0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {85800#false} is VALID [2022-02-20 20:12:20,001 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 20:12:20,001 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 20:12:20,263 INFO L290 TraceCheckUtils]: 48: Hoare triple {85800#false} [529] L720-->thr1Err0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {85800#false} is VALID [2022-02-20 20:12:20,264 INFO L290 TraceCheckUtils]: 47: Hoare triple {85965#(not (<= ~a~0 ~b~0))} [527] L719-1-->L720: Formula: (= v_~a~0_3 v_~b~0_3) InVars {~a~0=v_~a~0_3, ~b~0=v_~b~0_3} OutVars{~a~0=v_~a~0_3, ~b~0=v_~b~0_3} AuxVars[] AssignedVars[] {85800#false} is VALID [2022-02-20 20:12:20,264 INFO L290 TraceCheckUtils]: 46: Hoare triple {85965#(not (<= ~a~0 ~b~0))} [525] L719-->L719-1: Formula: (and (not (= |v_thr1Thread1of3ForFork1_assume_abort_if_not_~cond#1_1| 0)) (= |v_thr1Thread1of3ForFork1_assume_abort_if_not_#in~cond#1_1| (ite (= v_~mutex~0_57 0) 1 0)) (= v_~mutex~0_56 1) (= |v_thr1Thread1of3ForFork1_assume_abort_if_not_~cond#1_1| |v_thr1Thread1of3ForFork1_assume_abort_if_not_#in~cond#1_1|)) InVars {~mutex~0=v_~mutex~0_57} OutVars{thr1Thread1of3ForFork1_assume_abort_if_not_#in~cond#1=|v_thr1Thread1of3ForFork1_assume_abort_if_not_#in~cond#1_1|, thr1Thread1of3ForFork1_assume_abort_if_not_~cond#1=|v_thr1Thread1of3ForFork1_assume_abort_if_not_~cond#1_1|, ~mutex~0=v_~mutex~0_56} AuxVars[] AssignedVars[thr1Thread1of3ForFork1_assume_abort_if_not_~cond#1, thr1Thread1of3ForFork1_assume_abort_if_not_#in~cond#1, ~mutex~0] {85965#(not (<= ~a~0 ~b~0))} is VALID [2022-02-20 20:12:20,264 INFO L290 TraceCheckUtils]: 45: Hoare triple {85965#(not (<= ~a~0 ~b~0))} [482] L711-->L711-1: Formula: (and (= |v_thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1_3| (ite (= v_~mutex~0_51 1) 1 0)) (= |v_thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1_3| |v_thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1_3|) (= v_~mutex~0_50 0) (not (= |v_thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1_3| 0))) InVars {~mutex~0=v_~mutex~0_51} OutVars{thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1=|v_thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1_3|, thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1=|v_thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1_3|, ~mutex~0=v_~mutex~0_50} AuxVars[] AssignedVars[thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1, thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1, ~mutex~0] {85965#(not (<= ~a~0 ~b~0))} is VALID [2022-02-20 20:12:20,264 INFO L290 TraceCheckUtils]: 44: Hoare triple {85965#(not (<= ~a~0 ~b~0))} [481] L710-->L711: Formula: (= v_~temp~0_2 v_~c~0_2) InVars {~temp~0=v_~temp~0_2} OutVars{~c~0=v_~c~0_2, ~temp~0=v_~temp~0_2} AuxVars[] AssignedVars[~c~0] {85965#(not (<= ~a~0 ~b~0))} is VALID [2022-02-20 20:12:20,265 INFO L290 TraceCheckUtils]: 43: Hoare triple {85978#(< ~c~0 ~a~0)} [480] L709-->L710: Formula: (= v_~b~0_2 v_~c~0_1) InVars {~c~0=v_~c~0_1} OutVars{~c~0=v_~c~0_1, ~b~0=v_~b~0_2} AuxVars[] AssignedVars[~b~0] {85965#(not (<= ~a~0 ~b~0))} is VALID [2022-02-20 20:12:20,265 INFO L290 TraceCheckUtils]: 42: Hoare triple {85982#(< ~c~0 ~b~0)} [479] L708-->L709: Formula: (= v_~a~0_2 v_~b~0_1) InVars {~b~0=v_~b~0_1} OutVars{~a~0=v_~a~0_2, ~b~0=v_~b~0_1} AuxVars[] AssignedVars[~a~0] {85978#(< ~c~0 ~a~0)} is VALID [2022-02-20 20:12:20,265 INFO L290 TraceCheckUtils]: 41: Hoare triple {85982#(< ~c~0 ~b~0)} [478] L706-1-->L708: Formula: (= v_~temp~0_1 v_~a~0_1) InVars {~a~0=v_~a~0_1} OutVars{~temp~0=v_~temp~0_1, ~a~0=v_~a~0_1} AuxVars[] AssignedVars[~temp~0] {85982#(< ~c~0 ~b~0)} is VALID [2022-02-20 20:12:20,266 INFO L290 TraceCheckUtils]: 40: Hoare triple {85982#(< ~c~0 ~b~0)} [476] L706-->L706-1: Formula: (and (= |v_thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1_1| |v_thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1_1|) (= |v_thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1_1| (ite (= v_~mutex~0_63 0) 1 0)) (= v_~mutex~0_62 1) (not (= |v_thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1_1| 0))) InVars {~mutex~0=v_~mutex~0_63} OutVars{thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1=|v_thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1_1|, thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1=|v_thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1_1|, ~mutex~0=v_~mutex~0_62} AuxVars[] AssignedVars[thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1, thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1, ~mutex~0] {85982#(< ~c~0 ~b~0)} is VALID [2022-02-20 20:12:20,266 INFO L290 TraceCheckUtils]: 39: Hoare triple {85982#(< ~c~0 ~b~0)} [474] L711-1-->L706: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {85982#(< ~c~0 ~b~0)} is VALID [2022-02-20 20:12:20,266 INFO L290 TraceCheckUtils]: 38: Hoare triple {85982#(< ~c~0 ~b~0)} [482] L711-->L711-1: Formula: (and (= |v_thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1_3| (ite (= v_~mutex~0_51 1) 1 0)) (= |v_thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1_3| |v_thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1_3|) (= v_~mutex~0_50 0) (not (= |v_thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1_3| 0))) InVars {~mutex~0=v_~mutex~0_51} OutVars{thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1=|v_thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1_3|, thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1=|v_thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1_3|, ~mutex~0=v_~mutex~0_50} AuxVars[] AssignedVars[thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1, thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1, ~mutex~0] {85982#(< ~c~0 ~b~0)} is VALID [2022-02-20 20:12:20,266 INFO L290 TraceCheckUtils]: 37: Hoare triple {85998#(< ~temp~0 ~b~0)} [481] L710-->L711: Formula: (= v_~temp~0_2 v_~c~0_2) InVars {~temp~0=v_~temp~0_2} OutVars{~c~0=v_~c~0_2, ~temp~0=v_~temp~0_2} AuxVars[] AssignedVars[~c~0] {85982#(< ~c~0 ~b~0)} is VALID [2022-02-20 20:12:20,267 INFO L290 TraceCheckUtils]: 36: Hoare triple {86002#(< ~temp~0 ~c~0)} [480] L709-->L710: Formula: (= v_~b~0_2 v_~c~0_1) InVars {~c~0=v_~c~0_1} OutVars{~c~0=v_~c~0_1, ~b~0=v_~b~0_2} AuxVars[] AssignedVars[~b~0] {85998#(< ~temp~0 ~b~0)} is VALID [2022-02-20 20:12:20,267 INFO L290 TraceCheckUtils]: 35: Hoare triple {86002#(< ~temp~0 ~c~0)} [479] L708-->L709: Formula: (= v_~a~0_2 v_~b~0_1) InVars {~b~0=v_~b~0_1} OutVars{~a~0=v_~a~0_2, ~b~0=v_~b~0_1} AuxVars[] AssignedVars[~a~0] {86002#(< ~temp~0 ~c~0)} is VALID [2022-02-20 20:12:20,267 INFO L290 TraceCheckUtils]: 34: Hoare triple {86009#(< ~a~0 ~c~0)} [478] L706-1-->L708: Formula: (= v_~temp~0_1 v_~a~0_1) InVars {~a~0=v_~a~0_1} OutVars{~temp~0=v_~temp~0_1, ~a~0=v_~a~0_1} AuxVars[] AssignedVars[~temp~0] {86002#(< ~temp~0 ~c~0)} is VALID [2022-02-20 20:12:20,268 INFO L290 TraceCheckUtils]: 33: Hoare triple {86009#(< ~a~0 ~c~0)} [476] L706-->L706-1: Formula: (and (= |v_thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1_1| |v_thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1_1|) (= |v_thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1_1| (ite (= v_~mutex~0_63 0) 1 0)) (= v_~mutex~0_62 1) (not (= |v_thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1_1| 0))) InVars {~mutex~0=v_~mutex~0_63} OutVars{thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1=|v_thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1_1|, thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1=|v_thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1_1|, ~mutex~0=v_~mutex~0_62} AuxVars[] AssignedVars[thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1, thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1, ~mutex~0] {86009#(< ~a~0 ~c~0)} is VALID [2022-02-20 20:12:20,268 INFO L290 TraceCheckUtils]: 32: Hoare triple {86009#(< ~a~0 ~c~0)} [474] L711-1-->L706: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {86009#(< ~a~0 ~c~0)} is VALID [2022-02-20 20:12:20,268 INFO L290 TraceCheckUtils]: 31: Hoare triple {86009#(< ~a~0 ~c~0)} [471] thr2ENTRY-->L711-1: Formula: (and (= |v_thr2Thread1of3ForFork0_~arg#1.base_1| |v_thr2Thread1of3ForFork0_#in~arg#1.base_1|) (= |v_thr2Thread1of3ForFork0_#in~arg#1.offset_1| |v_thr2Thread1of3ForFork0_~arg#1.offset_1|)) InVars {thr2Thread1of3ForFork0_#in~arg#1.base=|v_thr2Thread1of3ForFork0_#in~arg#1.base_1|, thr2Thread1of3ForFork0_#in~arg#1.offset=|v_thr2Thread1of3ForFork0_#in~arg#1.offset_1|} OutVars{thr2Thread1of3ForFork0_#in~arg#1.base=|v_thr2Thread1of3ForFork0_#in~arg#1.base_1|, thr2Thread1of3ForFork0_~arg#1.offset=|v_thr2Thread1of3ForFork0_~arg#1.offset_1|, thr2Thread1of3ForFork0_~arg#1.base=|v_thr2Thread1of3ForFork0_~arg#1.base_1|, thr2Thread1of3ForFork0_#in~arg#1.offset=|v_thr2Thread1of3ForFork0_#in~arg#1.offset_1|} AuxVars[] AssignedVars[thr2Thread1of3ForFork0_~arg#1.offset, thr2Thread1of3ForFork0_~arg#1.base] {86009#(< ~a~0 ~c~0)} is VALID [2022-02-20 20:12:20,268 INFO L290 TraceCheckUtils]: 30: Hoare triple {86009#(< ~a~0 ~c~0)} [547] L730-3-->thr2ENTRY: Formula: (and (= |v_thr2Thread1of3ForFork0_#in~arg#1.offset_4| 0) (= v_thr2Thread1of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre5#1_12|) (= |v_thr2Thread1of3ForFork0_#in~arg#1.base_4| 0) (= v_thr2Thread1of3ForFork0_thidvar1_2 0)) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_12|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_12|, thr2Thread1of3ForFork0_thidvar1=v_thr2Thread1of3ForFork0_thidvar1_2, thr2Thread1of3ForFork0_#in~arg#1.base=|v_thr2Thread1of3ForFork0_#in~arg#1.base_4|, thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1=|v_thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1_6|, thr2Thread1of3ForFork0_#res#1.base=|v_thr2Thread1of3ForFork0_#res#1.base_4|, thr2Thread1of3ForFork0_~arg#1.offset=|v_thr2Thread1of3ForFork0_~arg#1.offset_4|, thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1=|v_thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1_6|, thr2Thread1of3ForFork0_#res#1.offset=|v_thr2Thread1of3ForFork0_#res#1.offset_4|, thr2Thread1of3ForFork0_~arg#1.base=|v_thr2Thread1of3ForFork0_~arg#1.base_4|, thr2Thread1of3ForFork0_#in~arg#1.offset=|v_thr2Thread1of3ForFork0_#in~arg#1.offset_4|, thr2Thread1of3ForFork0_thidvar0=v_thr2Thread1of3ForFork0_thidvar0_2} AuxVars[] AssignedVars[thr2Thread1of3ForFork0_thidvar1, thr2Thread1of3ForFork0_#in~arg#1.base, thr2Thread1of3ForFork0_assume_abort_if_not_~cond#1, thr2Thread1of3ForFork0_#res#1.base, thr2Thread1of3ForFork0_~arg#1.offset, thr2Thread1of3ForFork0_assume_abort_if_not_#in~cond#1, thr2Thread1of3ForFork0_#res#1.offset, thr2Thread1of3ForFork0_~arg#1.base, thr2Thread1of3ForFork0_#in~arg#1.offset, thr2Thread1of3ForFork0_thidvar0] {86009#(< ~a~0 ~c~0)} is VALID [2022-02-20 20:12:20,269 INFO L290 TraceCheckUtils]: 29: Hoare triple {86009#(< ~a~0 ~c~0)} [454] L730-2-->L730-3: Formula: (= (store |v_#memory_int_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| (store (select |v_#memory_int_4| |v_ULTIMATE.start_main_~#t~0#1.base_2|) |v_ULTIMATE.start_main_~#t~0#1.offset_2| |v_ULTIMATE.start_main_#t~pre5#1_2|)) |v_#memory_int_3|) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_2|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_2|, #memory_int=|v_#memory_int_3|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|} AuxVars[] AssignedVars[#memory_int] {86009#(< ~a~0 ~c~0)} is VALID [2022-02-20 20:12:20,269 INFO L290 TraceCheckUtils]: 28: Hoare triple {86009#(< ~a~0 ~c~0)} [450] L730-1-->L730-2: Formula: (= (+ 1 |v_#pthreadsForks_5|) |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_5|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|} AuxVars[] AssignedVars[#pthreadsForks] {86009#(< ~a~0 ~c~0)} is VALID [2022-02-20 20:12:20,269 INFO L290 TraceCheckUtils]: 27: Hoare triple {86009#(< ~a~0 ~c~0)} [459] L730-->L730-1: Formula: (= |v_ULTIMATE.start_main_#t~pre5#1_1| |v_#pthreadsForks_3|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_1|, #pthreadsForks=|v_#pthreadsForks_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1] {86009#(< ~a~0 ~c~0)} is VALID [2022-02-20 20:12:20,270 INFO L290 TraceCheckUtils]: 26: Hoare triple {86009#(< ~a~0 ~c~0)} [430] L728-2-->L730: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {86009#(< ~a~0 ~c~0)} is VALID [2022-02-20 20:12:20,270 INFO L290 TraceCheckUtils]: 25: Hoare triple {86009#(< ~a~0 ~c~0)} [420] L727-4-->L728-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet4#1] {86009#(< ~a~0 ~c~0)} is VALID [2022-02-20 20:12:20,270 INFO L290 TraceCheckUtils]: 24: Hoare triple {86009#(< ~a~0 ~c~0)} [453] L727-3-->L727-4: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre3#1] {86009#(< ~a~0 ~c~0)} is VALID [2022-02-20 20:12:20,270 INFO L290 TraceCheckUtils]: 23: Hoare triple {86009#(< ~a~0 ~c~0)} [523] L721-->L719: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {86009#(< ~a~0 ~c~0)} is VALID [2022-02-20 20:12:20,271 INFO L290 TraceCheckUtils]: 22: Hoare triple {86009#(< ~a~0 ~c~0)} [520] thr1ENTRY-->L721: Formula: (and (= |v_thr1Thread1of3ForFork1_~arg#1.base_1| |v_thr1Thread1of3ForFork1_#in~arg#1.base_1|) (= |v_thr1Thread1of3ForFork1_#in~arg#1.offset_1| |v_thr1Thread1of3ForFork1_~arg#1.offset_1|)) InVars {thr1Thread1of3ForFork1_#in~arg#1.offset=|v_thr1Thread1of3ForFork1_#in~arg#1.offset_1|, thr1Thread1of3ForFork1_#in~arg#1.base=|v_thr1Thread1of3ForFork1_#in~arg#1.base_1|} OutVars{thr1Thread1of3ForFork1_~arg#1.base=|v_thr1Thread1of3ForFork1_~arg#1.base_1|, thr1Thread1of3ForFork1_#in~arg#1.offset=|v_thr1Thread1of3ForFork1_#in~arg#1.offset_1|, thr1Thread1of3ForFork1_~arg#1.offset=|v_thr1Thread1of3ForFork1_~arg#1.offset_1|, thr1Thread1of3ForFork1_#in~arg#1.base=|v_thr1Thread1of3ForFork1_#in~arg#1.base_1|} AuxVars[] AssignedVars[thr1Thread1of3ForFork1_~arg#1.base, thr1Thread1of3ForFork1_~arg#1.offset] {86009#(< ~a~0 ~c~0)} is VALID [2022-02-20 20:12:20,271 INFO L290 TraceCheckUtils]: 21: Hoare triple {86009#(< ~a~0 ~c~0)} [551] L727-2-->thr1ENTRY: Formula: (and (= v_thr1Thread1of3ForFork1_thidvar0_2 |v_ULTIMATE.start_main_#t~pre3#1_12|) (= v_thr1Thread1of3ForFork1_thidvar1_2 0) (= |v_thr1Thread1of3ForFork1_#in~arg#1.base_4| 0) (= |v_thr1Thread1of3ForFork1_#in~arg#1.offset_4| 0)) InVars {ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_12|} OutVars{thr1Thread1of3ForFork1_~arg#1.base=|v_thr1Thread1of3ForFork1_~arg#1.base_4|, thr1Thread1of3ForFork1_#in~arg#1.offset=|v_thr1Thread1of3ForFork1_#in~arg#1.offset_4|, thr1Thread1of3ForFork1_#res#1.base=|v_thr1Thread1of3ForFork1_#res#1.base_4|, thr1Thread1of3ForFork1_thidvar0=v_thr1Thread1of3ForFork1_thidvar0_2, thr1Thread1of3ForFork1_assume_abort_if_not_~cond#1=|v_thr1Thread1of3ForFork1_assume_abort_if_not_~cond#1_6|, thr1Thread1of3ForFork1_#in~arg#1.base=|v_thr1Thread1of3ForFork1_#in~arg#1.base_4|, thr1Thread1of3ForFork1_#res#1.offset=|v_thr1Thread1of3ForFork1_#res#1.offset_4|, thr1Thread1of3ForFork1_thidvar1=v_thr1Thread1of3ForFork1_thidvar1_2, thr1Thread1of3ForFork1_assume_abort_if_not_#in~cond#1=|v_thr1Thread1of3ForFork1_assume_abort_if_not_#in~cond#1_6|, thr1Thread1of3ForFork1_~arg#1.offset=|v_thr1Thread1of3ForFork1_~arg#1.offset_4|, ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_12|} AuxVars[] AssignedVars[thr1Thread1of3ForFork1_~arg#1.base, thr1Thread1of3ForFork1_#in~arg#1.offset, thr1Thread1of3ForFork1_#res#1.base, thr1Thread1of3ForFork1_thidvar0, thr1Thread1of3ForFork1_assume_abort_if_not_~cond#1, thr1Thread1of3ForFork1_#in~arg#1.base, thr1Thread1of3ForFork1_#res#1.offset, thr1Thread1of3ForFork1_thidvar1, thr1Thread1of3ForFork1_assume_abort_if_not_#in~cond#1, thr1Thread1of3ForFork1_~arg#1.offset] {86009#(< ~a~0 ~c~0)} is VALID [2022-02-20 20:12:20,271 INFO L290 TraceCheckUtils]: 20: Hoare triple {86009#(< ~a~0 ~c~0)} [410] L727-1-->L727-2: Formula: (= (store |v_#memory_int_2| |v_ULTIMATE.start_main_~#t~0#1.base_1| (store (select |v_#memory_int_2| |v_ULTIMATE.start_main_~#t~0#1.base_1|) |v_ULTIMATE.start_main_~#t~0#1.offset_1| |v_ULTIMATE.start_main_#t~pre3#1_1|)) |v_#memory_int_1|) InVars {#memory_int=|v_#memory_int_2|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_1|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_1|, ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_1|} OutVars{#memory_int=|v_#memory_int_1|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_1|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_1|, ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_1|} AuxVars[] AssignedVars[#memory_int] {86009#(< ~a~0 ~c~0)} is VALID [2022-02-20 20:12:20,271 INFO L290 TraceCheckUtils]: 19: Hoare triple {86009#(< ~a~0 ~c~0)} [423] L727-->L727-1: Formula: (= (+ 1 |v_#pthreadsForks_2|) |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_2|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|} AuxVars[] AssignedVars[#pthreadsForks] {86009#(< ~a~0 ~c~0)} is VALID [2022-02-20 20:12:20,273 INFO L290 TraceCheckUtils]: 18: Hoare triple {86009#(< ~a~0 ~c~0)} [422] L726-1-->L727: Formula: (= |v_ULTIMATE.start_main_#t~pre3#1_4| |v_#pthreadsForks_6|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_6|, ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre3#1] {86009#(< ~a~0 ~c~0)} is VALID [2022-02-20 20:12:20,273 INFO L290 TraceCheckUtils]: 17: Hoare triple {86009#(< ~a~0 ~c~0)} [431] L726-->L726-1: Formula: (and (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_6| 4) |v_#length_3|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_6| 0) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_6|) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#t~0#1.base_6|) 0) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_6| 0)) (= (store |v_#valid_7| |v_ULTIMATE.start_main_~#t~0#1.base_6| 1) |v_#valid_6|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_6|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_6|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] {86009#(< ~a~0 ~c~0)} is VALID [2022-02-20 20:12:20,273 INFO L290 TraceCheckUtils]: 16: Hoare triple {86009#(< ~a~0 ~c~0)} [447] L-1-6-->L726: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_4|, ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_5|, ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_2|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_5|, ULTIMATE.start_main_#t~pre3#1=|v_ULTIMATE.start_main_#t~pre3#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1, ULTIMATE.start_main_#t~nondet4#1, ULTIMATE.start_main_~#t~0#1.offset, ULTIMATE.start_main_#t~nondet6#1, ULTIMATE.start_main_~#t~0#1.base, ULTIMATE.start_main_#t~pre3#1] {86009#(< ~a~0 ~c~0)} is VALID [2022-02-20 20:12:20,274 INFO L290 TraceCheckUtils]: 15: Hoare triple {86009#(< ~a~0 ~c~0)} [424] L-1-5-->L-1-6: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {86009#(< ~a~0 ~c~0)} is VALID [2022-02-20 20:12:20,278 INFO L290 TraceCheckUtils]: 14: Hoare triple {86009#(< ~a~0 ~c~0)} [448] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {86009#(< ~a~0 ~c~0)} is VALID [2022-02-20 20:12:20,279 INFO L290 TraceCheckUtils]: 13: Hoare triple {86009#(< ~a~0 ~c~0)} [467] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {86009#(< ~a~0 ~c~0)} is VALID [2022-02-20 20:12:20,280 INFO L290 TraceCheckUtils]: 12: Hoare triple {86009#(< ~a~0 ~c~0)} [438] L692-->L-1-3: Formula: (= v_~mutex~0_9 0) InVars {} OutVars{~mutex~0=v_~mutex~0_9} AuxVars[] AssignedVars[~mutex~0] {86009#(< ~a~0 ~c~0)} is VALID [2022-02-20 20:12:20,281 INFO L290 TraceCheckUtils]: 11: Hoare triple {86009#(< ~a~0 ~c~0)} [439] L691-->L692: Formula: (= v_~temp~0_3 0) InVars {} OutVars{~temp~0=v_~temp~0_3} AuxVars[] AssignedVars[~temp~0] {86009#(< ~a~0 ~c~0)} is VALID [2022-02-20 20:12:20,283 INFO L290 TraceCheckUtils]: 10: Hoare triple {86082#(< ~a~0 3)} [458] L690-->L691: Formula: (= 3 v_~c~0_3) InVars {} OutVars{~c~0=v_~c~0_3} AuxVars[] AssignedVars[~c~0] {86009#(< ~a~0 ~c~0)} is VALID [2022-02-20 20:12:20,283 INFO L290 TraceCheckUtils]: 9: Hoare triple {86082#(< ~a~0 3)} [419] L689-->L690: Formula: (= 2 v_~b~0_5) InVars {} OutVars{~b~0=v_~b~0_5} AuxVars[] AssignedVars[~b~0] {86082#(< ~a~0 3)} is VALID [2022-02-20 20:12:20,283 INFO L290 TraceCheckUtils]: 8: Hoare triple {85799#true} [451] L16-4-->L689: Formula: (= v_~a~0_5 1) InVars {} OutVars{~a~0=v_~a~0_5} AuxVars[] AssignedVars[~a~0] {86082#(< ~a~0 3)} is VALID [2022-02-20 20:12:20,283 INFO L290 TraceCheckUtils]: 7: Hoare triple {85799#true} [449] L16-3-->L16-4: Formula: (and (= (select |v_#valid_5| 2) 1) (= 21 (select |v_#length_2| 2))) InVars {#length=|v_#length_2|, #valid=|v_#valid_5|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_5|} AuxVars[] AssignedVars[] {85799#true} is VALID [2022-02-20 20:12:20,283 INFO L290 TraceCheckUtils]: 6: Hoare triple {85799#true} [468] L16-2-->L16-3: Formula: (= (select (select |v_#memory_int_6| 1) 1) 0) InVars {#memory_int=|v_#memory_int_6|} OutVars{#memory_int=|v_#memory_int_6|} AuxVars[] AssignedVars[] {85799#true} is VALID [2022-02-20 20:12:20,284 INFO L290 TraceCheckUtils]: 5: Hoare triple {85799#true} [408] L16-1-->L16-2: Formula: (= (select (select |v_#memory_int_5| 1) 0) 48) InVars {#memory_int=|v_#memory_int_5|} OutVars{#memory_int=|v_#memory_int_5|} AuxVars[] AssignedVars[] {85799#true} is VALID [2022-02-20 20:12:20,284 INFO L290 TraceCheckUtils]: 4: Hoare triple {85799#true} [436] L16-->L16-1: Formula: (and (= (select |v_#valid_4| 1) 1) (= 2 (select |v_#length_1| 1))) InVars {#length=|v_#length_1|, #valid=|v_#valid_4|} OutVars{#length=|v_#length_1|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[] {85799#true} is VALID [2022-02-20 20:12:20,284 INFO L290 TraceCheckUtils]: 3: Hoare triple {85799#true} [465] L-1-2-->L16: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {85799#true} is VALID [2022-02-20 20:12:20,284 INFO L290 TraceCheckUtils]: 2: Hoare triple {85799#true} [461] L-1-1-->L-1-2: Formula: (= (select |v_#valid_3| 0) 0) InVars {#valid=|v_#valid_3|} OutVars{#valid=|v_#valid_3|} AuxVars[] AssignedVars[] {85799#true} is VALID [2022-02-20 20:12:20,284 INFO L290 TraceCheckUtils]: 1: Hoare triple {85799#true} [443] 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] {85799#true} is VALID [2022-02-20 20:12:20,284 INFO L290 TraceCheckUtils]: 0: Hoare triple {85799#true} [455] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {85799#true} is VALID [2022-02-20 20:12:20,284 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 20:12:20,284 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [74565895] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 20:12:20,284 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 20:12:20,284 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9, 9] total 23 [2022-02-20 20:12:20,285 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1858955601] [2022-02-20 20:12:20,285 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 20:12:20,285 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 23 states have (on average 5.608695652173913) internal successors, (129), 23 states have internal predecessors, (129), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 49 [2022-02-20 20:12:20,285 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 20:12:20,285 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 23 states, 23 states have (on average 5.608695652173913) internal successors, (129), 23 states have internal predecessors, (129), 0 states have call successors, (0), 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:12:20,362 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 129 edges. 129 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 20:12:20,362 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2022-02-20 20:12:20,362 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 20:12:20,362 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-02-20 20:12:20,362 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=65, Invalid=441, Unknown=0, NotChecked=0, Total=506 [2022-02-20 20:12:20,363 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 59 out of 119 [2022-02-20 20:12:20,364 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 86 places, 84 transitions, 336 flow. Second operand has 23 states, 23 states have (on average 61.608695652173914) internal successors, (1417), 23 states have internal predecessors, (1417), 0 states have call successors, (0), 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:12:20,364 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 20:12:20,364 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 59 of 119 [2022-02-20 20:12:20,364 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand