./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/weaver/test-easy11.wvr.c --full-output -ea --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 03d7b7b3 Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -ea -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/weaver/test-easy11.wvr.c -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash a686a41ee4cc6bbffea13719827ccaf379a83824b0020cd9f2e7eecebabb9242 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 20:58:09,676 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 20:58:09,677 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 20:58:09,696 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 20:58:09,696 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 20:58:09,697 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 20:58:09,698 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 20:58:09,699 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 20:58:09,700 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 20:58:09,701 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 20:58:09,702 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 20:58:09,703 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 20:58:09,703 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 20:58:09,704 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 20:58:09,704 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 20:58:09,705 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 20:58:09,706 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 20:58:09,706 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 20:58:09,708 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 20:58:09,709 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 20:58:09,710 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 20:58:09,711 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 20:58:09,711 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 20:58:09,712 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 20:58:09,714 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 20:58:09,714 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 20:58:09,714 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 20:58:09,715 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 20:58:09,715 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 20:58:09,716 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 20:58:09,716 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 20:58:09,717 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 20:58:09,717 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 20:58:09,718 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 20:58:09,718 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 20:58:09,719 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 20:58:09,719 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 20:58:09,719 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 20:58:09,720 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 20:58:09,720 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 20:58:09,721 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 20:58:09,722 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:58:09,735 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 20:58:09,735 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 20:58:09,736 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 20:58:09,736 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 20:58:09,736 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 20:58:09,736 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 20:58:09,737 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 20:58:09,737 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 20:58:09,737 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 20:58:09,737 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 20:58:09,738 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 20:58:09,738 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 20:58:09,738 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 20:58:09,738 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 20:58:09,738 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 20:58:09,739 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 20:58:09,739 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 20:58:09,739 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 20:58:09,739 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 20:58:09,739 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 20:58:09,739 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 20:58:09,740 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 20:58:09,740 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 20:58:09,740 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 20:58:09,740 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 20:58:09,740 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 20:58:09,741 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 20:58:09,741 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 20:58:09,741 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 20:58:09,741 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 20:58:09,741 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 20:58:09,741 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 20:58:09,742 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 20:58:09,742 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 -> a686a41ee4cc6bbffea13719827ccaf379a83824b0020cd9f2e7eecebabb9242 [2022-02-20 20:58:09,919 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 20:58:09,933 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 20:58:09,934 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 20:58:09,935 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 20:58:09,935 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 20:58:09,936 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/weaver/test-easy11.wvr.c [2022-02-20 20:58:09,982 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/eb1b372d0/1037f011305249ed8619251bde14e011/FLAG4c5dc223b [2022-02-20 20:58:10,365 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 20:58:10,366 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/weaver/test-easy11.wvr.c [2022-02-20 20:58:10,371 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/eb1b372d0/1037f011305249ed8619251bde14e011/FLAG4c5dc223b [2022-02-20 20:58:10,380 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/eb1b372d0/1037f011305249ed8619251bde14e011 [2022-02-20 20:58:10,382 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 20:58:10,383 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 20:58:10,384 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 20:58:10,384 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 20:58:10,387 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 20:58:10,388 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 08:58:10" (1/1) ... [2022-02-20 20:58:10,391 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@285fc910 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:58:10, skipping insertion in model container [2022-02-20 20:58:10,391 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 08:58:10" (1/1) ... [2022-02-20 20:58:10,397 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 20:58:10,408 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 20:58:10,531 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/weaver/test-easy11.wvr.c[2005,2018] [2022-02-20 20:58:10,533 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 20:58:10,538 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 20:58:10,559 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/weaver/test-easy11.wvr.c[2005,2018] [2022-02-20 20:58:10,560 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 20:58:10,569 INFO L208 MainTranslator]: Completed translation [2022-02-20 20:58:10,569 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:58:10 WrapperNode [2022-02-20 20:58:10,569 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 20:58:10,570 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 20:58:10,570 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 20:58:10,571 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 20:58:10,578 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:58:10" (1/1) ... [2022-02-20 20:58:10,582 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:58:10" (1/1) ... [2022-02-20 20:58:10,594 INFO L137 Inliner]: procedures = 21, calls = 24, calls flagged for inlining = 4, calls inlined = 4, statements flattened = 53 [2022-02-20 20:58:10,594 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 20:58:10,595 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 20:58:10,595 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 20:58:10,595 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 20:58:10,599 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:58:10" (1/1) ... [2022-02-20 20:58:10,599 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:58:10" (1/1) ... [2022-02-20 20:58:10,600 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:58:10" (1/1) ... [2022-02-20 20:58:10,601 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:58:10" (1/1) ... [2022-02-20 20:58:10,604 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:58:10" (1/1) ... [2022-02-20 20:58:10,614 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:58:10" (1/1) ... [2022-02-20 20:58:10,614 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:58:10" (1/1) ... [2022-02-20 20:58:10,616 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 20:58:10,616 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 20:58:10,616 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 20:58:10,616 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 20:58:10,621 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:58:10" (1/1) ... [2022-02-20 20:58:10,626 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 20:58:10,633 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 20:58:10,656 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:58:10,662 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:58:10,683 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 20:58:10,683 INFO L130 BoogieDeclarations]: Found specification of procedure thread1 [2022-02-20 20:58:10,683 INFO L138 BoogieDeclarations]: Found implementation of procedure thread1 [2022-02-20 20:58:10,683 INFO L130 BoogieDeclarations]: Found specification of procedure thread2 [2022-02-20 20:58:10,684 INFO L138 BoogieDeclarations]: Found implementation of procedure thread2 [2022-02-20 20:58:10,684 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 20:58:10,684 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-02-20 20:58:10,684 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-02-20 20:58:10,684 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2022-02-20 20:58:10,684 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2022-02-20 20:58:10,684 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 20:58:10,684 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 20:58:10,685 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-02-20 20:58:10,685 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 20:58:10,686 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:58:10,743 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 20:58:10,744 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 20:58:10,896 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 20:58:10,901 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 20:58:10,901 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-02-20 20:58:10,903 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 08:58:10 BoogieIcfgContainer [2022-02-20 20:58:10,903 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 20:58:10,904 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 20:58:10,904 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 20:58:10,906 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 20:58:10,907 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 08:58:10" (1/3) ... [2022-02-20 20:58:10,907 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6a662565 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 08:58:10, skipping insertion in model container [2022-02-20 20:58:10,907 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:58:10" (2/3) ... [2022-02-20 20:58:10,908 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6a662565 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 08:58:10, skipping insertion in model container [2022-02-20 20:58:10,908 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 08:58:10" (3/3) ... [2022-02-20 20:58:10,909 INFO L111 eAbstractionObserver]: Analyzing ICFG test-easy11.wvr.c [2022-02-20 20:58:10,912 WARN L150 ceAbstractionStarter]: Switching off computation of Hoare annotation because input is a concurrent program [2022-02-20 20:58:10,912 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 20:58:10,912 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 20:58:10,912 INFO L534 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2022-02-20 20:58:10,947 WARN L322 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork1_~x~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:10,947 WARN L322 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork1_~x~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:10,948 WARN L322 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork1_~x~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:10,948 WARN L322 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork1_~x~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:10,948 WARN L322 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork1_~x~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:10,950 WARN L322 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork1_~x~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:10,951 WARN L322 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork1_~x~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:10,952 WARN L322 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork1_~x~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:10,953 WARN L322 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork1_~x~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:10,954 WARN L322 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork1_~x~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:10,954 WARN L322 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork1_~x~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:10,954 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork1_#t~post1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:10,954 WARN L322 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork1_~x~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:10,955 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork1_#t~post1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:10,955 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork1_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:10,955 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork1_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:10,955 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork1_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:10,956 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork1_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:10,956 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork1_#t~post1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:10,956 WARN L322 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork1_~x~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:10,956 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork1_#t~post1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:10,957 WARN L322 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork1_~x~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:10,957 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork1_#t~post1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:10,957 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork1_#t~post1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:10,958 WARN L322 ript$VariableManager]: TermVariabe thread2Thread1of1ForFork0_~x~1 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:10,958 WARN L322 ript$VariableManager]: TermVariabe thread2Thread1of1ForFork0_~x~1 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:10,958 WARN L322 ript$VariableManager]: TermVariabe thread2Thread1of1ForFork0_~x~1 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:10,958 WARN L322 ript$VariableManager]: TermVariabe thread2Thread1of1ForFork0_~x~1 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:10,959 WARN L322 ript$VariableManager]: TermVariabe thread2Thread1of1ForFork0_~x~1 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:10,960 WARN L322 ript$VariableManager]: TermVariabe thread2Thread1of1ForFork0_~x~1 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:10,961 WARN L322 ript$VariableManager]: TermVariabe thread2Thread1of1ForFork0_~x~1 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:10,962 WARN L322 ript$VariableManager]: TermVariabe thread2Thread1of1ForFork0_~x~1 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:10,963 WARN L322 ript$VariableManager]: TermVariabe thread2Thread1of1ForFork0_~x~1 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:10,964 WARN L322 ript$VariableManager]: TermVariabe thread2Thread1of1ForFork0_~x~1 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:10,964 WARN L322 ript$VariableManager]: TermVariabe thread2Thread1of1ForFork0_~x~1 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:10,964 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork0_#t~post2| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:10,965 WARN L322 ript$VariableManager]: TermVariabe thread2Thread1of1ForFork0_~x~1 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:10,965 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork0_#t~post2| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:10,965 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:10,965 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:10,965 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:10,966 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:10,966 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork0_#t~post2| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:10,966 WARN L322 ript$VariableManager]: TermVariabe thread2Thread1of1ForFork0_~x~1 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:10,966 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork0_#t~post2| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:10,967 WARN L322 ript$VariableManager]: TermVariabe thread2Thread1of1ForFork0_~x~1 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:10,967 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork0_#t~post2| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:10,967 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork0_#t~post2| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:10,974 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:10,974 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:10,976 WARN L322 ript$VariableManager]: TermVariabe thread2Thread1of1ForFork0_~x~1 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:10,976 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork0_#t~post2| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:10,978 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork1_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:10,978 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork1_#t~post1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:10,979 WARN L322 ript$VariableManager]: TermVariabe thread1Thread1of1ForFork1_~x~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:10,979 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork1_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:10,988 INFO L148 ThreadInstanceAdder]: Constructed 2 joinOtherThreadTransitions. [2022-02-20 20:58:11,018 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 20:58:11,022 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:58:11,022 INFO L340 AbstractCegarLoop]: Starting to check reachability of 3 error locations. [2022-02-20 20:58:11,064 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 88 places, 87 transitions, 190 flow [2022-02-20 20:58:11,130 INFO L129 PetriNetUnfolder]: 6/85 cut-off events. [2022-02-20 20:58:11,134 INFO L130 PetriNetUnfolder]: For 2/2 co-relation queries the response was YES. [2022-02-20 20:58:11,137 INFO L84 FinitePrefix]: Finished finitePrefix Result has 94 conditions, 85 events. 6/85 cut-off events. For 2/2 co-relation queries the response was YES. Maximal size of possible extension queue 3. Compared 53 event pairs, 0 based on Foata normal form. 0/78 useless extension candidates. Maximal degree in co-relation 49. Up to 2 conditions per place. [2022-02-20 20:58:11,137 INFO L82 GeneralOperation]: Start removeDead. Operand has 88 places, 87 transitions, 190 flow [2022-02-20 20:58:11,146 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 77 places, 76 transitions, 164 flow [2022-02-20 20:58:11,162 INFO L129 PetriNetUnfolder]: 6/75 cut-off events. [2022-02-20 20:58:11,162 INFO L130 PetriNetUnfolder]: For 2/2 co-relation queries the response was YES. [2022-02-20 20:58:11,162 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:58:11,163 INFO L254 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 20:58:11,163 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION] === [2022-02-20 20:58:11,167 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:58:11,167 INFO L85 PathProgramCache]: Analyzing trace with hash -384738625, now seen corresponding path program 1 times [2022-02-20 20:58:11,173 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:58:11,173 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2119564761] [2022-02-20 20:58:11,173 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:58:11,174 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:58:11,279 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:58:11,343 INFO L290 TraceCheckUtils]: 0: Hoare triple {91#true} [178] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {91#true} is VALID [2022-02-20 20:58:11,343 INFO L290 TraceCheckUtils]: 1: Hoare triple {91#true} [155] 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] {91#true} is VALID [2022-02-20 20:58:11,344 INFO L290 TraceCheckUtils]: 2: Hoare triple {91#true} [184] L-1-1-->L-1-2: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] {91#true} is VALID [2022-02-20 20:58:11,344 INFO L290 TraceCheckUtils]: 3: Hoare triple {91#true} [185] L-1-2-->L21: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {91#true} is VALID [2022-02-20 20:58:11,347 INFO L290 TraceCheckUtils]: 4: Hoare triple {91#true} [146] L21-->L21-1: Formula: (and (= (select |v_#valid_2| 1) 1) (= 2 (select |v_#length_1| 1))) InVars {#length=|v_#length_1|, #valid=|v_#valid_2|} OutVars{#length=|v_#length_1|, #valid=|v_#valid_2|} AuxVars[] AssignedVars[] {91#true} is VALID [2022-02-20 20:58:11,347 INFO L290 TraceCheckUtils]: 5: Hoare triple {91#true} [173] L21-1-->L21-2: Formula: (= 48 (select (select |v_#memory_int_1| 1) 0)) InVars {#memory_int=|v_#memory_int_1|} OutVars{#memory_int=|v_#memory_int_1|} AuxVars[] AssignedVars[] {91#true} is VALID [2022-02-20 20:58:11,348 INFO L290 TraceCheckUtils]: 6: Hoare triple {91#true} [169] L21-2-->L21-3: Formula: (= (select (select |v_#memory_int_2| 1) 1) 0) InVars {#memory_int=|v_#memory_int_2|} OutVars{#memory_int=|v_#memory_int_2|} AuxVars[] AssignedVars[] {91#true} is VALID [2022-02-20 20:58:11,348 INFO L290 TraceCheckUtils]: 7: Hoare triple {91#true} [129] L21-3-->L21-4: Formula: (and (= 18 (select |v_#length_2| 2)) (= (select |v_#valid_3| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {91#true} is VALID [2022-02-20 20:58:11,348 INFO L290 TraceCheckUtils]: 8: Hoare triple {91#true} [192] L21-4-->L38: Formula: (= v_~X~0_3 0) InVars {} OutVars{~X~0=v_~X~0_3} AuxVars[] AssignedVars[~X~0] {91#true} is VALID [2022-02-20 20:58:11,350 INFO L290 TraceCheckUtils]: 9: Hoare triple {91#true} [193] L38-->L-1-3: Formula: (= v_~Y~0_5 0) InVars {} OutVars{~Y~0=v_~Y~0_5} AuxVars[] AssignedVars[~Y~0] {91#true} is VALID [2022-02-20 20:58:11,350 INFO L290 TraceCheckUtils]: 10: Hoare triple {91#true} [188] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {91#true} is VALID [2022-02-20 20:58:11,350 INFO L290 TraceCheckUtils]: 11: Hoare triple {91#true} [166] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {91#true} is VALID [2022-02-20 20:58:11,351 INFO L290 TraceCheckUtils]: 12: Hoare triple {91#true} [126] L-1-5-->L-1-6: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {91#true} is VALID [2022-02-20 20:58:11,355 INFO L290 TraceCheckUtils]: 13: Hoare triple {91#true} [163] L-1-6-->L67: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_#t~mem8#1=|v_ULTIMATE.start_main_#t~mem8#1_1|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_1|, ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_1|, ULTIMATE.start_main_#t~nondet7#1=|v_ULTIMATE.start_main_#t~nondet7#1_1|, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_1|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_1|, ULTIMATE.start_main_#t~pre4#1=|v_ULTIMATE.start_main_#t~pre4#1_1|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_1|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_#t~mem8#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_#t~nondet5#1, ULTIMATE.start_main_#t~nondet7#1, ULTIMATE.start_main_#t~mem9#1, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_#t~pre4#1, ULTIMATE.start_main_~#t1~0#1.offset, ULTIMATE.start_main_~#t2~0#1.base] {91#true} is VALID [2022-02-20 20:58:11,355 INFO L290 TraceCheckUtils]: 14: Hoare triple {91#true} [177] L67-->L67-1: Formula: (and (= |v_ULTIMATE.start_main_~#t1~0#1.offset_2| 0) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) 0) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 4)) (not (= |v_ULTIMATE.start_main_~#t1~0#1.base_2| 0)) (= (store |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 1) |v_#valid_4|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_2|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[#valid, #length, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset] {91#true} is VALID [2022-02-20 20:58:11,355 INFO L290 TraceCheckUtils]: 15: Hoare triple {91#true} [140] L67-1-->L67-2: Formula: (and (= |v_#length_5| (store |v_#length_6| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 4)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2|) 0) (= (store |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 1) |v_#valid_6|) (not (= |v_ULTIMATE.start_main_~#t2~0#1.base_2| 0)) (= 0 |v_ULTIMATE.start_main_~#t2~0#1.offset_2|) (< |v_#StackHeapBarrier_3| |v_ULTIMATE.start_main_~#t2~0#1.base_2|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_7|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_5|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_2|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t2~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t2~0#1.base] {91#true} is VALID [2022-02-20 20:58:11,357 INFO L290 TraceCheckUtils]: 16: Hoare triple {91#true} [124] L67-2-->L69: Formula: (and (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet3#1_2| 2147483648)) (<= |v_ULTIMATE.start_main_#t~nondet3#1_2| 2147483647)) InVars {ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[] {91#true} is VALID [2022-02-20 20:58:11,357 INFO L290 TraceCheckUtils]: 17: Hoare triple {91#true} [125] L69-->L69-1: Formula: (= |v_ULTIMATE.start_main_#t~nondet3#1_3| v_~X~0_4) InVars {ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_3|} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_3|, ~X~0=v_~X~0_4} AuxVars[] AssignedVars[~X~0] {91#true} is VALID [2022-02-20 20:58:11,357 INFO L290 TraceCheckUtils]: 18: Hoare triple {91#true} [186] L69-1-->L70: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] {91#true} is VALID [2022-02-20 20:58:11,357 INFO L290 TraceCheckUtils]: 19: Hoare triple {91#true} [194] L70-->L70-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {91#true} is VALID [2022-02-20 20:58:11,357 INFO L290 TraceCheckUtils]: 20: Hoare triple {91#true} [143] L70-1-->L70-2: Formula: (= (ite (<= v_~X~0_5 10000) 1 0) |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1|) InVars {~X~0=v_~X~0_5} OutVars{~X~0=v_~X~0_5, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] {91#true} is VALID [2022-02-20 20:58:11,358 INFO L290 TraceCheckUtils]: 21: Hoare triple {91#true} [142] L70-2-->L34: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {91#true} is VALID [2022-02-20 20:58:11,358 INFO L290 TraceCheckUtils]: 22: Hoare triple {91#true} [144] L34-->L35: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_2|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_2|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {91#true} is VALID [2022-02-20 20:58:11,358 INFO L290 TraceCheckUtils]: 23: Hoare triple {91#true} [175] L35-->L34-1: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_4| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_4|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_4|} AuxVars[] AssignedVars[] {91#true} is VALID [2022-02-20 20:58:11,359 INFO L290 TraceCheckUtils]: 24: Hoare triple {91#true} [167] L34-1-->L73: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {91#true} is VALID [2022-02-20 20:58:11,359 INFO L290 TraceCheckUtils]: 25: Hoare triple {91#true} [150] L73-->L73-1: Formula: (= |v_ULTIMATE.start_main_#t~pre4#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre4#1=|v_ULTIMATE.start_main_#t~pre4#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre4#1] {91#true} is VALID [2022-02-20 20:58:11,359 INFO L290 TraceCheckUtils]: 26: Hoare triple {91#true} [165] L73-1-->L73-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {91#true} is VALID [2022-02-20 20:58:11,360 INFO L290 TraceCheckUtils]: 27: Hoare triple {91#true} [151] L73-2-->L73-3: Formula: (= (store |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3| (store (select |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3|) |v_ULTIMATE.start_main_~#t1~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre4#1_3|)) |v_#memory_int_3|) InVars {#memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_#t~pre4#1=|v_ULTIMATE.start_main_#t~pre4#1_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} OutVars{#memory_int=|v_#memory_int_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_#t~pre4#1=|v_ULTIMATE.start_main_#t~pre4#1_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} AuxVars[] AssignedVars[#memory_int] {91#true} is VALID [2022-02-20 20:58:11,360 INFO L290 TraceCheckUtils]: 28: Hoare triple {91#true} [223] L73-3-->thread1ENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre4#1_6| v_thread1Thread1of1ForFork1_thidvar0_2) (= 0 v_thread1Thread1of1ForFork1_thidvar1_2)) InVars {ULTIMATE.start_main_#t~pre4#1=|v_ULTIMATE.start_main_#t~pre4#1_6|} OutVars{thread1Thread1of1ForFork1_#res.base=|v_thread1Thread1of1ForFork1_#res.base_4|, thread1Thread1of1ForFork1_#t~post1=|v_thread1Thread1of1ForFork1_#t~post1_8|, thread1Thread1of1ForFork1_~x~0=v_thread1Thread1of1ForFork1_~x~0_16, thread1Thread1of1ForFork1_#res.offset=|v_thread1Thread1of1ForFork1_#res.offset_4|, thread1Thread1of1ForFork1_thidvar1=v_thread1Thread1of1ForFork1_thidvar1_2, ULTIMATE.start_main_#t~pre4#1=|v_ULTIMATE.start_main_#t~pre4#1_6|, thread1Thread1of1ForFork1_thidvar0=v_thread1Thread1of1ForFork1_thidvar0_2} AuxVars[] AssignedVars[thread1Thread1of1ForFork1_#res.base, thread1Thread1of1ForFork1_#t~post1, thread1Thread1of1ForFork1_~x~0, thread1Thread1of1ForFork1_#res.offset, thread1Thread1of1ForFork1_thidvar1, thread1Thread1of1ForFork1_thidvar0] {91#true} is VALID [2022-02-20 20:58:11,361 INFO L290 TraceCheckUtils]: 29: Hoare triple {91#true} [153] L73-4-->L73-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre4#1=|v_ULTIMATE.start_main_#t~pre4#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre4#1] {91#true} is VALID [2022-02-20 20:58:11,361 INFO L290 TraceCheckUtils]: 30: Hoare triple {91#true} [152] L73-5-->L74: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet5#1] {91#true} is VALID [2022-02-20 20:58:11,361 INFO L290 TraceCheckUtils]: 31: Hoare triple {91#true} [116] L74-->L74-1: Formula: (= |v_ULTIMATE.start_main_#t~pre6#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1] {91#true} is VALID [2022-02-20 20:58:11,361 INFO L290 TraceCheckUtils]: 32: Hoare triple {91#true} [147] L74-1-->L74-2: Formula: (= (+ 1 |v_#pthreadsForks_6|) |v_#pthreadsForks_5|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_5|} AuxVars[] AssignedVars[#pthreadsForks] {91#true} is VALID [2022-02-20 20:58:11,361 INFO L290 TraceCheckUtils]: 33: Hoare triple {91#true} [156] L74-2-->L74-3: Formula: (= (store |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3| (store (select |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3|) |v_ULTIMATE.start_main_~#t2~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre6#1_3|)) |v_#memory_int_5|) InVars {#memory_int=|v_#memory_int_6|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} OutVars{#memory_int=|v_#memory_int_5|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} AuxVars[] AssignedVars[#memory_int] {91#true} is VALID [2022-02-20 20:58:11,362 INFO L290 TraceCheckUtils]: 34: Hoare triple {91#true} [221] L74-3-->thread2ENTRY: Formula: (and (= v_thread2Thread1of1ForFork0_thidvar2_2 0) (= v_thread2Thread1of1ForFork0_thidvar1_2 0) (= |v_ULTIMATE.start_main_#t~pre6#1_6| v_thread2Thread1of1ForFork0_thidvar0_2)) InVars {ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_6|} OutVars{thread2Thread1of1ForFork0_#res.offset=|v_thread2Thread1of1ForFork0_#res.offset_4|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_6|, thread2Thread1of1ForFork0_#res.base=|v_thread2Thread1of1ForFork0_#res.base_4|, thread2Thread1of1ForFork0_thidvar2=v_thread2Thread1of1ForFork0_thidvar2_2, thread2Thread1of1ForFork0_thidvar1=v_thread2Thread1of1ForFork0_thidvar1_2, thread2Thread1of1ForFork0_thidvar0=v_thread2Thread1of1ForFork0_thidvar0_2, thread2Thread1of1ForFork0_~x~1=v_thread2Thread1of1ForFork0_~x~1_16, thread2Thread1of1ForFork0_#t~post2=|v_thread2Thread1of1ForFork0_#t~post2_8|} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_#res.offset, thread2Thread1of1ForFork0_#res.base, thread2Thread1of1ForFork0_thidvar2, thread2Thread1of1ForFork0_thidvar1, thread2Thread1of1ForFork0_thidvar0, thread2Thread1of1ForFork0_~x~1, thread2Thread1of1ForFork0_#t~post2] {91#true} is VALID [2022-02-20 20:58:11,362 INFO L290 TraceCheckUtils]: 35: Hoare triple {91#true} [209] thread2ENTRY-->L55: Formula: true InVars {} OutVars{thread2Thread1of1ForFork0_~x~1=v_thread2Thread1of1ForFork0_~x~1_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_~x~1] {91#true} is VALID [2022-02-20 20:58:11,363 INFO L290 TraceCheckUtils]: 36: Hoare triple {91#true} [210] L55-->L56-2: Formula: (= v_thread2Thread1of1ForFork0_~x~1_3 v_~X~0_2) InVars {~X~0=v_~X~0_2} OutVars{~X~0=v_~X~0_2, thread2Thread1of1ForFork0_~x~1=v_thread2Thread1of1ForFork0_~x~1_3} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_~x~1] {91#true} is VALID [2022-02-20 20:58:11,364 INFO L290 TraceCheckUtils]: 37: Hoare triple {91#true} [211] L56-2-->L56-3: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {92#false} is VALID [2022-02-20 20:58:11,364 INFO L290 TraceCheckUtils]: 38: Hoare triple {92#false} [214] L56-3-->L61: Formula: (= (+ v_thread2Thread1of1ForFork0_~x~1_9 v_~Y~0_4) v_~Y~0_3) InVars {thread2Thread1of1ForFork0_~x~1=v_thread2Thread1of1ForFork0_~x~1_9, ~Y~0=v_~Y~0_4} OutVars{thread2Thread1of1ForFork0_~x~1=v_thread2Thread1of1ForFork0_~x~1_9, ~Y~0=v_~Y~0_3} AuxVars[] AssignedVars[~Y~0] {92#false} is VALID [2022-02-20 20:58:11,364 INFO L290 TraceCheckUtils]: 39: Hoare triple {92#false} [216] L61-->thread2FINAL: Formula: (and (= |v_thread2Thread1of1ForFork0_#res.base_1| 0) (= |v_thread2Thread1of1ForFork0_#res.offset_1| 0)) InVars {} OutVars{thread2Thread1of1ForFork0_#res.offset=|v_thread2Thread1of1ForFork0_#res.offset_1|, thread2Thread1of1ForFork0_#res.base=|v_thread2Thread1of1ForFork0_#res.base_1|} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_#res.offset, thread2Thread1of1ForFork0_#res.base] {92#false} is VALID [2022-02-20 20:58:11,365 INFO L290 TraceCheckUtils]: 40: Hoare triple {92#false} [218] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {92#false} is VALID [2022-02-20 20:58:11,365 INFO L290 TraceCheckUtils]: 41: Hoare triple {92#false} [198] thread1ENTRY-->L42: Formula: true InVars {} OutVars{thread1Thread1of1ForFork1_~x~0=v_thread1Thread1of1ForFork1_~x~0_1} AuxVars[] AssignedVars[thread1Thread1of1ForFork1_~x~0] {92#false} is VALID [2022-02-20 20:58:11,365 INFO L290 TraceCheckUtils]: 42: Hoare triple {92#false} [199] L42-->L43-2: Formula: (= v_thread1Thread1of1ForFork1_~x~0_3 v_~X~0_1) InVars {~X~0=v_~X~0_1} OutVars{~X~0=v_~X~0_1, thread1Thread1of1ForFork1_~x~0=v_thread1Thread1of1ForFork1_~x~0_3} AuxVars[] AssignedVars[thread1Thread1of1ForFork1_~x~0] {92#false} is VALID [2022-02-20 20:58:11,365 INFO L290 TraceCheckUtils]: 43: Hoare triple {92#false} [200] L43-2-->L43-3: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {92#false} is VALID [2022-02-20 20:58:11,365 INFO L290 TraceCheckUtils]: 44: Hoare triple {92#false} [203] L43-3-->L48: Formula: (= (+ v_thread1Thread1of1ForFork1_~x~0_9 v_~Y~0_2) v_~Y~0_1) InVars {~Y~0=v_~Y~0_2, thread1Thread1of1ForFork1_~x~0=v_thread1Thread1of1ForFork1_~x~0_9} OutVars{~Y~0=v_~Y~0_1, thread1Thread1of1ForFork1_~x~0=v_thread1Thread1of1ForFork1_~x~0_9} AuxVars[] AssignedVars[~Y~0] {92#false} is VALID [2022-02-20 20:58:11,366 INFO L290 TraceCheckUtils]: 45: Hoare triple {92#false} [205] L48-->thread1FINAL: Formula: (and (= |v_thread1Thread1of1ForFork1_#res.base_1| 0) (= |v_thread1Thread1of1ForFork1_#res.offset_1| 0)) InVars {} OutVars{thread1Thread1of1ForFork1_#res.offset=|v_thread1Thread1of1ForFork1_#res.offset_1|, thread1Thread1of1ForFork1_#res.base=|v_thread1Thread1of1ForFork1_#res.base_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork1_#res.base, thread1Thread1of1ForFork1_#res.offset] {92#false} is VALID [2022-02-20 20:58:11,366 INFO L290 TraceCheckUtils]: 46: Hoare triple {92#false} [207] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {92#false} is VALID [2022-02-20 20:58:11,366 INFO L290 TraceCheckUtils]: 47: Hoare triple {92#false} [120] L74-4-->L74-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1] {92#false} is VALID [2022-02-20 20:58:11,366 INFO L290 TraceCheckUtils]: 48: Hoare triple {92#false} [191] L74-5-->L75: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet7#1=|v_ULTIMATE.start_main_#t~nondet7#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet7#1] {92#false} is VALID [2022-02-20 20:58:11,366 INFO L290 TraceCheckUtils]: 49: Hoare triple {92#false} [187] L75-->L75-1: Formula: (= |v_ULTIMATE.start_main_#t~mem8#1_2| (select (select |v_#memory_int_7| |v_ULTIMATE.start_main_~#t1~0#1.base_4|) |v_ULTIMATE.start_main_~#t1~0#1.offset_4|)) InVars {#memory_int=|v_#memory_int_7|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_4|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_4|} OutVars{#memory_int=|v_#memory_int_7|, ULTIMATE.start_main_#t~mem8#1=|v_ULTIMATE.start_main_#t~mem8#1_2|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_4|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem8#1] {92#false} is VALID [2022-02-20 20:58:11,369 INFO L290 TraceCheckUtils]: 50: Hoare triple {92#false} [224] thread1EXIT-->L75-2: Formula: (and (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem8#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ .cse0 (- 4294967296)))) v_thread1Thread1of1ForFork1_thidvar0_4) (= 0 v_thread1Thread1of1ForFork1_thidvar1_4)) InVars {ULTIMATE.start_main_#t~mem8#1=|v_ULTIMATE.start_main_#t~mem8#1_5|, thread1Thread1of1ForFork1_thidvar1=v_thread1Thread1of1ForFork1_thidvar1_4, thread1Thread1of1ForFork1_thidvar0=v_thread1Thread1of1ForFork1_thidvar0_4} OutVars{ULTIMATE.start_main_#t~mem8#1=|v_ULTIMATE.start_main_#t~mem8#1_5|, thread1Thread1of1ForFork1_thidvar1=v_thread1Thread1of1ForFork1_thidvar1_4, thread1Thread1of1ForFork1_thidvar0=v_thread1Thread1of1ForFork1_thidvar0_4} AuxVars[] AssignedVars[] {92#false} is VALID [2022-02-20 20:58:11,369 INFO L290 TraceCheckUtils]: 51: Hoare triple {92#false} [172] L75-2-->L76: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem8#1=|v_ULTIMATE.start_main_#t~mem8#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem8#1] {92#false} is VALID [2022-02-20 20:58:11,369 INFO L290 TraceCheckUtils]: 52: Hoare triple {92#false} [195] L76-->L76-1: Formula: (= |v_ULTIMATE.start_main_#t~mem9#1_2| (select (select |v_#memory_int_8| |v_ULTIMATE.start_main_~#t2~0#1.base_4|) |v_ULTIMATE.start_main_~#t2~0#1.offset_4|)) InVars {#memory_int=|v_#memory_int_8|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_4|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} OutVars{#memory_int=|v_#memory_int_8|, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_2|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_4|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem9#1] {92#false} is VALID [2022-02-20 20:58:11,370 INFO L290 TraceCheckUtils]: 53: Hoare triple {92#false} [225] thread2EXIT-->L76-2: Formula: (and (= v_thread2Thread1of1ForFork0_thidvar2_4 0) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem9#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ (- 4294967296) .cse0))) v_thread2Thread1of1ForFork0_thidvar0_4) (= v_thread2Thread1of1ForFork0_thidvar1_4 0)) InVars {thread2Thread1of1ForFork0_thidvar2=v_thread2Thread1of1ForFork0_thidvar2_4, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_5|, thread2Thread1of1ForFork0_thidvar1=v_thread2Thread1of1ForFork0_thidvar1_4, thread2Thread1of1ForFork0_thidvar0=v_thread2Thread1of1ForFork0_thidvar0_4} OutVars{thread2Thread1of1ForFork0_thidvar2=v_thread2Thread1of1ForFork0_thidvar2_4, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_5|, thread2Thread1of1ForFork0_thidvar1=v_thread2Thread1of1ForFork0_thidvar1_4, thread2Thread1of1ForFork0_thidvar0=v_thread2Thread1of1ForFork0_thidvar0_4} AuxVars[] AssignedVars[] {92#false} is VALID [2022-02-20 20:58:11,370 INFO L290 TraceCheckUtils]: 54: Hoare triple {92#false} [181] L76-2-->L78: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem9#1] {92#false} is VALID [2022-02-20 20:58:11,371 INFO L290 TraceCheckUtils]: 55: Hoare triple {92#false} [135] L78-->L78-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {92#false} is VALID [2022-02-20 20:58:11,372 INFO L290 TraceCheckUtils]: 56: Hoare triple {92#false} [139] L78-1-->L78-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3| (ite (not (= 20000 v_~Y~0_6)) 1 0)) InVars {~Y~0=v_~Y~0_6} OutVars{~Y~0=v_~Y~0_6, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] {92#false} is VALID [2022-02-20 20:58:11,372 INFO L290 TraceCheckUtils]: 57: Hoare triple {92#false} [164] L78-2-->L34-2: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_5|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {92#false} is VALID [2022-02-20 20:58:11,372 INFO L290 TraceCheckUtils]: 58: Hoare triple {92#false} [158] L34-2-->L35-3: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {92#false} is VALID [2022-02-20 20:58:11,372 INFO L290 TraceCheckUtils]: 59: Hoare triple {92#false} [122] L35-3-->L34-3: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_8| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_8|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_8|} AuxVars[] AssignedVars[] {92#false} is VALID [2022-02-20 20:58:11,373 INFO L290 TraceCheckUtils]: 60: Hoare triple {92#false} [128] L34-3-->L79: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {92#false} is VALID [2022-02-20 20:58:11,373 INFO L290 TraceCheckUtils]: 61: Hoare triple {92#false} [179] L79-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {92#false} is VALID [2022-02-20 20:58:11,374 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:58:11,374 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 20:58:11,375 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2119564761] [2022-02-20 20:58:11,375 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2119564761] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 20:58:11,376 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 20:58:11,376 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 20:58:11,378 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1158344286] [2022-02-20 20:58:11,379 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 20:58:11,389 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 31.0) internal successors, (62), 2 states have internal predecessors, (62), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 62 [2022-02-20 20:58:11,392 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 20:58:11,394 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 2 states, 2 states have (on average 31.0) internal successors, (62), 2 states have internal predecessors, (62), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:58:11,462 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 20:58:11,462 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-02-20 20:58:11,462 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 20:58:11,486 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-02-20 20:58:11,487 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 20:58:11,489 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 78 out of 87 [2022-02-20 20:58:11,492 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 77 places, 76 transitions, 164 flow. Second operand has 2 states, 2 states have (on average 81.0) internal successors, (162), 2 states have internal predecessors, (162), 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:58:11,492 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 20:58:11,492 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 78 of 87 [2022-02-20 20:58:11,493 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 20:58:11,533 INFO L129 PetriNetUnfolder]: 2/72 cut-off events. [2022-02-20 20:58:11,533 INFO L130 PetriNetUnfolder]: For 8/8 co-relation queries the response was YES. [2022-02-20 20:58:11,534 INFO L84 FinitePrefix]: Finished finitePrefix Result has 86 conditions, 72 events. 2/72 cut-off events. For 8/8 co-relation queries the response was YES. Maximal size of possible extension queue 3. Compared 47 event pairs, 0 based on Foata normal form. 6/74 useless extension candidates. Maximal degree in co-relation 48. Up to 5 conditions per place. [2022-02-20 20:58:11,535 INFO L132 encePairwiseOnDemand]: 83/87 looper letters, 4 selfloop transitions, 0 changer transitions 2/72 dead transitions. [2022-02-20 20:58:11,535 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 78 places, 72 transitions, 164 flow [2022-02-20 20:58:11,535 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-02-20 20:58:11,537 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2022-02-20 20:58:11,556 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 164 transitions. [2022-02-20 20:58:11,557 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.9425287356321839 [2022-02-20 20:58:11,558 INFO L72 ComplementDD]: Start complementDD. Operand 2 states and 164 transitions. [2022-02-20 20:58:11,558 INFO L73 IsDeterministic]: Start isDeterministic. Operand 2 states and 164 transitions. [2022-02-20 20:58:11,559 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 20:58:11,560 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 2 states and 164 transitions. [2022-02-20 20:58:11,565 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 3 states, 2 states have (on average 82.0) internal successors, (164), 2 states have internal predecessors, (164), 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:58:11,567 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 3 states, 3 states have (on average 87.0) internal successors, (261), 3 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:58:11,568 INFO L81 ComplementDD]: Finished complementDD. Result has 3 states, 3 states have (on average 87.0) internal successors, (261), 3 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:58:11,569 INFO L186 Difference]: Start difference. First operand has 77 places, 76 transitions, 164 flow. Second operand 2 states and 164 transitions. [2022-02-20 20:58:11,569 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 78 places, 72 transitions, 164 flow [2022-02-20 20:58:11,574 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 74 places, 72 transitions, 156 flow, removed 0 selfloop flow, removed 4 redundant places. [2022-02-20 20:58:11,577 INFO L242 Difference]: Finished difference. Result has 74 places, 70 transitions, 144 flow [2022-02-20 20:58:11,578 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=87, PETRI_DIFFERENCE_MINUEND_FLOW=148, PETRI_DIFFERENCE_MINUEND_PLACES=73, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=72, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=0, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=72, PETRI_DIFFERENCE_SUBTRAHEND_STATES=2, PETRI_FLOW=144, PETRI_PLACES=74, PETRI_TRANSITIONS=70} [2022-02-20 20:58:11,582 INFO L334 CegarLoopForPetriNet]: 77 programPoint places, -3 predicate places. [2022-02-20 20:58:11,583 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 74 places, 70 transitions, 144 flow [2022-02-20 20:58:11,613 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 528 states, 527 states have (on average 2.5009487666034156) internal successors, (1318), 527 states have internal predecessors, (1318), 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:58:11,614 INFO L78 Accepts]: Start accepts. Automaton has has 528 states, 527 states have (on average 2.5009487666034156) internal successors, (1318), 527 states have internal predecessors, (1318), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 62 [2022-02-20 20:58:11,615 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 20:58:11,615 INFO L470 AbstractCegarLoop]: Abstraction has has 74 places, 70 transitions, 144 flow [2022-02-20 20:58:11,615 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 81.0) internal successors, (162), 2 states have internal predecessors, (162), 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:58:11,615 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:58:11,616 INFO L254 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 20:58:11,616 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 20:58:11,616 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION] === [2022-02-20 20:58:11,617 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:58:11,617 INFO L85 PathProgramCache]: Analyzing trace with hash 1457758209, now seen corresponding path program 1 times [2022-02-20 20:58:11,617 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:58:11,617 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [868602958] [2022-02-20 20:58:11,617 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:58:11,618 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:58:11,715 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:58:12,041 INFO L290 TraceCheckUtils]: 0: Hoare triple {623#true} [178] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {623#true} is VALID [2022-02-20 20:58:12,041 INFO L290 TraceCheckUtils]: 1: Hoare triple {623#true} [155] 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] {623#true} is VALID [2022-02-20 20:58:12,041 INFO L290 TraceCheckUtils]: 2: Hoare triple {623#true} [184] L-1-1-->L-1-2: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] {623#true} is VALID [2022-02-20 20:58:12,041 INFO L290 TraceCheckUtils]: 3: Hoare triple {623#true} [185] L-1-2-->L21: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {623#true} is VALID [2022-02-20 20:58:12,042 INFO L290 TraceCheckUtils]: 4: Hoare triple {623#true} [146] L21-->L21-1: Formula: (and (= (select |v_#valid_2| 1) 1) (= 2 (select |v_#length_1| 1))) InVars {#length=|v_#length_1|, #valid=|v_#valid_2|} OutVars{#length=|v_#length_1|, #valid=|v_#valid_2|} AuxVars[] AssignedVars[] {623#true} is VALID [2022-02-20 20:58:12,042 INFO L290 TraceCheckUtils]: 5: Hoare triple {623#true} [173] L21-1-->L21-2: Formula: (= 48 (select (select |v_#memory_int_1| 1) 0)) InVars {#memory_int=|v_#memory_int_1|} OutVars{#memory_int=|v_#memory_int_1|} AuxVars[] AssignedVars[] {623#true} is VALID [2022-02-20 20:58:12,042 INFO L290 TraceCheckUtils]: 6: Hoare triple {623#true} [169] L21-2-->L21-3: Formula: (= (select (select |v_#memory_int_2| 1) 1) 0) InVars {#memory_int=|v_#memory_int_2|} OutVars{#memory_int=|v_#memory_int_2|} AuxVars[] AssignedVars[] {623#true} is VALID [2022-02-20 20:58:12,042 INFO L290 TraceCheckUtils]: 7: Hoare triple {623#true} [129] L21-3-->L21-4: Formula: (and (= 18 (select |v_#length_2| 2)) (= (select |v_#valid_3| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {623#true} is VALID [2022-02-20 20:58:12,042 INFO L290 TraceCheckUtils]: 8: Hoare triple {623#true} [192] L21-4-->L38: Formula: (= v_~X~0_3 0) InVars {} OutVars{~X~0=v_~X~0_3} AuxVars[] AssignedVars[~X~0] {623#true} is VALID [2022-02-20 20:58:12,043 INFO L290 TraceCheckUtils]: 9: Hoare triple {623#true} [193] L38-->L-1-3: Formula: (= v_~Y~0_5 0) InVars {} OutVars{~Y~0=v_~Y~0_5} AuxVars[] AssignedVars[~Y~0] {625#(= ~Y~0 0)} is VALID [2022-02-20 20:58:12,043 INFO L290 TraceCheckUtils]: 10: Hoare triple {625#(= ~Y~0 0)} [188] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {625#(= ~Y~0 0)} is VALID [2022-02-20 20:58:12,044 INFO L290 TraceCheckUtils]: 11: Hoare triple {625#(= ~Y~0 0)} [166] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {625#(= ~Y~0 0)} is VALID [2022-02-20 20:58:12,044 INFO L290 TraceCheckUtils]: 12: Hoare triple {625#(= ~Y~0 0)} [126] L-1-5-->L-1-6: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {625#(= ~Y~0 0)} is VALID [2022-02-20 20:58:12,045 INFO L290 TraceCheckUtils]: 13: Hoare triple {625#(= ~Y~0 0)} [163] L-1-6-->L67: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_#t~mem8#1=|v_ULTIMATE.start_main_#t~mem8#1_1|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_1|, ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_1|, ULTIMATE.start_main_#t~nondet7#1=|v_ULTIMATE.start_main_#t~nondet7#1_1|, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_1|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_1|, ULTIMATE.start_main_#t~pre4#1=|v_ULTIMATE.start_main_#t~pre4#1_1|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_1|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_#t~mem8#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_#t~nondet5#1, ULTIMATE.start_main_#t~nondet7#1, ULTIMATE.start_main_#t~mem9#1, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_#t~pre4#1, ULTIMATE.start_main_~#t1~0#1.offset, ULTIMATE.start_main_~#t2~0#1.base] {625#(= ~Y~0 0)} is VALID [2022-02-20 20:58:12,045 INFO L290 TraceCheckUtils]: 14: Hoare triple {625#(= ~Y~0 0)} [177] L67-->L67-1: Formula: (and (= |v_ULTIMATE.start_main_~#t1~0#1.offset_2| 0) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) 0) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 4)) (not (= |v_ULTIMATE.start_main_~#t1~0#1.base_2| 0)) (= (store |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 1) |v_#valid_4|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_2|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[#valid, #length, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset] {625#(= ~Y~0 0)} is VALID [2022-02-20 20:58:12,046 INFO L290 TraceCheckUtils]: 15: Hoare triple {625#(= ~Y~0 0)} [140] L67-1-->L67-2: Formula: (and (= |v_#length_5| (store |v_#length_6| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 4)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2|) 0) (= (store |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 1) |v_#valid_6|) (not (= |v_ULTIMATE.start_main_~#t2~0#1.base_2| 0)) (= 0 |v_ULTIMATE.start_main_~#t2~0#1.offset_2|) (< |v_#StackHeapBarrier_3| |v_ULTIMATE.start_main_~#t2~0#1.base_2|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_7|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_5|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_2|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t2~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t2~0#1.base] {625#(= ~Y~0 0)} is VALID [2022-02-20 20:58:12,046 INFO L290 TraceCheckUtils]: 16: Hoare triple {625#(= ~Y~0 0)} [124] L67-2-->L69: Formula: (and (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet3#1_2| 2147483648)) (<= |v_ULTIMATE.start_main_#t~nondet3#1_2| 2147483647)) InVars {ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[] {625#(= ~Y~0 0)} is VALID [2022-02-20 20:58:12,047 INFO L290 TraceCheckUtils]: 17: Hoare triple {625#(= ~Y~0 0)} [125] L69-->L69-1: Formula: (= |v_ULTIMATE.start_main_#t~nondet3#1_3| v_~X~0_4) InVars {ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_3|} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_3|, ~X~0=v_~X~0_4} AuxVars[] AssignedVars[~X~0] {625#(= ~Y~0 0)} is VALID [2022-02-20 20:58:12,047 INFO L290 TraceCheckUtils]: 18: Hoare triple {625#(= ~Y~0 0)} [186] L69-1-->L70: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] {625#(= ~Y~0 0)} is VALID [2022-02-20 20:58:12,048 INFO L290 TraceCheckUtils]: 19: Hoare triple {625#(= ~Y~0 0)} [194] L70-->L70-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {625#(= ~Y~0 0)} is VALID [2022-02-20 20:58:12,048 INFO L290 TraceCheckUtils]: 20: Hoare triple {625#(= ~Y~0 0)} [143] L70-1-->L70-2: Formula: (= (ite (<= v_~X~0_5 10000) 1 0) |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1|) InVars {~X~0=v_~X~0_5} OutVars{~X~0=v_~X~0_5, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] {626#(and (or (<= ~X~0 10000) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)) (= ~Y~0 0))} is VALID [2022-02-20 20:58:12,049 INFO L290 TraceCheckUtils]: 21: Hoare triple {626#(and (or (<= ~X~0 10000) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)) (= ~Y~0 0))} [142] L70-2-->L34: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {626#(and (or (<= ~X~0 10000) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)) (= ~Y~0 0))} is VALID [2022-02-20 20:58:12,050 INFO L290 TraceCheckUtils]: 22: Hoare triple {626#(and (or (<= ~X~0 10000) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)) (= ~Y~0 0))} [144] L34-->L35: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_2|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_2|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {627#(and (or (= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0) (<= ~X~0 10000)) (= ~Y~0 0))} is VALID [2022-02-20 20:58:12,050 INFO L290 TraceCheckUtils]: 23: Hoare triple {627#(and (or (= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0) (<= ~X~0 10000)) (= ~Y~0 0))} [175] L35-->L34-1: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_4| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_4|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_4|} AuxVars[] AssignedVars[] {628#(and (= ~Y~0 0) (<= ~X~0 10000))} is VALID [2022-02-20 20:58:12,051 INFO L290 TraceCheckUtils]: 24: Hoare triple {628#(and (= ~Y~0 0) (<= ~X~0 10000))} [167] L34-1-->L73: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {628#(and (= ~Y~0 0) (<= ~X~0 10000))} is VALID [2022-02-20 20:58:12,051 INFO L290 TraceCheckUtils]: 25: Hoare triple {628#(and (= ~Y~0 0) (<= ~X~0 10000))} [150] L73-->L73-1: Formula: (= |v_ULTIMATE.start_main_#t~pre4#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre4#1=|v_ULTIMATE.start_main_#t~pre4#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre4#1] {628#(and (= ~Y~0 0) (<= ~X~0 10000))} is VALID [2022-02-20 20:58:12,052 INFO L290 TraceCheckUtils]: 26: Hoare triple {628#(and (= ~Y~0 0) (<= ~X~0 10000))} [165] L73-1-->L73-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {628#(and (= ~Y~0 0) (<= ~X~0 10000))} is VALID [2022-02-20 20:58:12,053 INFO L290 TraceCheckUtils]: 27: Hoare triple {628#(and (= ~Y~0 0) (<= ~X~0 10000))} [151] L73-2-->L73-3: Formula: (= (store |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3| (store (select |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3|) |v_ULTIMATE.start_main_~#t1~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre4#1_3|)) |v_#memory_int_3|) InVars {#memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_#t~pre4#1=|v_ULTIMATE.start_main_#t~pre4#1_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} OutVars{#memory_int=|v_#memory_int_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_#t~pre4#1=|v_ULTIMATE.start_main_#t~pre4#1_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} AuxVars[] AssignedVars[#memory_int] {628#(and (= ~Y~0 0) (<= ~X~0 10000))} is VALID [2022-02-20 20:58:12,053 INFO L290 TraceCheckUtils]: 28: Hoare triple {628#(and (= ~Y~0 0) (<= ~X~0 10000))} [223] L73-3-->thread1ENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre4#1_6| v_thread1Thread1of1ForFork1_thidvar0_2) (= 0 v_thread1Thread1of1ForFork1_thidvar1_2)) InVars {ULTIMATE.start_main_#t~pre4#1=|v_ULTIMATE.start_main_#t~pre4#1_6|} OutVars{thread1Thread1of1ForFork1_#res.base=|v_thread1Thread1of1ForFork1_#res.base_4|, thread1Thread1of1ForFork1_#t~post1=|v_thread1Thread1of1ForFork1_#t~post1_8|, thread1Thread1of1ForFork1_~x~0=v_thread1Thread1of1ForFork1_~x~0_16, thread1Thread1of1ForFork1_#res.offset=|v_thread1Thread1of1ForFork1_#res.offset_4|, thread1Thread1of1ForFork1_thidvar1=v_thread1Thread1of1ForFork1_thidvar1_2, ULTIMATE.start_main_#t~pre4#1=|v_ULTIMATE.start_main_#t~pre4#1_6|, thread1Thread1of1ForFork1_thidvar0=v_thread1Thread1of1ForFork1_thidvar0_2} AuxVars[] AssignedVars[thread1Thread1of1ForFork1_#res.base, thread1Thread1of1ForFork1_#t~post1, thread1Thread1of1ForFork1_~x~0, thread1Thread1of1ForFork1_#res.offset, thread1Thread1of1ForFork1_thidvar1, thread1Thread1of1ForFork1_thidvar0] {628#(and (= ~Y~0 0) (<= ~X~0 10000))} is VALID [2022-02-20 20:58:12,054 INFO L290 TraceCheckUtils]: 29: Hoare triple {628#(and (= ~Y~0 0) (<= ~X~0 10000))} [153] L73-4-->L73-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre4#1=|v_ULTIMATE.start_main_#t~pre4#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre4#1] {628#(and (= ~Y~0 0) (<= ~X~0 10000))} is VALID [2022-02-20 20:58:12,054 INFO L290 TraceCheckUtils]: 30: Hoare triple {628#(and (= ~Y~0 0) (<= ~X~0 10000))} [152] L73-5-->L74: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet5#1] {628#(and (= ~Y~0 0) (<= ~X~0 10000))} is VALID [2022-02-20 20:58:12,055 INFO L290 TraceCheckUtils]: 31: Hoare triple {628#(and (= ~Y~0 0) (<= ~X~0 10000))} [116] L74-->L74-1: Formula: (= |v_ULTIMATE.start_main_#t~pre6#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1] {628#(and (= ~Y~0 0) (<= ~X~0 10000))} is VALID [2022-02-20 20:58:12,055 INFO L290 TraceCheckUtils]: 32: Hoare triple {628#(and (= ~Y~0 0) (<= ~X~0 10000))} [147] L74-1-->L74-2: Formula: (= (+ 1 |v_#pthreadsForks_6|) |v_#pthreadsForks_5|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_5|} AuxVars[] AssignedVars[#pthreadsForks] {628#(and (= ~Y~0 0) (<= ~X~0 10000))} is VALID [2022-02-20 20:58:12,056 INFO L290 TraceCheckUtils]: 33: Hoare triple {628#(and (= ~Y~0 0) (<= ~X~0 10000))} [156] L74-2-->L74-3: Formula: (= (store |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3| (store (select |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3|) |v_ULTIMATE.start_main_~#t2~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre6#1_3|)) |v_#memory_int_5|) InVars {#memory_int=|v_#memory_int_6|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} OutVars{#memory_int=|v_#memory_int_5|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} AuxVars[] AssignedVars[#memory_int] {628#(and (= ~Y~0 0) (<= ~X~0 10000))} is VALID [2022-02-20 20:58:12,057 INFO L290 TraceCheckUtils]: 34: Hoare triple {628#(and (= ~Y~0 0) (<= ~X~0 10000))} [221] L74-3-->thread2ENTRY: Formula: (and (= v_thread2Thread1of1ForFork0_thidvar2_2 0) (= v_thread2Thread1of1ForFork0_thidvar1_2 0) (= |v_ULTIMATE.start_main_#t~pre6#1_6| v_thread2Thread1of1ForFork0_thidvar0_2)) InVars {ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_6|} OutVars{thread2Thread1of1ForFork0_#res.offset=|v_thread2Thread1of1ForFork0_#res.offset_4|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_6|, thread2Thread1of1ForFork0_#res.base=|v_thread2Thread1of1ForFork0_#res.base_4|, thread2Thread1of1ForFork0_thidvar2=v_thread2Thread1of1ForFork0_thidvar2_2, thread2Thread1of1ForFork0_thidvar1=v_thread2Thread1of1ForFork0_thidvar1_2, thread2Thread1of1ForFork0_thidvar0=v_thread2Thread1of1ForFork0_thidvar0_2, thread2Thread1of1ForFork0_~x~1=v_thread2Thread1of1ForFork0_~x~1_16, thread2Thread1of1ForFork0_#t~post2=|v_thread2Thread1of1ForFork0_#t~post2_8|} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_#res.offset, thread2Thread1of1ForFork0_#res.base, thread2Thread1of1ForFork0_thidvar2, thread2Thread1of1ForFork0_thidvar1, thread2Thread1of1ForFork0_thidvar0, thread2Thread1of1ForFork0_~x~1, thread2Thread1of1ForFork0_#t~post2] {628#(and (= ~Y~0 0) (<= ~X~0 10000))} is VALID [2022-02-20 20:58:12,057 INFO L290 TraceCheckUtils]: 35: Hoare triple {628#(and (= ~Y~0 0) (<= ~X~0 10000))} [198] thread1ENTRY-->L42: Formula: true InVars {} OutVars{thread1Thread1of1ForFork1_~x~0=v_thread1Thread1of1ForFork1_~x~0_1} AuxVars[] AssignedVars[thread1Thread1of1ForFork1_~x~0] {628#(and (= ~Y~0 0) (<= ~X~0 10000))} is VALID [2022-02-20 20:58:12,058 INFO L290 TraceCheckUtils]: 36: Hoare triple {628#(and (= ~Y~0 0) (<= ~X~0 10000))} [199] L42-->L43-2: Formula: (= v_thread1Thread1of1ForFork1_~x~0_3 v_~X~0_1) InVars {~X~0=v_~X~0_1} OutVars{~X~0=v_~X~0_1, thread1Thread1of1ForFork1_~x~0=v_thread1Thread1of1ForFork1_~x~0_3} AuxVars[] AssignedVars[thread1Thread1of1ForFork1_~x~0] {629#(and (= ~Y~0 0) (<= (+ ~X~0 thread1Thread1of1ForFork1_~x~0) 20000) (<= ~X~0 10000))} is VALID [2022-02-20 20:58:12,058 INFO L290 TraceCheckUtils]: 37: Hoare triple {629#(and (= ~Y~0 0) (<= (+ ~X~0 thread1Thread1of1ForFork1_~x~0) 20000) (<= ~X~0 10000))} [201] L43-2-->L43-3: Formula: (not (< v_thread1Thread1of1ForFork1_~x~0_5 10000)) InVars {thread1Thread1of1ForFork1_~x~0=v_thread1Thread1of1ForFork1_~x~0_5} OutVars{thread1Thread1of1ForFork1_~x~0=v_thread1Thread1of1ForFork1_~x~0_5} AuxVars[] AssignedVars[] {630#(and (= ~Y~0 0) (<= (+ ~X~0 thread1Thread1of1ForFork1_~x~0) 20000) (<= 10000 thread1Thread1of1ForFork1_~x~0))} is VALID [2022-02-20 20:58:12,059 INFO L290 TraceCheckUtils]: 38: Hoare triple {630#(and (= ~Y~0 0) (<= (+ ~X~0 thread1Thread1of1ForFork1_~x~0) 20000) (<= 10000 thread1Thread1of1ForFork1_~x~0))} [203] L43-3-->L48: Formula: (= (+ v_thread1Thread1of1ForFork1_~x~0_9 v_~Y~0_2) v_~Y~0_1) InVars {~Y~0=v_~Y~0_2, thread1Thread1of1ForFork1_~x~0=v_thread1Thread1of1ForFork1_~x~0_9} OutVars{~Y~0=v_~Y~0_1, thread1Thread1of1ForFork1_~x~0=v_thread1Thread1of1ForFork1_~x~0_9} AuxVars[] AssignedVars[~Y~0] {631#(and (<= 10000 ~Y~0) (<= (+ ~Y~0 ~X~0) 20000))} is VALID [2022-02-20 20:58:12,059 INFO L290 TraceCheckUtils]: 39: Hoare triple {631#(and (<= 10000 ~Y~0) (<= (+ ~Y~0 ~X~0) 20000))} [205] L48-->thread1FINAL: Formula: (and (= |v_thread1Thread1of1ForFork1_#res.base_1| 0) (= |v_thread1Thread1of1ForFork1_#res.offset_1| 0)) InVars {} OutVars{thread1Thread1of1ForFork1_#res.offset=|v_thread1Thread1of1ForFork1_#res.offset_1|, thread1Thread1of1ForFork1_#res.base=|v_thread1Thread1of1ForFork1_#res.base_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork1_#res.base, thread1Thread1of1ForFork1_#res.offset] {631#(and (<= 10000 ~Y~0) (<= (+ ~Y~0 ~X~0) 20000))} is VALID [2022-02-20 20:58:12,060 INFO L290 TraceCheckUtils]: 40: Hoare triple {631#(and (<= 10000 ~Y~0) (<= (+ ~Y~0 ~X~0) 20000))} [207] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {631#(and (<= 10000 ~Y~0) (<= (+ ~Y~0 ~X~0) 20000))} is VALID [2022-02-20 20:58:12,060 INFO L290 TraceCheckUtils]: 41: Hoare triple {631#(and (<= 10000 ~Y~0) (<= (+ ~Y~0 ~X~0) 20000))} [120] L74-4-->L74-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1] {631#(and (<= 10000 ~Y~0) (<= (+ ~Y~0 ~X~0) 20000))} is VALID [2022-02-20 20:58:12,061 INFO L290 TraceCheckUtils]: 42: Hoare triple {631#(and (<= 10000 ~Y~0) (<= (+ ~Y~0 ~X~0) 20000))} [191] L74-5-->L75: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet7#1=|v_ULTIMATE.start_main_#t~nondet7#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet7#1] {631#(and (<= 10000 ~Y~0) (<= (+ ~Y~0 ~X~0) 20000))} is VALID [2022-02-20 20:58:12,061 INFO L290 TraceCheckUtils]: 43: Hoare triple {631#(and (<= 10000 ~Y~0) (<= (+ ~Y~0 ~X~0) 20000))} [187] L75-->L75-1: Formula: (= |v_ULTIMATE.start_main_#t~mem8#1_2| (select (select |v_#memory_int_7| |v_ULTIMATE.start_main_~#t1~0#1.base_4|) |v_ULTIMATE.start_main_~#t1~0#1.offset_4|)) InVars {#memory_int=|v_#memory_int_7|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_4|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_4|} OutVars{#memory_int=|v_#memory_int_7|, ULTIMATE.start_main_#t~mem8#1=|v_ULTIMATE.start_main_#t~mem8#1_2|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_4|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem8#1] {631#(and (<= 10000 ~Y~0) (<= (+ ~Y~0 ~X~0) 20000))} is VALID [2022-02-20 20:58:12,062 INFO L290 TraceCheckUtils]: 44: Hoare triple {631#(and (<= 10000 ~Y~0) (<= (+ ~Y~0 ~X~0) 20000))} [224] thread1EXIT-->L75-2: Formula: (and (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem8#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ .cse0 (- 4294967296)))) v_thread1Thread1of1ForFork1_thidvar0_4) (= 0 v_thread1Thread1of1ForFork1_thidvar1_4)) InVars {ULTIMATE.start_main_#t~mem8#1=|v_ULTIMATE.start_main_#t~mem8#1_5|, thread1Thread1of1ForFork1_thidvar1=v_thread1Thread1of1ForFork1_thidvar1_4, thread1Thread1of1ForFork1_thidvar0=v_thread1Thread1of1ForFork1_thidvar0_4} OutVars{ULTIMATE.start_main_#t~mem8#1=|v_ULTIMATE.start_main_#t~mem8#1_5|, thread1Thread1of1ForFork1_thidvar1=v_thread1Thread1of1ForFork1_thidvar1_4, thread1Thread1of1ForFork1_thidvar0=v_thread1Thread1of1ForFork1_thidvar0_4} AuxVars[] AssignedVars[] {631#(and (<= 10000 ~Y~0) (<= (+ ~Y~0 ~X~0) 20000))} is VALID [2022-02-20 20:58:12,062 INFO L290 TraceCheckUtils]: 45: Hoare triple {631#(and (<= 10000 ~Y~0) (<= (+ ~Y~0 ~X~0) 20000))} [209] thread2ENTRY-->L55: Formula: true InVars {} OutVars{thread2Thread1of1ForFork0_~x~1=v_thread2Thread1of1ForFork0_~x~1_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_~x~1] {631#(and (<= 10000 ~Y~0) (<= (+ ~Y~0 ~X~0) 20000))} is VALID [2022-02-20 20:58:12,063 INFO L290 TraceCheckUtils]: 46: Hoare triple {631#(and (<= 10000 ~Y~0) (<= (+ ~Y~0 ~X~0) 20000))} [210] L55-->L56-2: Formula: (= v_thread2Thread1of1ForFork0_~x~1_3 v_~X~0_2) InVars {~X~0=v_~X~0_2} OutVars{~X~0=v_~X~0_2, thread2Thread1of1ForFork0_~x~1=v_thread2Thread1of1ForFork0_~x~1_3} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_~x~1] {632#(and (<= (+ ~Y~0 thread2Thread1of1ForFork0_~x~1) 20000) (<= 10000 ~Y~0))} is VALID [2022-02-20 20:58:12,063 INFO L290 TraceCheckUtils]: 47: Hoare triple {632#(and (<= (+ ~Y~0 thread2Thread1of1ForFork0_~x~1) 20000) (<= 10000 ~Y~0))} [212] L56-2-->L56-3: Formula: (not (< v_thread2Thread1of1ForFork0_~x~1_5 10000)) InVars {thread2Thread1of1ForFork0_~x~1=v_thread2Thread1of1ForFork0_~x~1_5} OutVars{thread2Thread1of1ForFork0_~x~1=v_thread2Thread1of1ForFork0_~x~1_5} AuxVars[] AssignedVars[] {633#(and (<= 20000 (+ ~Y~0 thread2Thread1of1ForFork0_~x~1)) (<= (+ ~Y~0 thread2Thread1of1ForFork0_~x~1) 20000))} is VALID [2022-02-20 20:58:12,064 INFO L290 TraceCheckUtils]: 48: Hoare triple {633#(and (<= 20000 (+ ~Y~0 thread2Thread1of1ForFork0_~x~1)) (<= (+ ~Y~0 thread2Thread1of1ForFork0_~x~1) 20000))} [214] L56-3-->L61: Formula: (= (+ v_thread2Thread1of1ForFork0_~x~1_9 v_~Y~0_4) v_~Y~0_3) InVars {thread2Thread1of1ForFork0_~x~1=v_thread2Thread1of1ForFork0_~x~1_9, ~Y~0=v_~Y~0_4} OutVars{thread2Thread1of1ForFork0_~x~1=v_thread2Thread1of1ForFork0_~x~1_9, ~Y~0=v_~Y~0_3} AuxVars[] AssignedVars[~Y~0] {634#(and (<= ~Y~0 20000) (< 19999 ~Y~0))} is VALID [2022-02-20 20:58:12,064 INFO L290 TraceCheckUtils]: 49: Hoare triple {634#(and (<= ~Y~0 20000) (< 19999 ~Y~0))} [216] L61-->thread2FINAL: Formula: (and (= |v_thread2Thread1of1ForFork0_#res.base_1| 0) (= |v_thread2Thread1of1ForFork0_#res.offset_1| 0)) InVars {} OutVars{thread2Thread1of1ForFork0_#res.offset=|v_thread2Thread1of1ForFork0_#res.offset_1|, thread2Thread1of1ForFork0_#res.base=|v_thread2Thread1of1ForFork0_#res.base_1|} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_#res.offset, thread2Thread1of1ForFork0_#res.base] {634#(and (<= ~Y~0 20000) (< 19999 ~Y~0))} is VALID [2022-02-20 20:58:12,065 INFO L290 TraceCheckUtils]: 50: Hoare triple {634#(and (<= ~Y~0 20000) (< 19999 ~Y~0))} [218] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {634#(and (<= ~Y~0 20000) (< 19999 ~Y~0))} is VALID [2022-02-20 20:58:12,065 INFO L290 TraceCheckUtils]: 51: Hoare triple {634#(and (<= ~Y~0 20000) (< 19999 ~Y~0))} [172] L75-2-->L76: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem8#1=|v_ULTIMATE.start_main_#t~mem8#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem8#1] {634#(and (<= ~Y~0 20000) (< 19999 ~Y~0))} is VALID [2022-02-20 20:58:12,066 INFO L290 TraceCheckUtils]: 52: Hoare triple {634#(and (<= ~Y~0 20000) (< 19999 ~Y~0))} [195] L76-->L76-1: Formula: (= |v_ULTIMATE.start_main_#t~mem9#1_2| (select (select |v_#memory_int_8| |v_ULTIMATE.start_main_~#t2~0#1.base_4|) |v_ULTIMATE.start_main_~#t2~0#1.offset_4|)) InVars {#memory_int=|v_#memory_int_8|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_4|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} OutVars{#memory_int=|v_#memory_int_8|, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_2|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_4|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem9#1] {634#(and (<= ~Y~0 20000) (< 19999 ~Y~0))} is VALID [2022-02-20 20:58:12,066 INFO L290 TraceCheckUtils]: 53: Hoare triple {634#(and (<= ~Y~0 20000) (< 19999 ~Y~0))} [225] thread2EXIT-->L76-2: Formula: (and (= v_thread2Thread1of1ForFork0_thidvar2_4 0) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem9#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ (- 4294967296) .cse0))) v_thread2Thread1of1ForFork0_thidvar0_4) (= v_thread2Thread1of1ForFork0_thidvar1_4 0)) InVars {thread2Thread1of1ForFork0_thidvar2=v_thread2Thread1of1ForFork0_thidvar2_4, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_5|, thread2Thread1of1ForFork0_thidvar1=v_thread2Thread1of1ForFork0_thidvar1_4, thread2Thread1of1ForFork0_thidvar0=v_thread2Thread1of1ForFork0_thidvar0_4} OutVars{thread2Thread1of1ForFork0_thidvar2=v_thread2Thread1of1ForFork0_thidvar2_4, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_5|, thread2Thread1of1ForFork0_thidvar1=v_thread2Thread1of1ForFork0_thidvar1_4, thread2Thread1of1ForFork0_thidvar0=v_thread2Thread1of1ForFork0_thidvar0_4} AuxVars[] AssignedVars[] {634#(and (<= ~Y~0 20000) (< 19999 ~Y~0))} is VALID [2022-02-20 20:58:12,067 INFO L290 TraceCheckUtils]: 54: Hoare triple {634#(and (<= ~Y~0 20000) (< 19999 ~Y~0))} [181] L76-2-->L78: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem9#1] {634#(and (<= ~Y~0 20000) (< 19999 ~Y~0))} is VALID [2022-02-20 20:58:12,067 INFO L290 TraceCheckUtils]: 55: Hoare triple {634#(and (<= ~Y~0 20000) (< 19999 ~Y~0))} [135] L78-->L78-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {634#(and (<= ~Y~0 20000) (< 19999 ~Y~0))} is VALID [2022-02-20 20:58:12,068 INFO L290 TraceCheckUtils]: 56: Hoare triple {634#(and (<= ~Y~0 20000) (< 19999 ~Y~0))} [139] L78-1-->L78-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3| (ite (not (= 20000 v_~Y~0_6)) 1 0)) InVars {~Y~0=v_~Y~0_6} OutVars{~Y~0=v_~Y~0_6, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] {635#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} is VALID [2022-02-20 20:58:12,068 INFO L290 TraceCheckUtils]: 57: Hoare triple {635#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} [164] L78-2-->L34-2: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_5|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {635#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} is VALID [2022-02-20 20:58:12,069 INFO L290 TraceCheckUtils]: 58: Hoare triple {635#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} [158] L34-2-->L35-3: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {636#(= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0)} is VALID [2022-02-20 20:58:12,069 INFO L290 TraceCheckUtils]: 59: Hoare triple {636#(= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0)} [122] L35-3-->L34-3: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_8| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_8|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_8|} AuxVars[] AssignedVars[] {624#false} is VALID [2022-02-20 20:58:12,069 INFO L290 TraceCheckUtils]: 60: Hoare triple {624#false} [128] L34-3-->L79: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {624#false} is VALID [2022-02-20 20:58:12,070 INFO L290 TraceCheckUtils]: 61: Hoare triple {624#false} [179] L79-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {624#false} is VALID [2022-02-20 20:58:12,070 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:58:12,070 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 20:58:12,070 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [868602958] [2022-02-20 20:58:12,071 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [868602958] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 20:58:12,071 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 20:58:12,071 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-02-20 20:58:12,071 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1216211005] [2022-02-20 20:58:12,071 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 20:58:12,072 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 4.428571428571429) internal successors, (62), 14 states have internal predecessors, (62), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 62 [2022-02-20 20:58:12,072 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 20:58:12,073 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 4.428571428571429) internal successors, (62), 14 states have internal predecessors, (62), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:58:12,113 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 20:58:12,114 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-02-20 20:58:12,114 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 20:58:12,114 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-02-20 20:58:12,115 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=143, Unknown=0, NotChecked=0, Total=182 [2022-02-20 20:58:12,116 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 51 out of 87 [2022-02-20 20:58:12,117 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 74 places, 70 transitions, 144 flow. Second operand has 14 states, 14 states have (on average 52.642857142857146) internal successors, (737), 14 states have internal predecessors, (737), 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:58:12,117 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 20:58:12,117 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 51 of 87 [2022-02-20 20:58:12,117 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 20:58:12,721 INFO L129 PetriNetUnfolder]: 109/363 cut-off events. [2022-02-20 20:58:12,722 INFO L130 PetriNetUnfolder]: For 22/28 co-relation queries the response was YES. [2022-02-20 20:58:12,723 INFO L84 FinitePrefix]: Finished finitePrefix Result has 607 conditions, 363 events. 109/363 cut-off events. For 22/28 co-relation queries the response was YES. Maximal size of possible extension queue 27. Compared 1661 event pairs, 27 based on Foata normal form. 3/331 useless extension candidates. Maximal degree in co-relation 604. Up to 57 conditions per place. [2022-02-20 20:58:12,725 INFO L132 encePairwiseOnDemand]: 71/87 looper letters, 60 selfloop transitions, 16 changer transitions 8/125 dead transitions. [2022-02-20 20:58:12,725 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 85 places, 125 transitions, 431 flow [2022-02-20 20:58:12,725 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-02-20 20:58:12,725 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2022-02-20 20:58:12,733 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 799 transitions. [2022-02-20 20:58:12,734 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.6559934318555009 [2022-02-20 20:58:12,734 INFO L72 ComplementDD]: Start complementDD. Operand 14 states and 799 transitions. [2022-02-20 20:58:12,734 INFO L73 IsDeterministic]: Start isDeterministic. Operand 14 states and 799 transitions. [2022-02-20 20:58:12,734 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 20:58:12,734 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 14 states and 799 transitions. [2022-02-20 20:58:12,736 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 15 states, 14 states have (on average 57.07142857142857) internal successors, (799), 14 states have internal predecessors, (799), 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:58:12,738 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 15 states, 15 states have (on average 87.0) internal successors, (1305), 15 states have internal predecessors, (1305), 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:58:12,739 INFO L81 ComplementDD]: Finished complementDD. Result has 15 states, 15 states have (on average 87.0) internal successors, (1305), 15 states have internal predecessors, (1305), 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:58:12,739 INFO L186 Difference]: Start difference. First operand has 74 places, 70 transitions, 144 flow. Second operand 14 states and 799 transitions. [2022-02-20 20:58:12,739 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 85 places, 125 transitions, 431 flow [2022-02-20 20:58:12,740 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 85 places, 125 transitions, 431 flow, removed 0 selfloop flow, removed 0 redundant places. [2022-02-20 20:58:12,741 INFO L242 Difference]: Finished difference. Result has 92 places, 82 transitions, 241 flow [2022-02-20 20:58:12,741 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=87, PETRI_DIFFERENCE_MINUEND_FLOW=144, PETRI_DIFFERENCE_MINUEND_PLACES=72, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=70, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=6, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=58, PETRI_DIFFERENCE_SUBTRAHEND_STATES=14, PETRI_FLOW=241, PETRI_PLACES=92, PETRI_TRANSITIONS=82} [2022-02-20 20:58:12,742 INFO L334 CegarLoopForPetriNet]: 77 programPoint places, 15 predicate places. [2022-02-20 20:58:12,742 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 92 places, 82 transitions, 241 flow [2022-02-20 20:58:12,758 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 764 states, 763 states have (on average 2.5334207077326343) internal successors, (1933), 763 states have internal predecessors, (1933), 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:58:12,759 INFO L78 Accepts]: Start accepts. Automaton has has 764 states, 763 states have (on average 2.5334207077326343) internal successors, (1933), 763 states have internal predecessors, (1933), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 62 [2022-02-20 20:58:12,760 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 20:58:12,760 INFO L470 AbstractCegarLoop]: Abstraction has has 92 places, 82 transitions, 241 flow [2022-02-20 20:58:12,760 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 52.642857142857146) internal successors, (737), 14 states have internal predecessors, (737), 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:58:12,760 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:58:12,761 INFO L254 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 20:58:12,761 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-20 20:58:12,761 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION] === [2022-02-20 20:58:12,762 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:58:12,762 INFO L85 PathProgramCache]: Analyzing trace with hash -1393985749, now seen corresponding path program 2 times [2022-02-20 20:58:12,762 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:58:12,762 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1126381760] [2022-02-20 20:58:12,762 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:58:12,762 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:58:12,785 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:58:12,967 INFO L290 TraceCheckUtils]: 0: Hoare triple {1420#true} [178] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1420#true} is VALID [2022-02-20 20:58:12,967 INFO L290 TraceCheckUtils]: 1: Hoare triple {1420#true} [155] 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] {1420#true} is VALID [2022-02-20 20:58:12,967 INFO L290 TraceCheckUtils]: 2: Hoare triple {1420#true} [184] L-1-1-->L-1-2: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] {1420#true} is VALID [2022-02-20 20:58:12,967 INFO L290 TraceCheckUtils]: 3: Hoare triple {1420#true} [185] L-1-2-->L21: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {1420#true} is VALID [2022-02-20 20:58:12,968 INFO L290 TraceCheckUtils]: 4: Hoare triple {1420#true} [146] L21-->L21-1: Formula: (and (= (select |v_#valid_2| 1) 1) (= 2 (select |v_#length_1| 1))) InVars {#length=|v_#length_1|, #valid=|v_#valid_2|} OutVars{#length=|v_#length_1|, #valid=|v_#valid_2|} AuxVars[] AssignedVars[] {1420#true} is VALID [2022-02-20 20:58:12,968 INFO L290 TraceCheckUtils]: 5: Hoare triple {1420#true} [173] L21-1-->L21-2: Formula: (= 48 (select (select |v_#memory_int_1| 1) 0)) InVars {#memory_int=|v_#memory_int_1|} OutVars{#memory_int=|v_#memory_int_1|} AuxVars[] AssignedVars[] {1420#true} is VALID [2022-02-20 20:58:12,968 INFO L290 TraceCheckUtils]: 6: Hoare triple {1420#true} [169] L21-2-->L21-3: Formula: (= (select (select |v_#memory_int_2| 1) 1) 0) InVars {#memory_int=|v_#memory_int_2|} OutVars{#memory_int=|v_#memory_int_2|} AuxVars[] AssignedVars[] {1420#true} is VALID [2022-02-20 20:58:12,968 INFO L290 TraceCheckUtils]: 7: Hoare triple {1420#true} [129] L21-3-->L21-4: Formula: (and (= 18 (select |v_#length_2| 2)) (= (select |v_#valid_3| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {1420#true} is VALID [2022-02-20 20:58:12,968 INFO L290 TraceCheckUtils]: 8: Hoare triple {1420#true} [192] L21-4-->L38: Formula: (= v_~X~0_3 0) InVars {} OutVars{~X~0=v_~X~0_3} AuxVars[] AssignedVars[~X~0] {1420#true} is VALID [2022-02-20 20:58:12,969 INFO L290 TraceCheckUtils]: 9: Hoare triple {1420#true} [193] L38-->L-1-3: Formula: (= v_~Y~0_5 0) InVars {} OutVars{~Y~0=v_~Y~0_5} AuxVars[] AssignedVars[~Y~0] {1422#(= ~Y~0 0)} is VALID [2022-02-20 20:58:12,969 INFO L290 TraceCheckUtils]: 10: Hoare triple {1422#(= ~Y~0 0)} [188] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1422#(= ~Y~0 0)} is VALID [2022-02-20 20:58:12,969 INFO L290 TraceCheckUtils]: 11: Hoare triple {1422#(= ~Y~0 0)} [166] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1422#(= ~Y~0 0)} is VALID [2022-02-20 20:58:12,970 INFO L290 TraceCheckUtils]: 12: Hoare triple {1422#(= ~Y~0 0)} [126] L-1-5-->L-1-6: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {1422#(= ~Y~0 0)} is VALID [2022-02-20 20:58:12,970 INFO L290 TraceCheckUtils]: 13: Hoare triple {1422#(= ~Y~0 0)} [163] L-1-6-->L67: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_#t~mem8#1=|v_ULTIMATE.start_main_#t~mem8#1_1|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_1|, ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_1|, ULTIMATE.start_main_#t~nondet7#1=|v_ULTIMATE.start_main_#t~nondet7#1_1|, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_1|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_1|, ULTIMATE.start_main_#t~pre4#1=|v_ULTIMATE.start_main_#t~pre4#1_1|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_1|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_#t~mem8#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_#t~nondet5#1, ULTIMATE.start_main_#t~nondet7#1, ULTIMATE.start_main_#t~mem9#1, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_#t~pre4#1, ULTIMATE.start_main_~#t1~0#1.offset, ULTIMATE.start_main_~#t2~0#1.base] {1422#(= ~Y~0 0)} is VALID [2022-02-20 20:58:12,970 INFO L290 TraceCheckUtils]: 14: Hoare triple {1422#(= ~Y~0 0)} [177] L67-->L67-1: Formula: (and (= |v_ULTIMATE.start_main_~#t1~0#1.offset_2| 0) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) 0) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 4)) (not (= |v_ULTIMATE.start_main_~#t1~0#1.base_2| 0)) (= (store |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 1) |v_#valid_4|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_2|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[#valid, #length, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset] {1422#(= ~Y~0 0)} is VALID [2022-02-20 20:58:12,975 INFO L290 TraceCheckUtils]: 15: Hoare triple {1422#(= ~Y~0 0)} [140] L67-1-->L67-2: Formula: (and (= |v_#length_5| (store |v_#length_6| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 4)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2|) 0) (= (store |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 1) |v_#valid_6|) (not (= |v_ULTIMATE.start_main_~#t2~0#1.base_2| 0)) (= 0 |v_ULTIMATE.start_main_~#t2~0#1.offset_2|) (< |v_#StackHeapBarrier_3| |v_ULTIMATE.start_main_~#t2~0#1.base_2|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_7|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_5|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_2|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t2~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t2~0#1.base] {1422#(= ~Y~0 0)} is VALID [2022-02-20 20:58:12,975 INFO L290 TraceCheckUtils]: 16: Hoare triple {1422#(= ~Y~0 0)} [124] L67-2-->L69: Formula: (and (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet3#1_2| 2147483648)) (<= |v_ULTIMATE.start_main_#t~nondet3#1_2| 2147483647)) InVars {ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[] {1422#(= ~Y~0 0)} is VALID [2022-02-20 20:58:12,976 INFO L290 TraceCheckUtils]: 17: Hoare triple {1422#(= ~Y~0 0)} [125] L69-->L69-1: Formula: (= |v_ULTIMATE.start_main_#t~nondet3#1_3| v_~X~0_4) InVars {ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_3|} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_3|, ~X~0=v_~X~0_4} AuxVars[] AssignedVars[~X~0] {1422#(= ~Y~0 0)} is VALID [2022-02-20 20:58:12,976 INFO L290 TraceCheckUtils]: 18: Hoare triple {1422#(= ~Y~0 0)} [186] L69-1-->L70: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] {1422#(= ~Y~0 0)} is VALID [2022-02-20 20:58:12,976 INFO L290 TraceCheckUtils]: 19: Hoare triple {1422#(= ~Y~0 0)} [194] L70-->L70-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1422#(= ~Y~0 0)} is VALID [2022-02-20 20:58:12,977 INFO L290 TraceCheckUtils]: 20: Hoare triple {1422#(= ~Y~0 0)} [143] L70-1-->L70-2: Formula: (= (ite (<= v_~X~0_5 10000) 1 0) |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1|) InVars {~X~0=v_~X~0_5} OutVars{~X~0=v_~X~0_5, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] {1423#(or (and (= ~Y~0 0) (<= ~X~0 10000)) (and (not (<= ~X~0 10000)) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)))} is VALID [2022-02-20 20:58:12,977 INFO L290 TraceCheckUtils]: 21: Hoare triple {1423#(or (and (= ~Y~0 0) (<= ~X~0 10000)) (and (not (<= ~X~0 10000)) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)))} [142] L70-2-->L34: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {1423#(or (and (= ~Y~0 0) (<= ~X~0 10000)) (and (not (<= ~X~0 10000)) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)))} is VALID [2022-02-20 20:58:12,978 INFO L290 TraceCheckUtils]: 22: Hoare triple {1423#(or (and (= ~Y~0 0) (<= ~X~0 10000)) (and (not (<= ~X~0 10000)) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)))} [144] L34-->L35: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_2|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_2|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {1424#(or (and (= ~Y~0 0) (<= ~X~0 10000)) (and (not (<= ~X~0 10000)) (= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0)))} is VALID [2022-02-20 20:58:12,978 INFO L290 TraceCheckUtils]: 23: Hoare triple {1424#(or (and (= ~Y~0 0) (<= ~X~0 10000)) (and (not (<= ~X~0 10000)) (= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0)))} [175] L35-->L34-1: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_4| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_4|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_4|} AuxVars[] AssignedVars[] {1425#(and (= ~Y~0 0) (<= ~X~0 10000))} is VALID [2022-02-20 20:58:12,979 INFO L290 TraceCheckUtils]: 24: Hoare triple {1425#(and (= ~Y~0 0) (<= ~X~0 10000))} [167] L34-1-->L73: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1425#(and (= ~Y~0 0) (<= ~X~0 10000))} is VALID [2022-02-20 20:58:12,979 INFO L290 TraceCheckUtils]: 25: Hoare triple {1425#(and (= ~Y~0 0) (<= ~X~0 10000))} [150] L73-->L73-1: Formula: (= |v_ULTIMATE.start_main_#t~pre4#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre4#1=|v_ULTIMATE.start_main_#t~pre4#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre4#1] {1425#(and (= ~Y~0 0) (<= ~X~0 10000))} is VALID [2022-02-20 20:58:12,980 INFO L290 TraceCheckUtils]: 26: Hoare triple {1425#(and (= ~Y~0 0) (<= ~X~0 10000))} [165] L73-1-->L73-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {1425#(and (= ~Y~0 0) (<= ~X~0 10000))} is VALID [2022-02-20 20:58:12,980 INFO L290 TraceCheckUtils]: 27: Hoare triple {1425#(and (= ~Y~0 0) (<= ~X~0 10000))} [151] L73-2-->L73-3: Formula: (= (store |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3| (store (select |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3|) |v_ULTIMATE.start_main_~#t1~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre4#1_3|)) |v_#memory_int_3|) InVars {#memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_#t~pre4#1=|v_ULTIMATE.start_main_#t~pre4#1_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} OutVars{#memory_int=|v_#memory_int_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_#t~pre4#1=|v_ULTIMATE.start_main_#t~pre4#1_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} AuxVars[] AssignedVars[#memory_int] {1425#(and (= ~Y~0 0) (<= ~X~0 10000))} is VALID [2022-02-20 20:58:12,980 INFO L290 TraceCheckUtils]: 28: Hoare triple {1425#(and (= ~Y~0 0) (<= ~X~0 10000))} [223] L73-3-->thread1ENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre4#1_6| v_thread1Thread1of1ForFork1_thidvar0_2) (= 0 v_thread1Thread1of1ForFork1_thidvar1_2)) InVars {ULTIMATE.start_main_#t~pre4#1=|v_ULTIMATE.start_main_#t~pre4#1_6|} OutVars{thread1Thread1of1ForFork1_#res.base=|v_thread1Thread1of1ForFork1_#res.base_4|, thread1Thread1of1ForFork1_#t~post1=|v_thread1Thread1of1ForFork1_#t~post1_8|, thread1Thread1of1ForFork1_~x~0=v_thread1Thread1of1ForFork1_~x~0_16, thread1Thread1of1ForFork1_#res.offset=|v_thread1Thread1of1ForFork1_#res.offset_4|, thread1Thread1of1ForFork1_thidvar1=v_thread1Thread1of1ForFork1_thidvar1_2, ULTIMATE.start_main_#t~pre4#1=|v_ULTIMATE.start_main_#t~pre4#1_6|, thread1Thread1of1ForFork1_thidvar0=v_thread1Thread1of1ForFork1_thidvar0_2} AuxVars[] AssignedVars[thread1Thread1of1ForFork1_#res.base, thread1Thread1of1ForFork1_#t~post1, thread1Thread1of1ForFork1_~x~0, thread1Thread1of1ForFork1_#res.offset, thread1Thread1of1ForFork1_thidvar1, thread1Thread1of1ForFork1_thidvar0] {1425#(and (= ~Y~0 0) (<= ~X~0 10000))} is VALID [2022-02-20 20:58:12,981 INFO L290 TraceCheckUtils]: 29: Hoare triple {1425#(and (= ~Y~0 0) (<= ~X~0 10000))} [198] thread1ENTRY-->L42: Formula: true InVars {} OutVars{thread1Thread1of1ForFork1_~x~0=v_thread1Thread1of1ForFork1_~x~0_1} AuxVars[] AssignedVars[thread1Thread1of1ForFork1_~x~0] {1425#(and (= ~Y~0 0) (<= ~X~0 10000))} is VALID [2022-02-20 20:58:12,981 INFO L290 TraceCheckUtils]: 30: Hoare triple {1425#(and (= ~Y~0 0) (<= ~X~0 10000))} [199] L42-->L43-2: Formula: (= v_thread1Thread1of1ForFork1_~x~0_3 v_~X~0_1) InVars {~X~0=v_~X~0_1} OutVars{~X~0=v_~X~0_1, thread1Thread1of1ForFork1_~x~0=v_thread1Thread1of1ForFork1_~x~0_3} AuxVars[] AssignedVars[thread1Thread1of1ForFork1_~x~0] {1426#(and (= ~Y~0 0) (<= (+ ~X~0 thread1Thread1of1ForFork1_~x~0) 20000))} is VALID [2022-02-20 20:58:12,982 INFO L290 TraceCheckUtils]: 31: Hoare triple {1426#(and (= ~Y~0 0) (<= (+ ~X~0 thread1Thread1of1ForFork1_~x~0) 20000))} [201] L43-2-->L43-3: Formula: (not (< v_thread1Thread1of1ForFork1_~x~0_5 10000)) InVars {thread1Thread1of1ForFork1_~x~0=v_thread1Thread1of1ForFork1_~x~0_5} OutVars{thread1Thread1of1ForFork1_~x~0=v_thread1Thread1of1ForFork1_~x~0_5} AuxVars[] AssignedVars[] {1427#(and (= ~Y~0 0) (<= (+ ~X~0 thread1Thread1of1ForFork1_~x~0) 20000) (<= 10000 thread1Thread1of1ForFork1_~x~0))} is VALID [2022-02-20 20:58:12,982 INFO L290 TraceCheckUtils]: 32: Hoare triple {1427#(and (= ~Y~0 0) (<= (+ ~X~0 thread1Thread1of1ForFork1_~x~0) 20000) (<= 10000 thread1Thread1of1ForFork1_~x~0))} [153] L73-4-->L73-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre4#1=|v_ULTIMATE.start_main_#t~pre4#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre4#1] {1427#(and (= ~Y~0 0) (<= (+ ~X~0 thread1Thread1of1ForFork1_~x~0) 20000) (<= 10000 thread1Thread1of1ForFork1_~x~0))} is VALID [2022-02-20 20:58:12,983 INFO L290 TraceCheckUtils]: 33: Hoare triple {1427#(and (= ~Y~0 0) (<= (+ ~X~0 thread1Thread1of1ForFork1_~x~0) 20000) (<= 10000 thread1Thread1of1ForFork1_~x~0))} [152] L73-5-->L74: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet5#1] {1427#(and (= ~Y~0 0) (<= (+ ~X~0 thread1Thread1of1ForFork1_~x~0) 20000) (<= 10000 thread1Thread1of1ForFork1_~x~0))} is VALID [2022-02-20 20:58:12,983 INFO L290 TraceCheckUtils]: 34: Hoare triple {1427#(and (= ~Y~0 0) (<= (+ ~X~0 thread1Thread1of1ForFork1_~x~0) 20000) (<= 10000 thread1Thread1of1ForFork1_~x~0))} [116] L74-->L74-1: Formula: (= |v_ULTIMATE.start_main_#t~pre6#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1] {1427#(and (= ~Y~0 0) (<= (+ ~X~0 thread1Thread1of1ForFork1_~x~0) 20000) (<= 10000 thread1Thread1of1ForFork1_~x~0))} is VALID [2022-02-20 20:58:12,984 INFO L290 TraceCheckUtils]: 35: Hoare triple {1427#(and (= ~Y~0 0) (<= (+ ~X~0 thread1Thread1of1ForFork1_~x~0) 20000) (<= 10000 thread1Thread1of1ForFork1_~x~0))} [147] L74-1-->L74-2: Formula: (= (+ 1 |v_#pthreadsForks_6|) |v_#pthreadsForks_5|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_5|} AuxVars[] AssignedVars[#pthreadsForks] {1427#(and (= ~Y~0 0) (<= (+ ~X~0 thread1Thread1of1ForFork1_~x~0) 20000) (<= 10000 thread1Thread1of1ForFork1_~x~0))} is VALID [2022-02-20 20:58:12,984 INFO L290 TraceCheckUtils]: 36: Hoare triple {1427#(and (= ~Y~0 0) (<= (+ ~X~0 thread1Thread1of1ForFork1_~x~0) 20000) (<= 10000 thread1Thread1of1ForFork1_~x~0))} [156] L74-2-->L74-3: Formula: (= (store |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3| (store (select |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3|) |v_ULTIMATE.start_main_~#t2~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre6#1_3|)) |v_#memory_int_5|) InVars {#memory_int=|v_#memory_int_6|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} OutVars{#memory_int=|v_#memory_int_5|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} AuxVars[] AssignedVars[#memory_int] {1427#(and (= ~Y~0 0) (<= (+ ~X~0 thread1Thread1of1ForFork1_~x~0) 20000) (<= 10000 thread1Thread1of1ForFork1_~x~0))} is VALID [2022-02-20 20:58:12,985 INFO L290 TraceCheckUtils]: 37: Hoare triple {1427#(and (= ~Y~0 0) (<= (+ ~X~0 thread1Thread1of1ForFork1_~x~0) 20000) (<= 10000 thread1Thread1of1ForFork1_~x~0))} [221] L74-3-->thread2ENTRY: Formula: (and (= v_thread2Thread1of1ForFork0_thidvar2_2 0) (= v_thread2Thread1of1ForFork0_thidvar1_2 0) (= |v_ULTIMATE.start_main_#t~pre6#1_6| v_thread2Thread1of1ForFork0_thidvar0_2)) InVars {ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_6|} OutVars{thread2Thread1of1ForFork0_#res.offset=|v_thread2Thread1of1ForFork0_#res.offset_4|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_6|, thread2Thread1of1ForFork0_#res.base=|v_thread2Thread1of1ForFork0_#res.base_4|, thread2Thread1of1ForFork0_thidvar2=v_thread2Thread1of1ForFork0_thidvar2_2, thread2Thread1of1ForFork0_thidvar1=v_thread2Thread1of1ForFork0_thidvar1_2, thread2Thread1of1ForFork0_thidvar0=v_thread2Thread1of1ForFork0_thidvar0_2, thread2Thread1of1ForFork0_~x~1=v_thread2Thread1of1ForFork0_~x~1_16, thread2Thread1of1ForFork0_#t~post2=|v_thread2Thread1of1ForFork0_#t~post2_8|} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_#res.offset, thread2Thread1of1ForFork0_#res.base, thread2Thread1of1ForFork0_thidvar2, thread2Thread1of1ForFork0_thidvar1, thread2Thread1of1ForFork0_thidvar0, thread2Thread1of1ForFork0_~x~1, thread2Thread1of1ForFork0_#t~post2] {1427#(and (= ~Y~0 0) (<= (+ ~X~0 thread1Thread1of1ForFork1_~x~0) 20000) (<= 10000 thread1Thread1of1ForFork1_~x~0))} is VALID [2022-02-20 20:58:12,985 INFO L290 TraceCheckUtils]: 38: Hoare triple {1427#(and (= ~Y~0 0) (<= (+ ~X~0 thread1Thread1of1ForFork1_~x~0) 20000) (<= 10000 thread1Thread1of1ForFork1_~x~0))} [209] thread2ENTRY-->L55: Formula: true InVars {} OutVars{thread2Thread1of1ForFork0_~x~1=v_thread2Thread1of1ForFork0_~x~1_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_~x~1] {1427#(and (= ~Y~0 0) (<= (+ ~X~0 thread1Thread1of1ForFork1_~x~0) 20000) (<= 10000 thread1Thread1of1ForFork1_~x~0))} is VALID [2022-02-20 20:58:12,985 INFO L290 TraceCheckUtils]: 39: Hoare triple {1427#(and (= ~Y~0 0) (<= (+ ~X~0 thread1Thread1of1ForFork1_~x~0) 20000) (<= 10000 thread1Thread1of1ForFork1_~x~0))} [210] L55-->L56-2: Formula: (= v_thread2Thread1of1ForFork0_~x~1_3 v_~X~0_2) InVars {~X~0=v_~X~0_2} OutVars{~X~0=v_~X~0_2, thread2Thread1of1ForFork0_~x~1=v_thread2Thread1of1ForFork0_~x~1_3} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_~x~1] {1428#(and (= ~Y~0 0) (<= 10000 thread1Thread1of1ForFork1_~x~0) (<= (+ thread2Thread1of1ForFork0_~x~1 thread1Thread1of1ForFork1_~x~0) 20000))} is VALID [2022-02-20 20:58:12,986 INFO L290 TraceCheckUtils]: 40: Hoare triple {1428#(and (= ~Y~0 0) (<= 10000 thread1Thread1of1ForFork1_~x~0) (<= (+ thread2Thread1of1ForFork0_~x~1 thread1Thread1of1ForFork1_~x~0) 20000))} [212] L56-2-->L56-3: Formula: (not (< v_thread2Thread1of1ForFork0_~x~1_5 10000)) InVars {thread2Thread1of1ForFork0_~x~1=v_thread2Thread1of1ForFork0_~x~1_5} OutVars{thread2Thread1of1ForFork0_~x~1=v_thread2Thread1of1ForFork0_~x~1_5} AuxVars[] AssignedVars[] {1429#(and (= ~Y~0 0) (<= 20000 (+ thread2Thread1of1ForFork0_~x~1 thread1Thread1of1ForFork1_~x~0)) (<= (+ thread2Thread1of1ForFork0_~x~1 thread1Thread1of1ForFork1_~x~0) 20000))} is VALID [2022-02-20 20:58:12,987 INFO L290 TraceCheckUtils]: 41: Hoare triple {1429#(and (= ~Y~0 0) (<= 20000 (+ thread2Thread1of1ForFork0_~x~1 thread1Thread1of1ForFork1_~x~0)) (<= (+ thread2Thread1of1ForFork0_~x~1 thread1Thread1of1ForFork1_~x~0) 20000))} [203] L43-3-->L48: Formula: (= (+ v_thread1Thread1of1ForFork1_~x~0_9 v_~Y~0_2) v_~Y~0_1) InVars {~Y~0=v_~Y~0_2, thread1Thread1of1ForFork1_~x~0=v_thread1Thread1of1ForFork1_~x~0_9} OutVars{~Y~0=v_~Y~0_1, thread1Thread1of1ForFork1_~x~0=v_thread1Thread1of1ForFork1_~x~0_9} AuxVars[] AssignedVars[~Y~0] {1430#(and (<= 20000 (+ ~Y~0 thread2Thread1of1ForFork0_~x~1)) (<= (+ ~Y~0 thread2Thread1of1ForFork0_~x~1) 20000))} is VALID [2022-02-20 20:58:12,987 INFO L290 TraceCheckUtils]: 42: Hoare triple {1430#(and (<= 20000 (+ ~Y~0 thread2Thread1of1ForFork0_~x~1)) (<= (+ ~Y~0 thread2Thread1of1ForFork0_~x~1) 20000))} [205] L48-->thread1FINAL: Formula: (and (= |v_thread1Thread1of1ForFork1_#res.base_1| 0) (= |v_thread1Thread1of1ForFork1_#res.offset_1| 0)) InVars {} OutVars{thread1Thread1of1ForFork1_#res.offset=|v_thread1Thread1of1ForFork1_#res.offset_1|, thread1Thread1of1ForFork1_#res.base=|v_thread1Thread1of1ForFork1_#res.base_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork1_#res.base, thread1Thread1of1ForFork1_#res.offset] {1430#(and (<= 20000 (+ ~Y~0 thread2Thread1of1ForFork0_~x~1)) (<= (+ ~Y~0 thread2Thread1of1ForFork0_~x~1) 20000))} is VALID [2022-02-20 20:58:12,987 INFO L290 TraceCheckUtils]: 43: Hoare triple {1430#(and (<= 20000 (+ ~Y~0 thread2Thread1of1ForFork0_~x~1)) (<= (+ ~Y~0 thread2Thread1of1ForFork0_~x~1) 20000))} [207] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1430#(and (<= 20000 (+ ~Y~0 thread2Thread1of1ForFork0_~x~1)) (<= (+ ~Y~0 thread2Thread1of1ForFork0_~x~1) 20000))} is VALID [2022-02-20 20:58:12,988 INFO L290 TraceCheckUtils]: 44: Hoare triple {1430#(and (<= 20000 (+ ~Y~0 thread2Thread1of1ForFork0_~x~1)) (<= (+ ~Y~0 thread2Thread1of1ForFork0_~x~1) 20000))} [120] L74-4-->L74-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1] {1430#(and (<= 20000 (+ ~Y~0 thread2Thread1of1ForFork0_~x~1)) (<= (+ ~Y~0 thread2Thread1of1ForFork0_~x~1) 20000))} is VALID [2022-02-20 20:58:12,988 INFO L290 TraceCheckUtils]: 45: Hoare triple {1430#(and (<= 20000 (+ ~Y~0 thread2Thread1of1ForFork0_~x~1)) (<= (+ ~Y~0 thread2Thread1of1ForFork0_~x~1) 20000))} [191] L74-5-->L75: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet7#1=|v_ULTIMATE.start_main_#t~nondet7#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet7#1] {1430#(and (<= 20000 (+ ~Y~0 thread2Thread1of1ForFork0_~x~1)) (<= (+ ~Y~0 thread2Thread1of1ForFork0_~x~1) 20000))} is VALID [2022-02-20 20:58:12,989 INFO L290 TraceCheckUtils]: 46: Hoare triple {1430#(and (<= 20000 (+ ~Y~0 thread2Thread1of1ForFork0_~x~1)) (<= (+ ~Y~0 thread2Thread1of1ForFork0_~x~1) 20000))} [187] L75-->L75-1: Formula: (= |v_ULTIMATE.start_main_#t~mem8#1_2| (select (select |v_#memory_int_7| |v_ULTIMATE.start_main_~#t1~0#1.base_4|) |v_ULTIMATE.start_main_~#t1~0#1.offset_4|)) InVars {#memory_int=|v_#memory_int_7|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_4|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_4|} OutVars{#memory_int=|v_#memory_int_7|, ULTIMATE.start_main_#t~mem8#1=|v_ULTIMATE.start_main_#t~mem8#1_2|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_4|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem8#1] {1430#(and (<= 20000 (+ ~Y~0 thread2Thread1of1ForFork0_~x~1)) (<= (+ ~Y~0 thread2Thread1of1ForFork0_~x~1) 20000))} is VALID [2022-02-20 20:58:12,989 INFO L290 TraceCheckUtils]: 47: Hoare triple {1430#(and (<= 20000 (+ ~Y~0 thread2Thread1of1ForFork0_~x~1)) (<= (+ ~Y~0 thread2Thread1of1ForFork0_~x~1) 20000))} [224] thread1EXIT-->L75-2: Formula: (and (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem8#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ .cse0 (- 4294967296)))) v_thread1Thread1of1ForFork1_thidvar0_4) (= 0 v_thread1Thread1of1ForFork1_thidvar1_4)) InVars {ULTIMATE.start_main_#t~mem8#1=|v_ULTIMATE.start_main_#t~mem8#1_5|, thread1Thread1of1ForFork1_thidvar1=v_thread1Thread1of1ForFork1_thidvar1_4, thread1Thread1of1ForFork1_thidvar0=v_thread1Thread1of1ForFork1_thidvar0_4} OutVars{ULTIMATE.start_main_#t~mem8#1=|v_ULTIMATE.start_main_#t~mem8#1_5|, thread1Thread1of1ForFork1_thidvar1=v_thread1Thread1of1ForFork1_thidvar1_4, thread1Thread1of1ForFork1_thidvar0=v_thread1Thread1of1ForFork1_thidvar0_4} AuxVars[] AssignedVars[] {1430#(and (<= 20000 (+ ~Y~0 thread2Thread1of1ForFork0_~x~1)) (<= (+ ~Y~0 thread2Thread1of1ForFork0_~x~1) 20000))} is VALID [2022-02-20 20:58:12,990 INFO L290 TraceCheckUtils]: 48: Hoare triple {1430#(and (<= 20000 (+ ~Y~0 thread2Thread1of1ForFork0_~x~1)) (<= (+ ~Y~0 thread2Thread1of1ForFork0_~x~1) 20000))} [214] L56-3-->L61: Formula: (= (+ v_thread2Thread1of1ForFork0_~x~1_9 v_~Y~0_4) v_~Y~0_3) InVars {thread2Thread1of1ForFork0_~x~1=v_thread2Thread1of1ForFork0_~x~1_9, ~Y~0=v_~Y~0_4} OutVars{thread2Thread1of1ForFork0_~x~1=v_thread2Thread1of1ForFork0_~x~1_9, ~Y~0=v_~Y~0_3} AuxVars[] AssignedVars[~Y~0] {1431#(and (<= ~Y~0 20000) (< 19999 ~Y~0))} is VALID [2022-02-20 20:58:12,990 INFO L290 TraceCheckUtils]: 49: Hoare triple {1431#(and (<= ~Y~0 20000) (< 19999 ~Y~0))} [172] L75-2-->L76: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem8#1=|v_ULTIMATE.start_main_#t~mem8#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem8#1] {1431#(and (<= ~Y~0 20000) (< 19999 ~Y~0))} is VALID [2022-02-20 20:58:12,991 INFO L290 TraceCheckUtils]: 50: Hoare triple {1431#(and (<= ~Y~0 20000) (< 19999 ~Y~0))} [195] L76-->L76-1: Formula: (= |v_ULTIMATE.start_main_#t~mem9#1_2| (select (select |v_#memory_int_8| |v_ULTIMATE.start_main_~#t2~0#1.base_4|) |v_ULTIMATE.start_main_~#t2~0#1.offset_4|)) InVars {#memory_int=|v_#memory_int_8|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_4|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} OutVars{#memory_int=|v_#memory_int_8|, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_2|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_4|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem9#1] {1431#(and (<= ~Y~0 20000) (< 19999 ~Y~0))} is VALID [2022-02-20 20:58:12,991 INFO L290 TraceCheckUtils]: 51: Hoare triple {1431#(and (<= ~Y~0 20000) (< 19999 ~Y~0))} [216] L61-->thread2FINAL: Formula: (and (= |v_thread2Thread1of1ForFork0_#res.base_1| 0) (= |v_thread2Thread1of1ForFork0_#res.offset_1| 0)) InVars {} OutVars{thread2Thread1of1ForFork0_#res.offset=|v_thread2Thread1of1ForFork0_#res.offset_1|, thread2Thread1of1ForFork0_#res.base=|v_thread2Thread1of1ForFork0_#res.base_1|} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_#res.offset, thread2Thread1of1ForFork0_#res.base] {1431#(and (<= ~Y~0 20000) (< 19999 ~Y~0))} is VALID [2022-02-20 20:58:12,992 INFO L290 TraceCheckUtils]: 52: Hoare triple {1431#(and (<= ~Y~0 20000) (< 19999 ~Y~0))} [218] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1431#(and (<= ~Y~0 20000) (< 19999 ~Y~0))} is VALID [2022-02-20 20:58:12,992 INFO L290 TraceCheckUtils]: 53: Hoare triple {1431#(and (<= ~Y~0 20000) (< 19999 ~Y~0))} [225] thread2EXIT-->L76-2: Formula: (and (= v_thread2Thread1of1ForFork0_thidvar2_4 0) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem9#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ (- 4294967296) .cse0))) v_thread2Thread1of1ForFork0_thidvar0_4) (= v_thread2Thread1of1ForFork0_thidvar1_4 0)) InVars {thread2Thread1of1ForFork0_thidvar2=v_thread2Thread1of1ForFork0_thidvar2_4, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_5|, thread2Thread1of1ForFork0_thidvar1=v_thread2Thread1of1ForFork0_thidvar1_4, thread2Thread1of1ForFork0_thidvar0=v_thread2Thread1of1ForFork0_thidvar0_4} OutVars{thread2Thread1of1ForFork0_thidvar2=v_thread2Thread1of1ForFork0_thidvar2_4, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_5|, thread2Thread1of1ForFork0_thidvar1=v_thread2Thread1of1ForFork0_thidvar1_4, thread2Thread1of1ForFork0_thidvar0=v_thread2Thread1of1ForFork0_thidvar0_4} AuxVars[] AssignedVars[] {1431#(and (<= ~Y~0 20000) (< 19999 ~Y~0))} is VALID [2022-02-20 20:58:12,993 INFO L290 TraceCheckUtils]: 54: Hoare triple {1431#(and (<= ~Y~0 20000) (< 19999 ~Y~0))} [181] L76-2-->L78: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem9#1] {1431#(and (<= ~Y~0 20000) (< 19999 ~Y~0))} is VALID [2022-02-20 20:58:12,993 INFO L290 TraceCheckUtils]: 55: Hoare triple {1431#(and (<= ~Y~0 20000) (< 19999 ~Y~0))} [135] L78-->L78-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1431#(and (<= ~Y~0 20000) (< 19999 ~Y~0))} is VALID [2022-02-20 20:58:12,993 INFO L290 TraceCheckUtils]: 56: Hoare triple {1431#(and (<= ~Y~0 20000) (< 19999 ~Y~0))} [139] L78-1-->L78-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3| (ite (not (= 20000 v_~Y~0_6)) 1 0)) InVars {~Y~0=v_~Y~0_6} OutVars{~Y~0=v_~Y~0_6, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] {1432#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} is VALID [2022-02-20 20:58:12,994 INFO L290 TraceCheckUtils]: 57: Hoare triple {1432#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} [164] L78-2-->L34-2: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_5|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {1432#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} is VALID [2022-02-20 20:58:12,994 INFO L290 TraceCheckUtils]: 58: Hoare triple {1432#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} [158] L34-2-->L35-3: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {1433#(= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0)} is VALID [2022-02-20 20:58:12,994 INFO L290 TraceCheckUtils]: 59: Hoare triple {1433#(= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0)} [122] L35-3-->L34-3: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_8| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_8|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_8|} AuxVars[] AssignedVars[] {1421#false} is VALID [2022-02-20 20:58:12,994 INFO L290 TraceCheckUtils]: 60: Hoare triple {1421#false} [128] L34-3-->L79: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1421#false} is VALID [2022-02-20 20:58:12,995 INFO L290 TraceCheckUtils]: 61: Hoare triple {1421#false} [179] L79-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1421#false} is VALID [2022-02-20 20:58:12,995 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:58:12,995 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 20:58:12,995 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1126381760] [2022-02-20 20:58:12,996 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1126381760] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 20:58:12,996 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 20:58:12,996 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-02-20 20:58:12,996 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [25327779] [2022-02-20 20:58:12,996 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 20:58:12,996 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 4.428571428571429) internal successors, (62), 14 states have internal predecessors, (62), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 62 [2022-02-20 20:58:12,997 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 20:58:12,997 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 4.428571428571429) internal successors, (62), 14 states have internal predecessors, (62), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:58:13,036 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 20:58:13,036 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-02-20 20:58:13,036 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 20:58:13,036 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-02-20 20:58:13,037 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=146, Unknown=0, NotChecked=0, Total=182 [2022-02-20 20:58:13,038 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 51 out of 87 [2022-02-20 20:58:13,038 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 92 places, 82 transitions, 241 flow. Second operand has 14 states, 14 states have (on average 52.642857142857146) internal successors, (737), 14 states have internal predecessors, (737), 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:58:13,039 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 20:58:13,039 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 51 of 87 [2022-02-20 20:58:13,039 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 20:58:14,618 INFO L129 PetriNetUnfolder]: 111/370 cut-off events. [2022-02-20 20:58:14,619 INFO L130 PetriNetUnfolder]: For 151/151 co-relation queries the response was YES. [2022-02-20 20:58:14,620 INFO L84 FinitePrefix]: Finished finitePrefix Result has 823 conditions, 370 events. 111/370 cut-off events. For 151/151 co-relation queries the response was YES. Maximal size of possible extension queue 26. Compared 1731 event pairs, 31 based on Foata normal form. 1/366 useless extension candidates. Maximal degree in co-relation 812. Up to 98 conditions per place. [2022-02-20 20:58:14,622 INFO L132 encePairwiseOnDemand]: 71/87 looper letters, 54 selfloop transitions, 18 changer transitions 8/121 dead transitions. [2022-02-20 20:58:14,622 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 101 places, 121 transitions, 526 flow [2022-02-20 20:58:14,622 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-02-20 20:58:14,622 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2022-02-20 20:58:14,628 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 792 transitions. [2022-02-20 20:58:14,629 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.6502463054187192 [2022-02-20 20:58:14,629 INFO L72 ComplementDD]: Start complementDD. Operand 14 states and 792 transitions. [2022-02-20 20:58:14,629 INFO L73 IsDeterministic]: Start isDeterministic. Operand 14 states and 792 transitions. [2022-02-20 20:58:14,629 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 20:58:14,629 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 14 states and 792 transitions. [2022-02-20 20:58:14,631 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 15 states, 14 states have (on average 56.57142857142857) internal successors, (792), 14 states have internal predecessors, (792), 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:58:14,632 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 15 states, 15 states have (on average 87.0) internal successors, (1305), 15 states have internal predecessors, (1305), 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:58:14,633 INFO L81 ComplementDD]: Finished complementDD. Result has 15 states, 15 states have (on average 87.0) internal successors, (1305), 15 states have internal predecessors, (1305), 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:58:14,633 INFO L186 Difference]: Start difference. First operand has 92 places, 82 transitions, 241 flow. Second operand 14 states and 792 transitions. [2022-02-20 20:58:14,633 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 101 places, 121 transitions, 526 flow [2022-02-20 20:58:22,075 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 95 places, 121 transitions, 510 flow, removed 5 selfloop flow, removed 6 redundant places. [2022-02-20 20:58:22,077 INFO L242 Difference]: Finished difference. Result has 101 places, 87 transitions, 309 flow [2022-02-20 20:58:22,078 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=87, PETRI_DIFFERENCE_MINUEND_FLOW=229, PETRI_DIFFERENCE_MINUEND_PLACES=82, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=82, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=13, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=66, PETRI_DIFFERENCE_SUBTRAHEND_STATES=14, PETRI_FLOW=309, PETRI_PLACES=101, PETRI_TRANSITIONS=87} [2022-02-20 20:58:22,078 INFO L334 CegarLoopForPetriNet]: 77 programPoint places, 24 predicate places. [2022-02-20 20:58:22,078 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 101 places, 87 transitions, 309 flow [2022-02-20 20:58:22,099 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 780 states, 779 states have (on average 2.5378690629011555) internal successors, (1977), 779 states have internal predecessors, (1977), 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:58:22,100 INFO L78 Accepts]: Start accepts. Automaton has has 780 states, 779 states have (on average 2.5378690629011555) internal successors, (1977), 779 states have internal predecessors, (1977), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 62 [2022-02-20 20:58:22,100 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 20:58:22,100 INFO L470 AbstractCegarLoop]: Abstraction has has 101 places, 87 transitions, 309 flow [2022-02-20 20:58:22,101 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 52.642857142857146) internal successors, (737), 14 states have internal predecessors, (737), 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:58:22,101 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:58:22,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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 20:58:22,101 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-02-20 20:58:22,102 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION] === [2022-02-20 20:58:22,102 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:58:22,102 INFO L85 PathProgramCache]: Analyzing trace with hash 1386736289, now seen corresponding path program 3 times [2022-02-20 20:58:22,102 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:58:22,102 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [33795122] [2022-02-20 20:58:22,103 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:58:22,103 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:58:22,128 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:58:22,290 INFO L290 TraceCheckUtils]: 0: Hoare triple {2236#true} [178] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2236#true} is VALID [2022-02-20 20:58:22,290 INFO L290 TraceCheckUtils]: 1: Hoare triple {2236#true} [155] 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] {2236#true} is VALID [2022-02-20 20:58:22,291 INFO L290 TraceCheckUtils]: 2: Hoare triple {2236#true} [184] L-1-1-->L-1-2: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] {2236#true} is VALID [2022-02-20 20:58:22,291 INFO L290 TraceCheckUtils]: 3: Hoare triple {2236#true} [185] L-1-2-->L21: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {2236#true} is VALID [2022-02-20 20:58:22,291 INFO L290 TraceCheckUtils]: 4: Hoare triple {2236#true} [146] L21-->L21-1: Formula: (and (= (select |v_#valid_2| 1) 1) (= 2 (select |v_#length_1| 1))) InVars {#length=|v_#length_1|, #valid=|v_#valid_2|} OutVars{#length=|v_#length_1|, #valid=|v_#valid_2|} AuxVars[] AssignedVars[] {2236#true} is VALID [2022-02-20 20:58:22,291 INFO L290 TraceCheckUtils]: 5: Hoare triple {2236#true} [173] L21-1-->L21-2: Formula: (= 48 (select (select |v_#memory_int_1| 1) 0)) InVars {#memory_int=|v_#memory_int_1|} OutVars{#memory_int=|v_#memory_int_1|} AuxVars[] AssignedVars[] {2236#true} is VALID [2022-02-20 20:58:22,291 INFO L290 TraceCheckUtils]: 6: Hoare triple {2236#true} [169] L21-2-->L21-3: Formula: (= (select (select |v_#memory_int_2| 1) 1) 0) InVars {#memory_int=|v_#memory_int_2|} OutVars{#memory_int=|v_#memory_int_2|} AuxVars[] AssignedVars[] {2236#true} is VALID [2022-02-20 20:58:22,291 INFO L290 TraceCheckUtils]: 7: Hoare triple {2236#true} [129] L21-3-->L21-4: Formula: (and (= 18 (select |v_#length_2| 2)) (= (select |v_#valid_3| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {2236#true} is VALID [2022-02-20 20:58:22,291 INFO L290 TraceCheckUtils]: 8: Hoare triple {2236#true} [192] L21-4-->L38: Formula: (= v_~X~0_3 0) InVars {} OutVars{~X~0=v_~X~0_3} AuxVars[] AssignedVars[~X~0] {2236#true} is VALID [2022-02-20 20:58:22,292 INFO L290 TraceCheckUtils]: 9: Hoare triple {2236#true} [193] L38-->L-1-3: Formula: (= v_~Y~0_5 0) InVars {} OutVars{~Y~0=v_~Y~0_5} AuxVars[] AssignedVars[~Y~0] {2238#(= ~Y~0 0)} is VALID [2022-02-20 20:58:22,292 INFO L290 TraceCheckUtils]: 10: Hoare triple {2238#(= ~Y~0 0)} [188] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2238#(= ~Y~0 0)} is VALID [2022-02-20 20:58:22,292 INFO L290 TraceCheckUtils]: 11: Hoare triple {2238#(= ~Y~0 0)} [166] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2238#(= ~Y~0 0)} is VALID [2022-02-20 20:58:22,293 INFO L290 TraceCheckUtils]: 12: Hoare triple {2238#(= ~Y~0 0)} [126] L-1-5-->L-1-6: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {2238#(= ~Y~0 0)} is VALID [2022-02-20 20:58:22,293 INFO L290 TraceCheckUtils]: 13: Hoare triple {2238#(= ~Y~0 0)} [163] L-1-6-->L67: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_#t~mem8#1=|v_ULTIMATE.start_main_#t~mem8#1_1|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_1|, ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_1|, ULTIMATE.start_main_#t~nondet7#1=|v_ULTIMATE.start_main_#t~nondet7#1_1|, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_1|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_1|, ULTIMATE.start_main_#t~pre4#1=|v_ULTIMATE.start_main_#t~pre4#1_1|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_1|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_#t~mem8#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_#t~nondet5#1, ULTIMATE.start_main_#t~nondet7#1, ULTIMATE.start_main_#t~mem9#1, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_#t~pre4#1, ULTIMATE.start_main_~#t1~0#1.offset, ULTIMATE.start_main_~#t2~0#1.base] {2238#(= ~Y~0 0)} is VALID [2022-02-20 20:58:22,293 INFO L290 TraceCheckUtils]: 14: Hoare triple {2238#(= ~Y~0 0)} [177] L67-->L67-1: Formula: (and (= |v_ULTIMATE.start_main_~#t1~0#1.offset_2| 0) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) 0) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 4)) (not (= |v_ULTIMATE.start_main_~#t1~0#1.base_2| 0)) (= (store |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 1) |v_#valid_4|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_2|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[#valid, #length, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset] {2238#(= ~Y~0 0)} is VALID [2022-02-20 20:58:22,294 INFO L290 TraceCheckUtils]: 15: Hoare triple {2238#(= ~Y~0 0)} [140] L67-1-->L67-2: Formula: (and (= |v_#length_5| (store |v_#length_6| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 4)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2|) 0) (= (store |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 1) |v_#valid_6|) (not (= |v_ULTIMATE.start_main_~#t2~0#1.base_2| 0)) (= 0 |v_ULTIMATE.start_main_~#t2~0#1.offset_2|) (< |v_#StackHeapBarrier_3| |v_ULTIMATE.start_main_~#t2~0#1.base_2|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_7|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_5|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_2|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t2~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t2~0#1.base] {2238#(= ~Y~0 0)} is VALID [2022-02-20 20:58:22,294 INFO L290 TraceCheckUtils]: 16: Hoare triple {2238#(= ~Y~0 0)} [124] L67-2-->L69: Formula: (and (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet3#1_2| 2147483648)) (<= |v_ULTIMATE.start_main_#t~nondet3#1_2| 2147483647)) InVars {ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[] {2238#(= ~Y~0 0)} is VALID [2022-02-20 20:58:22,295 INFO L290 TraceCheckUtils]: 17: Hoare triple {2238#(= ~Y~0 0)} [125] L69-->L69-1: Formula: (= |v_ULTIMATE.start_main_#t~nondet3#1_3| v_~X~0_4) InVars {ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_3|} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_3|, ~X~0=v_~X~0_4} AuxVars[] AssignedVars[~X~0] {2238#(= ~Y~0 0)} is VALID [2022-02-20 20:58:22,299 INFO L290 TraceCheckUtils]: 18: Hoare triple {2238#(= ~Y~0 0)} [186] L69-1-->L70: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] {2238#(= ~Y~0 0)} is VALID [2022-02-20 20:58:22,299 INFO L290 TraceCheckUtils]: 19: Hoare triple {2238#(= ~Y~0 0)} [194] L70-->L70-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2238#(= ~Y~0 0)} is VALID [2022-02-20 20:58:22,301 INFO L290 TraceCheckUtils]: 20: Hoare triple {2238#(= ~Y~0 0)} [143] L70-1-->L70-2: Formula: (= (ite (<= v_~X~0_5 10000) 1 0) |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1|) InVars {~X~0=v_~X~0_5} OutVars{~X~0=v_~X~0_5, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] {2239#(or (and (= ~Y~0 0) (<= ~X~0 10000)) (and (not (<= ~X~0 10000)) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)))} is VALID [2022-02-20 20:58:22,301 INFO L290 TraceCheckUtils]: 21: Hoare triple {2239#(or (and (= ~Y~0 0) (<= ~X~0 10000)) (and (not (<= ~X~0 10000)) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)))} [142] L70-2-->L34: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {2239#(or (and (= ~Y~0 0) (<= ~X~0 10000)) (and (not (<= ~X~0 10000)) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)))} is VALID [2022-02-20 20:58:22,301 INFO L290 TraceCheckUtils]: 22: Hoare triple {2239#(or (and (= ~Y~0 0) (<= ~X~0 10000)) (and (not (<= ~X~0 10000)) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)))} [144] L34-->L35: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_2|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_2|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {2240#(or (and (= ~Y~0 0) (<= ~X~0 10000)) (and (not (<= ~X~0 10000)) (= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0)))} is VALID [2022-02-20 20:58:22,302 INFO L290 TraceCheckUtils]: 23: Hoare triple {2240#(or (and (= ~Y~0 0) (<= ~X~0 10000)) (and (not (<= ~X~0 10000)) (= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0)))} [175] L35-->L34-1: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_4| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_4|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_4|} AuxVars[] AssignedVars[] {2241#(and (= ~Y~0 0) (<= ~X~0 10000))} is VALID [2022-02-20 20:58:22,302 INFO L290 TraceCheckUtils]: 24: Hoare triple {2241#(and (= ~Y~0 0) (<= ~X~0 10000))} [167] L34-1-->L73: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2241#(and (= ~Y~0 0) (<= ~X~0 10000))} is VALID [2022-02-20 20:58:22,302 INFO L290 TraceCheckUtils]: 25: Hoare triple {2241#(and (= ~Y~0 0) (<= ~X~0 10000))} [150] L73-->L73-1: Formula: (= |v_ULTIMATE.start_main_#t~pre4#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre4#1=|v_ULTIMATE.start_main_#t~pre4#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre4#1] {2241#(and (= ~Y~0 0) (<= ~X~0 10000))} is VALID [2022-02-20 20:58:22,315 INFO L290 TraceCheckUtils]: 26: Hoare triple {2241#(and (= ~Y~0 0) (<= ~X~0 10000))} [165] L73-1-->L73-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {2241#(and (= ~Y~0 0) (<= ~X~0 10000))} is VALID [2022-02-20 20:58:22,316 INFO L290 TraceCheckUtils]: 27: Hoare triple {2241#(and (= ~Y~0 0) (<= ~X~0 10000))} [151] L73-2-->L73-3: Formula: (= (store |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3| (store (select |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3|) |v_ULTIMATE.start_main_~#t1~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre4#1_3|)) |v_#memory_int_3|) InVars {#memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_#t~pre4#1=|v_ULTIMATE.start_main_#t~pre4#1_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} OutVars{#memory_int=|v_#memory_int_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_#t~pre4#1=|v_ULTIMATE.start_main_#t~pre4#1_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} AuxVars[] AssignedVars[#memory_int] {2241#(and (= ~Y~0 0) (<= ~X~0 10000))} is VALID [2022-02-20 20:58:22,316 INFO L290 TraceCheckUtils]: 28: Hoare triple {2241#(and (= ~Y~0 0) (<= ~X~0 10000))} [223] L73-3-->thread1ENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre4#1_6| v_thread1Thread1of1ForFork1_thidvar0_2) (= 0 v_thread1Thread1of1ForFork1_thidvar1_2)) InVars {ULTIMATE.start_main_#t~pre4#1=|v_ULTIMATE.start_main_#t~pre4#1_6|} OutVars{thread1Thread1of1ForFork1_#res.base=|v_thread1Thread1of1ForFork1_#res.base_4|, thread1Thread1of1ForFork1_#t~post1=|v_thread1Thread1of1ForFork1_#t~post1_8|, thread1Thread1of1ForFork1_~x~0=v_thread1Thread1of1ForFork1_~x~0_16, thread1Thread1of1ForFork1_#res.offset=|v_thread1Thread1of1ForFork1_#res.offset_4|, thread1Thread1of1ForFork1_thidvar1=v_thread1Thread1of1ForFork1_thidvar1_2, ULTIMATE.start_main_#t~pre4#1=|v_ULTIMATE.start_main_#t~pre4#1_6|, thread1Thread1of1ForFork1_thidvar0=v_thread1Thread1of1ForFork1_thidvar0_2} AuxVars[] AssignedVars[thread1Thread1of1ForFork1_#res.base, thread1Thread1of1ForFork1_#t~post1, thread1Thread1of1ForFork1_~x~0, thread1Thread1of1ForFork1_#res.offset, thread1Thread1of1ForFork1_thidvar1, thread1Thread1of1ForFork1_thidvar0] {2241#(and (= ~Y~0 0) (<= ~X~0 10000))} is VALID [2022-02-20 20:58:22,317 INFO L290 TraceCheckUtils]: 29: Hoare triple {2241#(and (= ~Y~0 0) (<= ~X~0 10000))} [198] thread1ENTRY-->L42: Formula: true InVars {} OutVars{thread1Thread1of1ForFork1_~x~0=v_thread1Thread1of1ForFork1_~x~0_1} AuxVars[] AssignedVars[thread1Thread1of1ForFork1_~x~0] {2241#(and (= ~Y~0 0) (<= ~X~0 10000))} is VALID [2022-02-20 20:58:22,317 INFO L290 TraceCheckUtils]: 30: Hoare triple {2241#(and (= ~Y~0 0) (<= ~X~0 10000))} [199] L42-->L43-2: Formula: (= v_thread1Thread1of1ForFork1_~x~0_3 v_~X~0_1) InVars {~X~0=v_~X~0_1} OutVars{~X~0=v_~X~0_1, thread1Thread1of1ForFork1_~x~0=v_thread1Thread1of1ForFork1_~x~0_3} AuxVars[] AssignedVars[thread1Thread1of1ForFork1_~x~0] {2242#(and (= ~Y~0 0) (<= (+ ~X~0 thread1Thread1of1ForFork1_~x~0) 20000))} is VALID [2022-02-20 20:58:22,317 INFO L290 TraceCheckUtils]: 31: Hoare triple {2242#(and (= ~Y~0 0) (<= (+ ~X~0 thread1Thread1of1ForFork1_~x~0) 20000))} [153] L73-4-->L73-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre4#1=|v_ULTIMATE.start_main_#t~pre4#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre4#1] {2242#(and (= ~Y~0 0) (<= (+ ~X~0 thread1Thread1of1ForFork1_~x~0) 20000))} is VALID [2022-02-20 20:58:22,318 INFO L290 TraceCheckUtils]: 32: Hoare triple {2242#(and (= ~Y~0 0) (<= (+ ~X~0 thread1Thread1of1ForFork1_~x~0) 20000))} [152] L73-5-->L74: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet5#1] {2242#(and (= ~Y~0 0) (<= (+ ~X~0 thread1Thread1of1ForFork1_~x~0) 20000))} is VALID [2022-02-20 20:58:22,318 INFO L290 TraceCheckUtils]: 33: Hoare triple {2242#(and (= ~Y~0 0) (<= (+ ~X~0 thread1Thread1of1ForFork1_~x~0) 20000))} [116] L74-->L74-1: Formula: (= |v_ULTIMATE.start_main_#t~pre6#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1] {2242#(and (= ~Y~0 0) (<= (+ ~X~0 thread1Thread1of1ForFork1_~x~0) 20000))} is VALID [2022-02-20 20:58:22,318 INFO L290 TraceCheckUtils]: 34: Hoare triple {2242#(and (= ~Y~0 0) (<= (+ ~X~0 thread1Thread1of1ForFork1_~x~0) 20000))} [147] L74-1-->L74-2: Formula: (= (+ 1 |v_#pthreadsForks_6|) |v_#pthreadsForks_5|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_5|} AuxVars[] AssignedVars[#pthreadsForks] {2242#(and (= ~Y~0 0) (<= (+ ~X~0 thread1Thread1of1ForFork1_~x~0) 20000))} is VALID [2022-02-20 20:58:22,319 INFO L290 TraceCheckUtils]: 35: Hoare triple {2242#(and (= ~Y~0 0) (<= (+ ~X~0 thread1Thread1of1ForFork1_~x~0) 20000))} [156] L74-2-->L74-3: Formula: (= (store |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3| (store (select |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3|) |v_ULTIMATE.start_main_~#t2~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre6#1_3|)) |v_#memory_int_5|) InVars {#memory_int=|v_#memory_int_6|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} OutVars{#memory_int=|v_#memory_int_5|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} AuxVars[] AssignedVars[#memory_int] {2242#(and (= ~Y~0 0) (<= (+ ~X~0 thread1Thread1of1ForFork1_~x~0) 20000))} is VALID [2022-02-20 20:58:22,319 INFO L290 TraceCheckUtils]: 36: Hoare triple {2242#(and (= ~Y~0 0) (<= (+ ~X~0 thread1Thread1of1ForFork1_~x~0) 20000))} [221] L74-3-->thread2ENTRY: Formula: (and (= v_thread2Thread1of1ForFork0_thidvar2_2 0) (= v_thread2Thread1of1ForFork0_thidvar1_2 0) (= |v_ULTIMATE.start_main_#t~pre6#1_6| v_thread2Thread1of1ForFork0_thidvar0_2)) InVars {ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_6|} OutVars{thread2Thread1of1ForFork0_#res.offset=|v_thread2Thread1of1ForFork0_#res.offset_4|, ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_6|, thread2Thread1of1ForFork0_#res.base=|v_thread2Thread1of1ForFork0_#res.base_4|, thread2Thread1of1ForFork0_thidvar2=v_thread2Thread1of1ForFork0_thidvar2_2, thread2Thread1of1ForFork0_thidvar1=v_thread2Thread1of1ForFork0_thidvar1_2, thread2Thread1of1ForFork0_thidvar0=v_thread2Thread1of1ForFork0_thidvar0_2, thread2Thread1of1ForFork0_~x~1=v_thread2Thread1of1ForFork0_~x~1_16, thread2Thread1of1ForFork0_#t~post2=|v_thread2Thread1of1ForFork0_#t~post2_8|} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_#res.offset, thread2Thread1of1ForFork0_#res.base, thread2Thread1of1ForFork0_thidvar2, thread2Thread1of1ForFork0_thidvar1, thread2Thread1of1ForFork0_thidvar0, thread2Thread1of1ForFork0_~x~1, thread2Thread1of1ForFork0_#t~post2] {2242#(and (= ~Y~0 0) (<= (+ ~X~0 thread1Thread1of1ForFork1_~x~0) 20000))} is VALID [2022-02-20 20:58:22,319 INFO L290 TraceCheckUtils]: 37: Hoare triple {2242#(and (= ~Y~0 0) (<= (+ ~X~0 thread1Thread1of1ForFork1_~x~0) 20000))} [209] thread2ENTRY-->L55: Formula: true InVars {} OutVars{thread2Thread1of1ForFork0_~x~1=v_thread2Thread1of1ForFork0_~x~1_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_~x~1] {2242#(and (= ~Y~0 0) (<= (+ ~X~0 thread1Thread1of1ForFork1_~x~0) 20000))} is VALID [2022-02-20 20:58:22,320 INFO L290 TraceCheckUtils]: 38: Hoare triple {2242#(and (= ~Y~0 0) (<= (+ ~X~0 thread1Thread1of1ForFork1_~x~0) 20000))} [210] L55-->L56-2: Formula: (= v_thread2Thread1of1ForFork0_~x~1_3 v_~X~0_2) InVars {~X~0=v_~X~0_2} OutVars{~X~0=v_~X~0_2, thread2Thread1of1ForFork0_~x~1=v_thread2Thread1of1ForFork0_~x~1_3} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_~x~1] {2243#(and (= ~Y~0 0) (<= (+ thread2Thread1of1ForFork0_~x~1 thread1Thread1of1ForFork1_~x~0) 20000))} is VALID [2022-02-20 20:58:22,320 INFO L290 TraceCheckUtils]: 39: Hoare triple {2243#(and (= ~Y~0 0) (<= (+ thread2Thread1of1ForFork0_~x~1 thread1Thread1of1ForFork1_~x~0) 20000))} [212] L56-2-->L56-3: Formula: (not (< v_thread2Thread1of1ForFork0_~x~1_5 10000)) InVars {thread2Thread1of1ForFork0_~x~1=v_thread2Thread1of1ForFork0_~x~1_5} OutVars{thread2Thread1of1ForFork0_~x~1=v_thread2Thread1of1ForFork0_~x~1_5} AuxVars[] AssignedVars[] {2244#(and (= ~Y~0 0) (<= 10000 thread2Thread1of1ForFork0_~x~1) (<= (+ thread2Thread1of1ForFork0_~x~1 thread1Thread1of1ForFork1_~x~0) 20000))} is VALID [2022-02-20 20:58:22,321 INFO L290 TraceCheckUtils]: 40: Hoare triple {2244#(and (= ~Y~0 0) (<= 10000 thread2Thread1of1ForFork0_~x~1) (<= (+ thread2Thread1of1ForFork0_~x~1 thread1Thread1of1ForFork1_~x~0) 20000))} [201] L43-2-->L43-3: Formula: (not (< v_thread1Thread1of1ForFork1_~x~0_5 10000)) InVars {thread1Thread1of1ForFork1_~x~0=v_thread1Thread1of1ForFork1_~x~0_5} OutVars{thread1Thread1of1ForFork1_~x~0=v_thread1Thread1of1ForFork1_~x~0_5} AuxVars[] AssignedVars[] {2245#(and (= ~Y~0 0) (<= 20000 (+ thread2Thread1of1ForFork0_~x~1 thread1Thread1of1ForFork1_~x~0)) (<= (+ thread2Thread1of1ForFork0_~x~1 thread1Thread1of1ForFork1_~x~0) 20000))} is VALID [2022-02-20 20:58:22,321 INFO L290 TraceCheckUtils]: 41: Hoare triple {2245#(and (= ~Y~0 0) (<= 20000 (+ thread2Thread1of1ForFork0_~x~1 thread1Thread1of1ForFork1_~x~0)) (<= (+ thread2Thread1of1ForFork0_~x~1 thread1Thread1of1ForFork1_~x~0) 20000))} [203] L43-3-->L48: Formula: (= (+ v_thread1Thread1of1ForFork1_~x~0_9 v_~Y~0_2) v_~Y~0_1) InVars {~Y~0=v_~Y~0_2, thread1Thread1of1ForFork1_~x~0=v_thread1Thread1of1ForFork1_~x~0_9} OutVars{~Y~0=v_~Y~0_1, thread1Thread1of1ForFork1_~x~0=v_thread1Thread1of1ForFork1_~x~0_9} AuxVars[] AssignedVars[~Y~0] {2246#(and (<= 20000 (+ ~Y~0 thread2Thread1of1ForFork0_~x~1)) (<= (+ ~Y~0 thread2Thread1of1ForFork0_~x~1) 20000))} is VALID [2022-02-20 20:58:22,321 INFO L290 TraceCheckUtils]: 42: Hoare triple {2246#(and (<= 20000 (+ ~Y~0 thread2Thread1of1ForFork0_~x~1)) (<= (+ ~Y~0 thread2Thread1of1ForFork0_~x~1) 20000))} [205] L48-->thread1FINAL: Formula: (and (= |v_thread1Thread1of1ForFork1_#res.base_1| 0) (= |v_thread1Thread1of1ForFork1_#res.offset_1| 0)) InVars {} OutVars{thread1Thread1of1ForFork1_#res.offset=|v_thread1Thread1of1ForFork1_#res.offset_1|, thread1Thread1of1ForFork1_#res.base=|v_thread1Thread1of1ForFork1_#res.base_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork1_#res.base, thread1Thread1of1ForFork1_#res.offset] {2246#(and (<= 20000 (+ ~Y~0 thread2Thread1of1ForFork0_~x~1)) (<= (+ ~Y~0 thread2Thread1of1ForFork0_~x~1) 20000))} is VALID [2022-02-20 20:58:22,322 INFO L290 TraceCheckUtils]: 43: Hoare triple {2246#(and (<= 20000 (+ ~Y~0 thread2Thread1of1ForFork0_~x~1)) (<= (+ ~Y~0 thread2Thread1of1ForFork0_~x~1) 20000))} [207] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2246#(and (<= 20000 (+ ~Y~0 thread2Thread1of1ForFork0_~x~1)) (<= (+ ~Y~0 thread2Thread1of1ForFork0_~x~1) 20000))} is VALID [2022-02-20 20:58:22,322 INFO L290 TraceCheckUtils]: 44: Hoare triple {2246#(and (<= 20000 (+ ~Y~0 thread2Thread1of1ForFork0_~x~1)) (<= (+ ~Y~0 thread2Thread1of1ForFork0_~x~1) 20000))} [120] L74-4-->L74-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre6#1=|v_ULTIMATE.start_main_#t~pre6#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre6#1] {2246#(and (<= 20000 (+ ~Y~0 thread2Thread1of1ForFork0_~x~1)) (<= (+ ~Y~0 thread2Thread1of1ForFork0_~x~1) 20000))} is VALID [2022-02-20 20:58:22,323 INFO L290 TraceCheckUtils]: 45: Hoare triple {2246#(and (<= 20000 (+ ~Y~0 thread2Thread1of1ForFork0_~x~1)) (<= (+ ~Y~0 thread2Thread1of1ForFork0_~x~1) 20000))} [191] L74-5-->L75: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet7#1=|v_ULTIMATE.start_main_#t~nondet7#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet7#1] {2246#(and (<= 20000 (+ ~Y~0 thread2Thread1of1ForFork0_~x~1)) (<= (+ ~Y~0 thread2Thread1of1ForFork0_~x~1) 20000))} is VALID [2022-02-20 20:58:22,323 INFO L290 TraceCheckUtils]: 46: Hoare triple {2246#(and (<= 20000 (+ ~Y~0 thread2Thread1of1ForFork0_~x~1)) (<= (+ ~Y~0 thread2Thread1of1ForFork0_~x~1) 20000))} [187] L75-->L75-1: Formula: (= |v_ULTIMATE.start_main_#t~mem8#1_2| (select (select |v_#memory_int_7| |v_ULTIMATE.start_main_~#t1~0#1.base_4|) |v_ULTIMATE.start_main_~#t1~0#1.offset_4|)) InVars {#memory_int=|v_#memory_int_7|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_4|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_4|} OutVars{#memory_int=|v_#memory_int_7|, ULTIMATE.start_main_#t~mem8#1=|v_ULTIMATE.start_main_#t~mem8#1_2|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_4|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem8#1] {2246#(and (<= 20000 (+ ~Y~0 thread2Thread1of1ForFork0_~x~1)) (<= (+ ~Y~0 thread2Thread1of1ForFork0_~x~1) 20000))} is VALID [2022-02-20 20:58:22,324 INFO L290 TraceCheckUtils]: 47: Hoare triple {2246#(and (<= 20000 (+ ~Y~0 thread2Thread1of1ForFork0_~x~1)) (<= (+ ~Y~0 thread2Thread1of1ForFork0_~x~1) 20000))} [224] thread1EXIT-->L75-2: Formula: (and (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem8#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ .cse0 (- 4294967296)))) v_thread1Thread1of1ForFork1_thidvar0_4) (= 0 v_thread1Thread1of1ForFork1_thidvar1_4)) InVars {ULTIMATE.start_main_#t~mem8#1=|v_ULTIMATE.start_main_#t~mem8#1_5|, thread1Thread1of1ForFork1_thidvar1=v_thread1Thread1of1ForFork1_thidvar1_4, thread1Thread1of1ForFork1_thidvar0=v_thread1Thread1of1ForFork1_thidvar0_4} OutVars{ULTIMATE.start_main_#t~mem8#1=|v_ULTIMATE.start_main_#t~mem8#1_5|, thread1Thread1of1ForFork1_thidvar1=v_thread1Thread1of1ForFork1_thidvar1_4, thread1Thread1of1ForFork1_thidvar0=v_thread1Thread1of1ForFork1_thidvar0_4} AuxVars[] AssignedVars[] {2246#(and (<= 20000 (+ ~Y~0 thread2Thread1of1ForFork0_~x~1)) (<= (+ ~Y~0 thread2Thread1of1ForFork0_~x~1) 20000))} is VALID [2022-02-20 20:58:22,325 INFO L290 TraceCheckUtils]: 48: Hoare triple {2246#(and (<= 20000 (+ ~Y~0 thread2Thread1of1ForFork0_~x~1)) (<= (+ ~Y~0 thread2Thread1of1ForFork0_~x~1) 20000))} [214] L56-3-->L61: Formula: (= (+ v_thread2Thread1of1ForFork0_~x~1_9 v_~Y~0_4) v_~Y~0_3) InVars {thread2Thread1of1ForFork0_~x~1=v_thread2Thread1of1ForFork0_~x~1_9, ~Y~0=v_~Y~0_4} OutVars{thread2Thread1of1ForFork0_~x~1=v_thread2Thread1of1ForFork0_~x~1_9, ~Y~0=v_~Y~0_3} AuxVars[] AssignedVars[~Y~0] {2247#(and (<= ~Y~0 20000) (< 19999 ~Y~0))} is VALID [2022-02-20 20:58:22,325 INFO L290 TraceCheckUtils]: 49: Hoare triple {2247#(and (<= ~Y~0 20000) (< 19999 ~Y~0))} [216] L61-->thread2FINAL: Formula: (and (= |v_thread2Thread1of1ForFork0_#res.base_1| 0) (= |v_thread2Thread1of1ForFork0_#res.offset_1| 0)) InVars {} OutVars{thread2Thread1of1ForFork0_#res.offset=|v_thread2Thread1of1ForFork0_#res.offset_1|, thread2Thread1of1ForFork0_#res.base=|v_thread2Thread1of1ForFork0_#res.base_1|} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_#res.offset, thread2Thread1of1ForFork0_#res.base] {2247#(and (<= ~Y~0 20000) (< 19999 ~Y~0))} is VALID [2022-02-20 20:58:22,325 INFO L290 TraceCheckUtils]: 50: Hoare triple {2247#(and (<= ~Y~0 20000) (< 19999 ~Y~0))} [218] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2247#(and (<= ~Y~0 20000) (< 19999 ~Y~0))} is VALID [2022-02-20 20:58:22,326 INFO L290 TraceCheckUtils]: 51: Hoare triple {2247#(and (<= ~Y~0 20000) (< 19999 ~Y~0))} [172] L75-2-->L76: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem8#1=|v_ULTIMATE.start_main_#t~mem8#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem8#1] {2247#(and (<= ~Y~0 20000) (< 19999 ~Y~0))} is VALID [2022-02-20 20:58:22,326 INFO L290 TraceCheckUtils]: 52: Hoare triple {2247#(and (<= ~Y~0 20000) (< 19999 ~Y~0))} [195] L76-->L76-1: Formula: (= |v_ULTIMATE.start_main_#t~mem9#1_2| (select (select |v_#memory_int_8| |v_ULTIMATE.start_main_~#t2~0#1.base_4|) |v_ULTIMATE.start_main_~#t2~0#1.offset_4|)) InVars {#memory_int=|v_#memory_int_8|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_4|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} OutVars{#memory_int=|v_#memory_int_8|, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_2|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_4|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem9#1] {2247#(and (<= ~Y~0 20000) (< 19999 ~Y~0))} is VALID [2022-02-20 20:58:22,326 INFO L290 TraceCheckUtils]: 53: Hoare triple {2247#(and (<= ~Y~0 20000) (< 19999 ~Y~0))} [225] thread2EXIT-->L76-2: Formula: (and (= v_thread2Thread1of1ForFork0_thidvar2_4 0) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem9#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ (- 4294967296) .cse0))) v_thread2Thread1of1ForFork0_thidvar0_4) (= v_thread2Thread1of1ForFork0_thidvar1_4 0)) InVars {thread2Thread1of1ForFork0_thidvar2=v_thread2Thread1of1ForFork0_thidvar2_4, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_5|, thread2Thread1of1ForFork0_thidvar1=v_thread2Thread1of1ForFork0_thidvar1_4, thread2Thread1of1ForFork0_thidvar0=v_thread2Thread1of1ForFork0_thidvar0_4} OutVars{thread2Thread1of1ForFork0_thidvar2=v_thread2Thread1of1ForFork0_thidvar2_4, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_5|, thread2Thread1of1ForFork0_thidvar1=v_thread2Thread1of1ForFork0_thidvar1_4, thread2Thread1of1ForFork0_thidvar0=v_thread2Thread1of1ForFork0_thidvar0_4} AuxVars[] AssignedVars[] {2247#(and (<= ~Y~0 20000) (< 19999 ~Y~0))} is VALID [2022-02-20 20:58:22,327 INFO L290 TraceCheckUtils]: 54: Hoare triple {2247#(and (<= ~Y~0 20000) (< 19999 ~Y~0))} [181] L76-2-->L78: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem9#1] {2247#(and (<= ~Y~0 20000) (< 19999 ~Y~0))} is VALID [2022-02-20 20:58:22,327 INFO L290 TraceCheckUtils]: 55: Hoare triple {2247#(and (<= ~Y~0 20000) (< 19999 ~Y~0))} [135] L78-->L78-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2247#(and (<= ~Y~0 20000) (< 19999 ~Y~0))} is VALID [2022-02-20 20:58:22,327 INFO L290 TraceCheckUtils]: 56: Hoare triple {2247#(and (<= ~Y~0 20000) (< 19999 ~Y~0))} [139] L78-1-->L78-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3| (ite (not (= 20000 v_~Y~0_6)) 1 0)) InVars {~Y~0=v_~Y~0_6} OutVars{~Y~0=v_~Y~0_6, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] {2248#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} is VALID [2022-02-20 20:58:22,332 INFO L290 TraceCheckUtils]: 57: Hoare triple {2248#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} [164] L78-2-->L34-2: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_5|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {2248#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} is VALID [2022-02-20 20:58:22,333 INFO L290 TraceCheckUtils]: 58: Hoare triple {2248#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} [158] L34-2-->L35-3: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {2249#(= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0)} is VALID [2022-02-20 20:58:22,333 INFO L290 TraceCheckUtils]: 59: Hoare triple {2249#(= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0)} [122] L35-3-->L34-3: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_8| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_8|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_8|} AuxVars[] AssignedVars[] {2237#false} is VALID [2022-02-20 20:58:22,333 INFO L290 TraceCheckUtils]: 60: Hoare triple {2237#false} [128] L34-3-->L79: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2237#false} is VALID [2022-02-20 20:58:22,333 INFO L290 TraceCheckUtils]: 61: Hoare triple {2237#false} [179] L79-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2237#false} is VALID [2022-02-20 20:58:22,334 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:58:22,334 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 20:58:22,334 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [33795122] [2022-02-20 20:58:22,334 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [33795122] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 20:58:22,334 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 20:58:22,334 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-02-20 20:58:22,334 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1000365562] [2022-02-20 20:58:22,334 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 20:58:22,335 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 4.428571428571429) internal successors, (62), 14 states have internal predecessors, (62), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 62 [2022-02-20 20:58:22,335 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 20:58:22,335 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 4.428571428571429) internal successors, (62), 14 states have internal predecessors, (62), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:58:22,361 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 20:58:22,361 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-02-20 20:58:22,361 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 20:58:22,362 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-02-20 20:58:22,362 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=148, Unknown=0, NotChecked=0, Total=182 [2022-02-20 20:58:22,363 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 51 out of 87 [2022-02-20 20:58:22,364 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 101 places, 87 transitions, 309 flow. Second operand has 14 states, 14 states have (on average 52.642857142857146) internal successors, (737), 14 states have internal predecessors, (737), 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:58:22,364 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 20:58:22,364 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 51 of 87 [2022-02-20 20:58:22,364 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 20:58:23,293 INFO L129 PetriNetUnfolder]: 139/385 cut-off events. [2022-02-20 20:58:23,293 INFO L130 PetriNetUnfolder]: For 376/376 co-relation queries the response was YES. [2022-02-20 20:58:23,294 INFO L84 FinitePrefix]: Finished finitePrefix Result has 1072 conditions, 385 events. 139/385 cut-off events. For 376/376 co-relation queries the response was YES. Maximal size of possible extension queue 29. Compared 1763 event pairs, 35 based on Foata normal form. 1/377 useless extension candidates. Maximal degree in co-relation 1057. Up to 107 conditions per place. [2022-02-20 20:58:23,297 INFO L132 encePairwiseOnDemand]: 71/87 looper letters, 53 selfloop transitions, 28 changer transitions 8/130 dead transitions. [2022-02-20 20:58:23,298 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 110 places, 130 transitions, 684 flow [2022-02-20 20:58:23,298 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-02-20 20:58:23,298 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2022-02-20 20:58:23,305 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 794 transitions. [2022-02-20 20:58:23,308 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.6518883415435139 [2022-02-20 20:58:23,308 INFO L72 ComplementDD]: Start complementDD. Operand 14 states and 794 transitions. [2022-02-20 20:58:23,308 INFO L73 IsDeterministic]: Start isDeterministic. Operand 14 states and 794 transitions. [2022-02-20 20:58:23,308 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 20:58:23,308 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 14 states and 794 transitions. [2022-02-20 20:58:23,310 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 15 states, 14 states have (on average 56.714285714285715) internal successors, (794), 14 states have internal predecessors, (794), 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:58:23,312 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 15 states, 15 states have (on average 87.0) internal successors, (1305), 15 states have internal predecessors, (1305), 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:58:23,312 INFO L81 ComplementDD]: Finished complementDD. Result has 15 states, 15 states have (on average 87.0) internal successors, (1305), 15 states have internal predecessors, (1305), 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:58:23,312 INFO L186 Difference]: Start difference. First operand has 101 places, 87 transitions, 309 flow. Second operand 14 states and 794 transitions. [2022-02-20 20:58:23,313 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 110 places, 130 transitions, 684 flow