./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/pthread-deagle/floating_read-5.i --full-output -ea --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 03d7b7b3 Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -ea -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/pthread-deagle/floating_read-5.i -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 2f28efd84e1dbcbcea7683bca483f8f3b9fbdd333eb36f517b9f12d5bccb885d --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 21:00:19,842 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 21:00:19,844 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 21:00:19,887 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 21:00:19,888 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 21:00:19,889 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 21:00:19,890 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 21:00:19,892 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 21:00:19,894 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 21:00:19,894 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 21:00:19,896 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 21:00:19,897 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 21:00:19,899 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 21:00:19,902 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 21:00:19,903 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 21:00:19,905 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 21:00:19,907 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 21:00:19,911 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 21:00:19,913 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 21:00:19,914 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 21:00:19,920 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 21:00:19,921 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 21:00:19,922 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 21:00:19,924 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 21:00:19,926 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 21:00:19,929 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 21:00:19,929 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 21:00:19,930 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 21:00:19,931 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 21:00:19,932 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 21:00:19,932 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 21:00:19,933 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 21:00:19,934 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 21:00:19,934 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 21:00:19,935 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 21:00:19,936 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 21:00:19,937 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 21:00:19,938 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 21:00:19,938 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 21:00:19,939 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 21:00:19,939 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 21:00:19,940 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2022-02-20 21:00:19,971 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 21:00:19,971 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 21:00:19,972 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 21:00:19,972 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 21:00:19,973 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 21:00:19,973 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 21:00:19,974 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 21:00:19,974 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 21:00:19,974 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 21:00:19,974 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 21:00:19,975 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 21:00:19,975 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 21:00:19,975 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 21:00:19,976 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 21:00:19,976 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 21:00:19,976 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 21:00:19,976 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 21:00:19,976 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 21:00:19,977 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 21:00:19,977 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 21:00:19,977 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 21:00:19,977 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 21:00:19,978 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 21:00:19,978 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 21:00:19,978 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 21:00:19,978 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 21:00:19,978 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 21:00:19,979 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 21:00:19,980 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 21:00:19,980 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 21:00:19,980 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 21:00:19,980 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 21:00:19,981 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 21:00:19,981 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 -> 2f28efd84e1dbcbcea7683bca483f8f3b9fbdd333eb36f517b9f12d5bccb885d [2022-02-20 21:00:20,271 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 21:00:20,290 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 21:00:20,292 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 21:00:20,293 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 21:00:20,294 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 21:00:20,295 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/pthread-deagle/floating_read-5.i [2022-02-20 21:00:20,364 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/cfa1291c9/e8153d5b7cf649afbabd7a07e07edc2b/FLAG1fcf4c32e [2022-02-20 21:00:20,813 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 21:00:20,813 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/pthread-deagle/floating_read-5.i [2022-02-20 21:00:20,826 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/cfa1291c9/e8153d5b7cf649afbabd7a07e07edc2b/FLAG1fcf4c32e [2022-02-20 21:00:21,156 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/cfa1291c9/e8153d5b7cf649afbabd7a07e07edc2b [2022-02-20 21:00:21,158 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 21:00:21,159 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 21:00:21,160 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 21:00:21,160 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 21:00:21,166 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 21:00:21,167 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 09:00:21" (1/1) ... [2022-02-20 21:00:21,168 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@70b799ef and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:00:21, skipping insertion in model container [2022-02-20 21:00:21,168 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 09:00:21" (1/1) ... [2022-02-20 21:00:21,175 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 21:00:21,203 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 21:00:21,496 WARN L1545 CHandler]: Possible shadowing of function thread [2022-02-20 21:00:21,507 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/pthread-deagle/floating_read-5.i[31193,31206] [2022-02-20 21:00:21,516 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 21:00:21,523 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 21:00:21,553 WARN L1545 CHandler]: Possible shadowing of function thread [2022-02-20 21:00:21,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/pthread-deagle/floating_read-5.i[31193,31206] [2022-02-20 21:00:21,564 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 21:00:21,591 INFO L208 MainTranslator]: Completed translation [2022-02-20 21:00:21,591 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:00:21 WrapperNode [2022-02-20 21:00:21,591 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 21:00:21,592 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 21:00:21,593 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 21:00:21,593 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 21:00:21,599 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:00:21" (1/1) ... [2022-02-20 21:00:21,612 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:00:21" (1/1) ... [2022-02-20 21:00:21,635 INFO L137 Inliner]: procedures = 162, calls = 17, calls flagged for inlining = 2, calls inlined = 2, statements flattened = 52 [2022-02-20 21:00:21,635 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 21:00:21,636 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 21:00:21,636 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 21:00:21,636 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 21:00:21,643 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:00:21" (1/1) ... [2022-02-20 21:00:21,644 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:00:21" (1/1) ... [2022-02-20 21:00:21,647 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:00:21" (1/1) ... [2022-02-20 21:00:21,647 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:00:21" (1/1) ... [2022-02-20 21:00:21,653 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:00:21" (1/1) ... [2022-02-20 21:00:21,655 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:00:21" (1/1) ... [2022-02-20 21:00:21,657 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:00:21" (1/1) ... [2022-02-20 21:00:21,670 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 21:00:21,671 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 21:00:21,671 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 21:00:21,671 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 21:00:21,672 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:00:21" (1/1) ... [2022-02-20 21:00:21,679 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 21:00:21,689 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 21:00:21,704 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 21:00:21,730 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 21:00:21,744 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-02-20 21:00:21,744 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-02-20 21:00:21,744 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2022-02-20 21:00:21,744 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 21:00:21,745 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-02-20 21:00:21,746 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 21:00:21,746 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 21:00:21,747 INFO L130 BoogieDeclarations]: Found specification of procedure thread [2022-02-20 21:00:21,747 INFO L138 BoogieDeclarations]: Found implementation of procedure thread [2022-02-20 21:00:21,747 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2022-02-20 21:00:21,747 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 21:00:21,748 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 21:00:21,749 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 21:00:21,885 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 21:00:21,886 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 21:00:22,046 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 21:00:22,077 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 21:00:22,090 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-02-20 21:00:22,092 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 09:00:22 BoogieIcfgContainer [2022-02-20 21:00:22,092 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 21:00:22,093 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 21:00:22,094 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 21:00:22,096 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 21:00:22,096 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 09:00:21" (1/3) ... [2022-02-20 21:00:22,098 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1b6cd6d4 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 09:00:22, skipping insertion in model container [2022-02-20 21:00:22,098 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:00:21" (2/3) ... [2022-02-20 21:00:22,098 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1b6cd6d4 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 09:00:22, skipping insertion in model container [2022-02-20 21:00:22,098 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 09:00:22" (3/3) ... [2022-02-20 21:00:22,099 INFO L111 eAbstractionObserver]: Analyzing ICFG floating_read-5.i [2022-02-20 21:00:22,104 WARN L150 ceAbstractionStarter]: Switching off computation of Hoare annotation because input is a concurrent program [2022-02-20 21:00:22,104 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 21:00:22,104 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 21:00:22,104 INFO L534 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2022-02-20 21:00:22,162 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of1ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:22,162 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of1ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:22,162 WARN L322 ript$VariableManager]: TermVariabe threadThread1of1ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:22,163 WARN L322 ript$VariableManager]: TermVariabe threadThread1of1ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:22,163 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of1ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:22,163 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of1ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:22,163 WARN L322 ript$VariableManager]: TermVariabe threadThread1of1ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:22,164 WARN L322 ript$VariableManager]: TermVariabe threadThread1of1ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:22,164 WARN L322 ript$VariableManager]: TermVariabe threadThread1of1ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:22,164 WARN L322 ript$VariableManager]: TermVariabe threadThread1of1ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:22,164 WARN L322 ript$VariableManager]: TermVariabe threadThread1of1ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:22,165 WARN L322 ript$VariableManager]: TermVariabe threadThread1of1ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:22,166 WARN L322 ript$VariableManager]: TermVariabe threadThread1of1ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:22,166 WARN L322 ript$VariableManager]: TermVariabe threadThread1of1ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:22,167 WARN L322 ript$VariableManager]: TermVariabe threadThread1of1ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:22,167 WARN L322 ript$VariableManager]: TermVariabe threadThread1of1ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:22,167 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of1ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:22,167 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of1ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:22,168 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of1ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:22,168 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of1ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:22,180 WARN L322 ript$VariableManager]: TermVariabe threadThread1of1ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:22,180 WARN L322 ript$VariableManager]: TermVariabe threadThread1of1ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:22,180 WARN L322 ript$VariableManager]: TermVariabe threadThread1of1ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:22,180 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of1ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:22,181 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of1ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:22,190 INFO L148 ThreadInstanceAdder]: Constructed 1 joinOtherThreadTransitions. [2022-02-20 21:00:22,241 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 21:00:22,248 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 21:00:22,249 INFO L340 AbstractCegarLoop]: Starting to check reachability of 2 error locations. [2022-02-20 21:00:22,260 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 58 places, 59 transitions, 126 flow [2022-02-20 21:00:22,306 INFO L129 PetriNetUnfolder]: 7/81 cut-off events. [2022-02-20 21:00:22,307 INFO L130 PetriNetUnfolder]: For 1/1 co-relation queries the response was YES. [2022-02-20 21:00:22,309 INFO L84 FinitePrefix]: Finished finitePrefix Result has 87 conditions, 81 events. 7/81 cut-off events. For 1/1 co-relation queries the response was YES. Maximal size of possible extension queue 5. Compared 104 event pairs, 0 based on Foata normal form. 0/69 useless extension candidates. Maximal degree in co-relation 42. Up to 4 conditions per place. [2022-02-20 21:00:22,309 INFO L82 GeneralOperation]: Start removeDead. Operand has 58 places, 59 transitions, 126 flow [2022-02-20 21:00:22,313 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 42 places, 40 transitions, 85 flow [2022-02-20 21:00:22,323 INFO L129 PetriNetUnfolder]: 1/25 cut-off events. [2022-02-20 21:00:22,324 INFO L130 PetriNetUnfolder]: For 0/0 co-relation queries the response was YES. [2022-02-20 21:00:22,324 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:00:22,325 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] [2022-02-20 21:00:22,325 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 21:00:22,330 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:00:22,330 INFO L85 PathProgramCache]: Analyzing trace with hash 1781753840, now seen corresponding path program 1 times [2022-02-20 21:00:22,338 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:00:22,339 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1758847728] [2022-02-20 21:00:22,339 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:22,340 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:00:22,451 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:22,534 INFO L290 TraceCheckUtils]: 0: Hoare triple {61#true} [126] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {61#true} is VALID [2022-02-20 21:00:22,535 INFO L290 TraceCheckUtils]: 1: Hoare triple {61#true} [116] 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] {61#true} is VALID [2022-02-20 21:00:22,535 INFO L290 TraceCheckUtils]: 2: Hoare triple {61#true} [133] 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[] {61#true} is VALID [2022-02-20 21:00:22,536 INFO L290 TraceCheckUtils]: 3: Hoare triple {61#true} [134] L-1-2-->L16: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {61#true} is VALID [2022-02-20 21:00:22,536 INFO L290 TraceCheckUtils]: 4: Hoare triple {61#true} [115] L16-->L16-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[] {61#true} is VALID [2022-02-20 21:00:22,536 INFO L290 TraceCheckUtils]: 5: Hoare triple {61#true} [83] L16-1-->L16-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[] {61#true} is VALID [2022-02-20 21:00:22,537 INFO L290 TraceCheckUtils]: 6: Hoare triple {61#true} [138] L16-2-->L16-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[] {61#true} is VALID [2022-02-20 21:00:22,537 INFO L290 TraceCheckUtils]: 7: Hoare triple {61#true} [120] L16-3-->L16-4: Formula: (and (= (select |v_#valid_3| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {61#true} is VALID [2022-02-20 21:00:22,537 INFO L290 TraceCheckUtils]: 8: Hoare triple {61#true} [123] L16-4-->L16-5: Formula: (= (select (select |v_#memory_int_3| 2) 0) 0) InVars {#memory_int=|v_#memory_int_3|} OutVars{#memory_int=|v_#memory_int_3|} AuxVars[] AssignedVars[] {61#true} is VALID [2022-02-20 21:00:22,538 INFO L290 TraceCheckUtils]: 9: Hoare triple {61#true} [113] L16-5-->L-1-3: Formula: (= v_~x~0_1 0) InVars {} OutVars{~x~0=v_~x~0_1} AuxVars[] AssignedVars[~x~0] {61#true} is VALID [2022-02-20 21:00:22,538 INFO L290 TraceCheckUtils]: 10: Hoare triple {61#true} [135] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {61#true} is VALID [2022-02-20 21:00:22,538 INFO L290 TraceCheckUtils]: 11: Hoare triple {61#true} [118] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {61#true} is VALID [2022-02-20 21:00:22,539 INFO L290 TraceCheckUtils]: 12: Hoare triple {61#true} [97] L-1-5-->L-1-6: Formula: (and (= |v_ULTIMATE.start_#in~argv#1.offset_1| |v_ULTIMATE.start_main_#in~argv#1.offset_1|) (= |v_ULTIMATE.start_main_#in~argv#1.base_1| |v_ULTIMATE.start_#in~argv#1.base_1|) (= |v_ULTIMATE.start_main_#in~argc#1_1| |v_ULTIMATE.start_#in~argc#1_1|)) InVars {ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} OutVars{ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_1|, ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_1|, ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#in~argv#1.base, ULTIMATE.start_main_#in~argc#1, ULTIMATE.start_main_#in~argv#1.offset] {61#true} is VALID [2022-02-20 21:00:22,539 INFO L290 TraceCheckUtils]: 13: Hoare triple {61#true} [117] L-1-6-->L-1-7: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {61#true} is VALID [2022-02-20 21:00:22,539 INFO L290 TraceCheckUtils]: 14: Hoare triple {61#true} [93] L-1-7-->L718: Formula: true InVars {} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_1|, ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_1|, ULTIMATE.start_main_~i~1#1=|v_ULTIMATE.start_main_~i~1#1_1|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_1|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_1|, ULTIMATE.start_main_#t~post4#1=|v_ULTIMATE.start_main_#t~post4#1_1|, ULTIMATE.start_main_#t~mem5#1=|v_ULTIMATE.start_main_#t~mem5#1_1|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1, ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~1#1, ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t~0#1.offset, ULTIMATE.start_main_#t~post4#1, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~mem5#1, ULTIMATE.start_main_~#t~0#1.base, ULTIMATE.start_main_#t~pre2#1] {61#true} is VALID [2022-02-20 21:00:22,539 INFO L290 TraceCheckUtils]: 15: Hoare triple {61#true} [102] L718-->L718-1: Formula: (= |v_ULTIMATE.start_main_#in~argc#1_2| |v_ULTIMATE.start_main_~argc#1_2|) InVars {ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_2|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1] {61#true} is VALID [2022-02-20 21:00:22,540 INFO L290 TraceCheckUtils]: 16: Hoare triple {61#true} [139] L718-1-->L719: Formula: (and (= |v_ULTIMATE.start_main_~argv#1.offset_2| |v_ULTIMATE.start_main_#in~argv#1.offset_2|) (= |v_ULTIMATE.start_main_#in~argv#1.base_2| |v_ULTIMATE.start_main_~argv#1.base_2|)) InVars {ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|} OutVars{ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~argv#1.offset] {61#true} is VALID [2022-02-20 21:00:22,540 INFO L290 TraceCheckUtils]: 17: Hoare triple {61#true} [85] L719-->L719-1: Formula: (and (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 24)) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) 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_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] {61#true} is VALID [2022-02-20 21:00:22,540 INFO L290 TraceCheckUtils]: 18: Hoare triple {61#true} [124] L719-1-->L722: Formula: (= v_~x~0_2 0) InVars {} OutVars{~x~0=v_~x~0_2} AuxVars[] AssignedVars[~x~0] {61#true} is VALID [2022-02-20 21:00:22,541 INFO L290 TraceCheckUtils]: 19: Hoare triple {61#true} [136] L722-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 1) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {61#true} is VALID [2022-02-20 21:00:22,541 INFO L290 TraceCheckUtils]: 20: Hoare triple {61#true} [103] L723-5-->L723-6: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {62#false} is VALID [2022-02-20 21:00:22,542 INFO L290 TraceCheckUtils]: 21: Hoare triple {62#false} [88] L723-6-->L727: Formula: (not (< v_~x~0_4 6)) InVars {~x~0=v_~x~0_4} OutVars{~x~0=v_~x~0_4} AuxVars[] AssignedVars[] {62#false} is VALID [2022-02-20 21:00:22,542 INFO L290 TraceCheckUtils]: 22: Hoare triple {62#false} [95] L727-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {62#false} is VALID [2022-02-20 21:00:22,544 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 21:00:22,544 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:00:22,544 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1758847728] [2022-02-20 21:00:22,545 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1758847728] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:00:22,545 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 21:00:22,545 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 21:00:22,546 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1277254487] [2022-02-20 21:00:22,547 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:00:22,560 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 11.5) internal successors, (23), 2 states have internal predecessors, (23), 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 23 [2022-02-20 21:00:22,561 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:00:22,564 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 2 states, 2 states have (on average 11.5) internal successors, (23), 2 states have internal predecessors, (23), 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 21:00:22,593 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 23 edges. 23 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:00:22,595 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-02-20 21:00:22,595 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:00:22,621 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-02-20 21:00:22,622 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 21:00:22,624 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 53 out of 59 [2022-02-20 21:00:22,627 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 42 places, 40 transitions, 85 flow. Second operand has 2 states, 2 states have (on average 53.5) internal successors, (107), 2 states have internal predecessors, (107), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 21:00:22,627 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 21:00:22,627 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 53 of 59 [2022-02-20 21:00:22,628 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 21:00:22,654 INFO L129 PetriNetUnfolder]: 0/46 cut-off events. [2022-02-20 21:00:22,655 INFO L130 PetriNetUnfolder]: For 1/1 co-relation queries the response was YES. [2022-02-20 21:00:22,655 INFO L84 FinitePrefix]: Finished finitePrefix Result has 53 conditions, 46 events. 0/46 cut-off events. For 1/1 co-relation queries the response was YES. Maximal size of possible extension queue 2. Compared 19 event pairs, 0 based on Foata normal form. 2/46 useless extension candidates. Maximal degree in co-relation 0. Up to 2 conditions per place. [2022-02-20 21:00:22,656 INFO L132 encePairwiseOnDemand]: 58/59 looper letters, 1 selfloop transitions, 0 changer transitions 0/39 dead transitions. [2022-02-20 21:00:22,656 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 43 places, 39 transitions, 85 flow [2022-02-20 21:00:22,656 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-02-20 21:00:22,658 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2022-02-20 21:00:22,673 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 108 transitions. [2022-02-20 21:00:22,674 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.9152542372881356 [2022-02-20 21:00:22,675 INFO L72 ComplementDD]: Start complementDD. Operand 2 states and 108 transitions. [2022-02-20 21:00:22,675 INFO L73 IsDeterministic]: Start isDeterministic. Operand 2 states and 108 transitions. [2022-02-20 21:00:22,675 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 21:00:22,677 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 2 states and 108 transitions. [2022-02-20 21:00:22,680 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 3 states, 2 states have (on average 54.0) internal successors, (108), 2 states have internal predecessors, (108), 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 21:00:22,685 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 3 states, 3 states have (on average 59.0) internal successors, (177), 3 states have internal predecessors, (177), 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 21:00:22,685 INFO L81 ComplementDD]: Finished complementDD. Result has 3 states, 3 states have (on average 59.0) internal successors, (177), 3 states have internal predecessors, (177), 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 21:00:22,687 INFO L186 Difference]: Start difference. First operand has 42 places, 40 transitions, 85 flow. Second operand 2 states and 108 transitions. [2022-02-20 21:00:22,688 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 43 places, 39 transitions, 85 flow [2022-02-20 21:00:22,690 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 43 places, 39 transitions, 85 flow, removed 0 selfloop flow, removed 0 redundant places. [2022-02-20 21:00:22,693 INFO L242 Difference]: Finished difference. Result has 43 places, 39 transitions, 83 flow [2022-02-20 21:00:22,695 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=59, PETRI_DIFFERENCE_MINUEND_FLOW=83, PETRI_DIFFERENCE_MINUEND_PLACES=42, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=39, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=0, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=39, PETRI_DIFFERENCE_SUBTRAHEND_STATES=2, PETRI_FLOW=83, PETRI_PLACES=43, PETRI_TRANSITIONS=39} [2022-02-20 21:00:22,698 INFO L334 CegarLoopForPetriNet]: 42 programPoint places, 1 predicate places. [2022-02-20 21:00:22,699 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 43 places, 39 transitions, 83 flow [2022-02-20 21:00:22,714 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 112 states, 109 states have (on average 1.614678899082569) internal successors, (176), 111 states have internal predecessors, (176), 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 21:00:22,715 INFO L78 Accepts]: Start accepts. Automaton has has 112 states, 109 states have (on average 1.614678899082569) internal successors, (176), 111 states have internal predecessors, (176), 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 23 [2022-02-20 21:00:22,715 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:00:22,715 INFO L470 AbstractCegarLoop]: Abstraction has has 43 places, 39 transitions, 83 flow [2022-02-20 21:00:22,716 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 53.5) internal successors, (107), 2 states have internal predecessors, (107), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 21:00:22,717 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:00:22,717 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] [2022-02-20 21:00:22,717 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 21:00:22,717 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 21:00:22,718 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:00:22,718 INFO L85 PathProgramCache]: Analyzing trace with hash 1781754801, now seen corresponding path program 1 times [2022-02-20 21:00:22,718 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:00:22,718 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [457955737] [2022-02-20 21:00:22,718 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:22,719 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:00:22,756 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:22,786 INFO L290 TraceCheckUtils]: 0: Hoare triple {177#true} [126] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {177#true} is VALID [2022-02-20 21:00:22,786 INFO L290 TraceCheckUtils]: 1: Hoare triple {177#true} [116] 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] {177#true} is VALID [2022-02-20 21:00:22,786 INFO L290 TraceCheckUtils]: 2: Hoare triple {177#true} [133] 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[] {177#true} is VALID [2022-02-20 21:00:22,786 INFO L290 TraceCheckUtils]: 3: Hoare triple {177#true} [134] L-1-2-->L16: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {177#true} is VALID [2022-02-20 21:00:22,787 INFO L290 TraceCheckUtils]: 4: Hoare triple {177#true} [115] L16-->L16-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[] {177#true} is VALID [2022-02-20 21:00:22,787 INFO L290 TraceCheckUtils]: 5: Hoare triple {177#true} [83] L16-1-->L16-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[] {177#true} is VALID [2022-02-20 21:00:22,787 INFO L290 TraceCheckUtils]: 6: Hoare triple {177#true} [138] L16-2-->L16-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[] {177#true} is VALID [2022-02-20 21:00:22,788 INFO L290 TraceCheckUtils]: 7: Hoare triple {177#true} [120] L16-3-->L16-4: Formula: (and (= (select |v_#valid_3| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {177#true} is VALID [2022-02-20 21:00:22,788 INFO L290 TraceCheckUtils]: 8: Hoare triple {177#true} [123] L16-4-->L16-5: Formula: (= (select (select |v_#memory_int_3| 2) 0) 0) InVars {#memory_int=|v_#memory_int_3|} OutVars{#memory_int=|v_#memory_int_3|} AuxVars[] AssignedVars[] {177#true} is VALID [2022-02-20 21:00:22,788 INFO L290 TraceCheckUtils]: 9: Hoare triple {177#true} [113] L16-5-->L-1-3: Formula: (= v_~x~0_1 0) InVars {} OutVars{~x~0=v_~x~0_1} AuxVars[] AssignedVars[~x~0] {177#true} is VALID [2022-02-20 21:00:22,788 INFO L290 TraceCheckUtils]: 10: Hoare triple {177#true} [135] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {177#true} is VALID [2022-02-20 21:00:22,789 INFO L290 TraceCheckUtils]: 11: Hoare triple {177#true} [118] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {177#true} is VALID [2022-02-20 21:00:22,789 INFO L290 TraceCheckUtils]: 12: Hoare triple {177#true} [97] L-1-5-->L-1-6: Formula: (and (= |v_ULTIMATE.start_#in~argv#1.offset_1| |v_ULTIMATE.start_main_#in~argv#1.offset_1|) (= |v_ULTIMATE.start_main_#in~argv#1.base_1| |v_ULTIMATE.start_#in~argv#1.base_1|) (= |v_ULTIMATE.start_main_#in~argc#1_1| |v_ULTIMATE.start_#in~argc#1_1|)) InVars {ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} OutVars{ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_1|, ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_1|, ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#in~argv#1.base, ULTIMATE.start_main_#in~argc#1, ULTIMATE.start_main_#in~argv#1.offset] {177#true} is VALID [2022-02-20 21:00:22,789 INFO L290 TraceCheckUtils]: 13: Hoare triple {177#true} [117] L-1-6-->L-1-7: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {177#true} is VALID [2022-02-20 21:00:22,789 INFO L290 TraceCheckUtils]: 14: Hoare triple {177#true} [93] L-1-7-->L718: Formula: true InVars {} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_1|, ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_1|, ULTIMATE.start_main_~i~1#1=|v_ULTIMATE.start_main_~i~1#1_1|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_1|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_1|, ULTIMATE.start_main_#t~post4#1=|v_ULTIMATE.start_main_#t~post4#1_1|, ULTIMATE.start_main_#t~mem5#1=|v_ULTIMATE.start_main_#t~mem5#1_1|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1, ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~1#1, ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t~0#1.offset, ULTIMATE.start_main_#t~post4#1, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~mem5#1, ULTIMATE.start_main_~#t~0#1.base, ULTIMATE.start_main_#t~pre2#1] {177#true} is VALID [2022-02-20 21:00:22,790 INFO L290 TraceCheckUtils]: 15: Hoare triple {177#true} [102] L718-->L718-1: Formula: (= |v_ULTIMATE.start_main_#in~argc#1_2| |v_ULTIMATE.start_main_~argc#1_2|) InVars {ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_2|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1] {177#true} is VALID [2022-02-20 21:00:22,790 INFO L290 TraceCheckUtils]: 16: Hoare triple {177#true} [139] L718-1-->L719: Formula: (and (= |v_ULTIMATE.start_main_~argv#1.offset_2| |v_ULTIMATE.start_main_#in~argv#1.offset_2|) (= |v_ULTIMATE.start_main_#in~argv#1.base_2| |v_ULTIMATE.start_main_~argv#1.base_2|)) InVars {ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|} OutVars{ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~argv#1.offset] {177#true} is VALID [2022-02-20 21:00:22,790 INFO L290 TraceCheckUtils]: 17: Hoare triple {177#true} [85] L719-->L719-1: Formula: (and (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 24)) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) 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_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] {177#true} is VALID [2022-02-20 21:00:22,791 INFO L290 TraceCheckUtils]: 18: Hoare triple {177#true} [124] L719-1-->L722: Formula: (= v_~x~0_2 0) InVars {} OutVars{~x~0=v_~x~0_2} AuxVars[] AssignedVars[~x~0] {177#true} is VALID [2022-02-20 21:00:22,791 INFO L290 TraceCheckUtils]: 19: Hoare triple {177#true} [136] L722-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 1) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {179#(= 0 (+ (- 1) |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 21:00:22,792 INFO L290 TraceCheckUtils]: 20: Hoare triple {179#(= 0 (+ (- 1) |ULTIMATE.start_main_~i~0#1|))} [104] L723-5-->L723-6: Formula: (not (<= |v_ULTIMATE.start_main_~i~0#1_3| 5)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} AuxVars[] AssignedVars[] {178#false} is VALID [2022-02-20 21:00:22,792 INFO L290 TraceCheckUtils]: 21: Hoare triple {178#false} [88] L723-6-->L727: Formula: (not (< v_~x~0_4 6)) InVars {~x~0=v_~x~0_4} OutVars{~x~0=v_~x~0_4} AuxVars[] AssignedVars[] {178#false} is VALID [2022-02-20 21:00:22,792 INFO L290 TraceCheckUtils]: 22: Hoare triple {178#false} [95] L727-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {178#false} is VALID [2022-02-20 21:00:22,793 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 21:00:22,793 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:00:22,793 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [457955737] [2022-02-20 21:00:22,793 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [457955737] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:00:22,793 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 21:00:22,794 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 21:00:22,794 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [885866130] [2022-02-20 21:00:22,794 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:00:22,795 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 7.666666666666667) internal successors, (23), 3 states have internal predecessors, (23), 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 23 [2022-02-20 21:00:22,796 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:00:22,796 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 7.666666666666667) internal successors, (23), 3 states have internal predecessors, (23), 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 21:00:22,815 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 23 edges. 23 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:00:22,815 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 21:00:22,815 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:00:22,816 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 21:00:22,816 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 21:00:22,817 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 46 out of 59 [2022-02-20 21:00:22,825 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 43 places, 39 transitions, 83 flow. Second operand has 3 states, 3 states have (on average 47.0) internal successors, (141), 3 states have internal predecessors, (141), 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 21:00:22,825 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 21:00:22,825 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 46 of 59 [2022-02-20 21:00:22,825 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 21:00:22,859 INFO L129 PetriNetUnfolder]: 0/43 cut-off events. [2022-02-20 21:00:22,860 INFO L130 PetriNetUnfolder]: For 0/0 co-relation queries the response was YES. [2022-02-20 21:00:22,860 INFO L84 FinitePrefix]: Finished finitePrefix Result has 60 conditions, 43 events. 0/43 cut-off events. For 0/0 co-relation queries the response was YES. Maximal size of possible extension queue 2. Compared 15 event pairs, 0 based on Foata normal form. 0/42 useless extension candidates. Maximal degree in co-relation 0. Up to 6 conditions per place. [2022-02-20 21:00:22,860 INFO L132 encePairwiseOnDemand]: 56/59 looper letters, 8 selfloop transitions, 2 changer transitions 0/41 dead transitions. [2022-02-20 21:00:22,861 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 45 places, 41 transitions, 107 flow [2022-02-20 21:00:22,861 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 21:00:22,861 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2022-02-20 21:00:22,864 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 149 transitions. [2022-02-20 21:00:22,864 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.8418079096045198 [2022-02-20 21:00:22,864 INFO L72 ComplementDD]: Start complementDD. Operand 3 states and 149 transitions. [2022-02-20 21:00:22,864 INFO L73 IsDeterministic]: Start isDeterministic. Operand 3 states and 149 transitions. [2022-02-20 21:00:22,865 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 21:00:22,865 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 3 states and 149 transitions. [2022-02-20 21:00:22,865 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 4 states, 3 states have (on average 49.666666666666664) internal successors, (149), 3 states have internal predecessors, (149), 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 21:00:22,866 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 4 states, 4 states have (on average 59.0) internal successors, (236), 4 states have internal predecessors, (236), 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 21:00:22,867 INFO L81 ComplementDD]: Finished complementDD. Result has 4 states, 4 states have (on average 59.0) internal successors, (236), 4 states have internal predecessors, (236), 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 21:00:22,867 INFO L186 Difference]: Start difference. First operand has 43 places, 39 transitions, 83 flow. Second operand 3 states and 149 transitions. [2022-02-20 21:00:22,867 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 45 places, 41 transitions, 107 flow [2022-02-20 21:00:22,868 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 45 places, 41 transitions, 107 flow, removed 0 selfloop flow, removed 0 redundant places. [2022-02-20 21:00:22,869 INFO L242 Difference]: Finished difference. Result has 46 places, 39 transitions, 91 flow [2022-02-20 21:00:22,869 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=59, PETRI_DIFFERENCE_MINUEND_FLOW=83, PETRI_DIFFERENCE_MINUEND_PLACES=43, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=39, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=2, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=37, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=91, PETRI_PLACES=46, PETRI_TRANSITIONS=39} [2022-02-20 21:00:22,870 INFO L334 CegarLoopForPetriNet]: 42 programPoint places, 4 predicate places. [2022-02-20 21:00:22,870 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 46 places, 39 transitions, 91 flow [2022-02-20 21:00:22,875 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 109 states, 107 states have (on average 1.6168224299065421) internal successors, (173), 108 states have internal predecessors, (173), 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 21:00:22,875 INFO L78 Accepts]: Start accepts. Automaton has has 109 states, 107 states have (on average 1.6168224299065421) internal successors, (173), 108 states have internal predecessors, (173), 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 23 [2022-02-20 21:00:22,876 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:00:22,876 INFO L470 AbstractCegarLoop]: Abstraction has has 46 places, 39 transitions, 91 flow [2022-02-20 21:00:22,876 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 47.0) internal successors, (141), 3 states have internal predecessors, (141), 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 21:00:22,876 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:00:22,877 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] [2022-02-20 21:00:22,877 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-20 21:00:22,877 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 21:00:22,877 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:00:22,878 INFO L85 PathProgramCache]: Analyzing trace with hash -315270955, now seen corresponding path program 1 times [2022-02-20 21:00:22,878 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:00:22,878 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [529649148] [2022-02-20 21:00:22,878 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:22,878 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:00:22,899 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:22,930 INFO L290 TraceCheckUtils]: 0: Hoare triple {292#true} [126] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {292#true} is VALID [2022-02-20 21:00:22,930 INFO L290 TraceCheckUtils]: 1: Hoare triple {292#true} [116] 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] {292#true} is VALID [2022-02-20 21:00:22,930 INFO L290 TraceCheckUtils]: 2: Hoare triple {292#true} [133] 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[] {292#true} is VALID [2022-02-20 21:00:22,931 INFO L290 TraceCheckUtils]: 3: Hoare triple {292#true} [134] L-1-2-->L16: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {292#true} is VALID [2022-02-20 21:00:22,931 INFO L290 TraceCheckUtils]: 4: Hoare triple {292#true} [115] L16-->L16-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[] {292#true} is VALID [2022-02-20 21:00:22,931 INFO L290 TraceCheckUtils]: 5: Hoare triple {292#true} [83] L16-1-->L16-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[] {292#true} is VALID [2022-02-20 21:00:22,931 INFO L290 TraceCheckUtils]: 6: Hoare triple {292#true} [138] L16-2-->L16-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[] {292#true} is VALID [2022-02-20 21:00:22,932 INFO L290 TraceCheckUtils]: 7: Hoare triple {292#true} [120] L16-3-->L16-4: Formula: (and (= (select |v_#valid_3| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {292#true} is VALID [2022-02-20 21:00:22,932 INFO L290 TraceCheckUtils]: 8: Hoare triple {292#true} [123] L16-4-->L16-5: Formula: (= (select (select |v_#memory_int_3| 2) 0) 0) InVars {#memory_int=|v_#memory_int_3|} OutVars{#memory_int=|v_#memory_int_3|} AuxVars[] AssignedVars[] {292#true} is VALID [2022-02-20 21:00:22,932 INFO L290 TraceCheckUtils]: 9: Hoare triple {292#true} [113] L16-5-->L-1-3: Formula: (= v_~x~0_1 0) InVars {} OutVars{~x~0=v_~x~0_1} AuxVars[] AssignedVars[~x~0] {292#true} is VALID [2022-02-20 21:00:22,932 INFO L290 TraceCheckUtils]: 10: Hoare triple {292#true} [135] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {292#true} is VALID [2022-02-20 21:00:22,933 INFO L290 TraceCheckUtils]: 11: Hoare triple {292#true} [118] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {292#true} is VALID [2022-02-20 21:00:22,933 INFO L290 TraceCheckUtils]: 12: Hoare triple {292#true} [97] L-1-5-->L-1-6: Formula: (and (= |v_ULTIMATE.start_#in~argv#1.offset_1| |v_ULTIMATE.start_main_#in~argv#1.offset_1|) (= |v_ULTIMATE.start_main_#in~argv#1.base_1| |v_ULTIMATE.start_#in~argv#1.base_1|) (= |v_ULTIMATE.start_main_#in~argc#1_1| |v_ULTIMATE.start_#in~argc#1_1|)) InVars {ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} OutVars{ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_1|, ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_1|, ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#in~argv#1.base, ULTIMATE.start_main_#in~argc#1, ULTIMATE.start_main_#in~argv#1.offset] {292#true} is VALID [2022-02-20 21:00:22,933 INFO L290 TraceCheckUtils]: 13: Hoare triple {292#true} [117] L-1-6-->L-1-7: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {292#true} is VALID [2022-02-20 21:00:22,933 INFO L290 TraceCheckUtils]: 14: Hoare triple {292#true} [93] L-1-7-->L718: Formula: true InVars {} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_1|, ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_1|, ULTIMATE.start_main_~i~1#1=|v_ULTIMATE.start_main_~i~1#1_1|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_1|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_1|, ULTIMATE.start_main_#t~post4#1=|v_ULTIMATE.start_main_#t~post4#1_1|, ULTIMATE.start_main_#t~mem5#1=|v_ULTIMATE.start_main_#t~mem5#1_1|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1, ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~1#1, ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t~0#1.offset, ULTIMATE.start_main_#t~post4#1, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~mem5#1, ULTIMATE.start_main_~#t~0#1.base, ULTIMATE.start_main_#t~pre2#1] {292#true} is VALID [2022-02-20 21:00:22,934 INFO L290 TraceCheckUtils]: 15: Hoare triple {292#true} [102] L718-->L718-1: Formula: (= |v_ULTIMATE.start_main_#in~argc#1_2| |v_ULTIMATE.start_main_~argc#1_2|) InVars {ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_2|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1] {292#true} is VALID [2022-02-20 21:00:22,934 INFO L290 TraceCheckUtils]: 16: Hoare triple {292#true} [139] L718-1-->L719: Formula: (and (= |v_ULTIMATE.start_main_~argv#1.offset_2| |v_ULTIMATE.start_main_#in~argv#1.offset_2|) (= |v_ULTIMATE.start_main_#in~argv#1.base_2| |v_ULTIMATE.start_main_~argv#1.base_2|)) InVars {ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|} OutVars{ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~argv#1.offset] {292#true} is VALID [2022-02-20 21:00:22,934 INFO L290 TraceCheckUtils]: 17: Hoare triple {292#true} [85] L719-->L719-1: Formula: (and (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 24)) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) 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_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] {292#true} is VALID [2022-02-20 21:00:22,935 INFO L290 TraceCheckUtils]: 18: Hoare triple {292#true} [124] L719-1-->L722: Formula: (= v_~x~0_2 0) InVars {} OutVars{~x~0=v_~x~0_2} AuxVars[] AssignedVars[~x~0] {294#(= ~x~0 0)} is VALID [2022-02-20 21:00:22,935 INFO L290 TraceCheckUtils]: 19: Hoare triple {294#(= ~x~0 0)} [136] L722-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 1) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {294#(= ~x~0 0)} is VALID [2022-02-20 21:00:22,936 INFO L290 TraceCheckUtils]: 20: Hoare triple {294#(= ~x~0 0)} [105] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 5) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] {294#(= ~x~0 0)} is VALID [2022-02-20 21:00:22,936 INFO L290 TraceCheckUtils]: 21: Hoare triple {294#(= ~x~0 0)} [101] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] {294#(= ~x~0 0)} is VALID [2022-02-20 21:00:22,937 INFO L290 TraceCheckUtils]: 22: Hoare triple {294#(= ~x~0 0)} [127] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {294#(= ~x~0 0)} is VALID [2022-02-20 21:00:22,937 INFO L290 TraceCheckUtils]: 23: Hoare triple {294#(= ~x~0 0)} [92] L724-2-->L724-3: Formula: (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| (* |v_ULTIMATE.start_main_~i~0#1_5| 4)) |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|) InVars {#memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{#memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] {294#(= ~x~0 0)} is VALID [2022-02-20 21:00:22,938 INFO L290 TraceCheckUtils]: 24: Hoare triple {294#(= ~x~0 0)} [147] L724-3-->threadENTRY: Formula: (and (= |v_ULTIMATE.start_main_#t~pre2#1_6| v_threadThread1of1ForFork0_thidvar0_2) (= |v_threadThread1of1ForFork0_#in~arg.base_4| 0) (= |v_ULTIMATE.start_main_~i~0#1_9| |v_threadThread1of1ForFork0_#in~arg.offset_4|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_9|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_6|} OutVars{threadThread1of1ForFork0_#in~arg.offset=|v_threadThread1of1ForFork0_#in~arg.offset_4|, threadThread1of1ForFork0_~thread~0=v_threadThread1of1ForFork0_~thread~0_6, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_9|, threadThread1of1ForFork0_~arg.base=v_threadThread1of1ForFork0_~arg.base_6, threadThread1of1ForFork0_~arg.offset=v_threadThread1of1ForFork0_~arg.offset_6, threadThread1of1ForFork0_#res.base=|v_threadThread1of1ForFork0_#res.base_4|, threadThread1of1ForFork0_thidvar0=v_threadThread1of1ForFork0_thidvar0_2, threadThread1of1ForFork0_#res.offset=|v_threadThread1of1ForFork0_#res.offset_4|, threadThread1of1ForFork0_#in~arg.base=|v_threadThread1of1ForFork0_#in~arg.base_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_6|} AuxVars[] AssignedVars[threadThread1of1ForFork0_#in~arg.offset, threadThread1of1ForFork0_~thread~0, threadThread1of1ForFork0_~arg.base, threadThread1of1ForFork0_~arg.offset, threadThread1of1ForFork0_#res.base, threadThread1of1ForFork0_thidvar0, threadThread1of1ForFork0_#res.offset, threadThread1of1ForFork0_#in~arg.base] {294#(= ~x~0 0)} is VALID [2022-02-20 21:00:22,939 INFO L290 TraceCheckUtils]: 25: Hoare triple {294#(= ~x~0 0)} [137] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] {294#(= ~x~0 0)} is VALID [2022-02-20 21:00:22,939 INFO L290 TraceCheckUtils]: 26: Hoare triple {294#(= ~x~0 0)} [90] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] {294#(= ~x~0 0)} is VALID [2022-02-20 21:00:22,940 INFO L290 TraceCheckUtils]: 27: Hoare triple {294#(= ~x~0 0)} [119] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] {294#(= ~x~0 0)} is VALID [2022-02-20 21:00:22,940 INFO L290 TraceCheckUtils]: 28: Hoare triple {294#(= ~x~0 0)} [98] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {294#(= ~x~0 0)} is VALID [2022-02-20 21:00:22,941 INFO L290 TraceCheckUtils]: 29: Hoare triple {294#(= ~x~0 0)} [114] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] {294#(= ~x~0 0)} is VALID [2022-02-20 21:00:22,941 INFO L290 TraceCheckUtils]: 30: Hoare triple {294#(= ~x~0 0)} [104] L723-5-->L723-6: Formula: (not (<= |v_ULTIMATE.start_main_~i~0#1_3| 5)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} AuxVars[] AssignedVars[] {294#(= ~x~0 0)} is VALID [2022-02-20 21:00:22,942 INFO L290 TraceCheckUtils]: 31: Hoare triple {294#(= ~x~0 0)} [88] L723-6-->L727: Formula: (not (< v_~x~0_4 6)) InVars {~x~0=v_~x~0_4} OutVars{~x~0=v_~x~0_4} AuxVars[] AssignedVars[] {293#false} is VALID [2022-02-20 21:00:22,942 INFO L290 TraceCheckUtils]: 32: Hoare triple {293#false} [95] L727-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {293#false} is VALID [2022-02-20 21:00:22,942 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 21:00:22,943 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:00:22,943 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [529649148] [2022-02-20 21:00:22,943 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [529649148] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:00:22,943 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 21:00:22,943 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 21:00:22,944 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1702084806] [2022-02-20 21:00:22,944 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:00:22,948 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 11.0) internal successors, (33), 3 states have internal predecessors, (33), 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 33 [2022-02-20 21:00:22,948 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:00:22,949 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 11.0) internal successors, (33), 3 states have internal predecessors, (33), 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 21:00:22,980 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:00:22,980 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 21:00:22,981 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:00:22,981 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 21:00:22,981 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 21:00:22,982 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 48 out of 59 [2022-02-20 21:00:22,982 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 46 places, 39 transitions, 91 flow. Second operand has 3 states, 3 states have (on average 49.333333333333336) internal successors, (148), 3 states have internal predecessors, (148), 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 21:00:22,983 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 21:00:22,983 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 48 of 59 [2022-02-20 21:00:22,983 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 21:00:22,999 INFO L129 PetriNetUnfolder]: 0/43 cut-off events. [2022-02-20 21:00:22,999 INFO L130 PetriNetUnfolder]: For 2/2 co-relation queries the response was YES. [2022-02-20 21:00:22,999 INFO L84 FinitePrefix]: Finished finitePrefix Result has 61 conditions, 43 events. 0/43 cut-off events. For 2/2 co-relation queries the response was YES. Maximal size of possible extension queue 2. Compared 15 event pairs, 0 based on Foata normal form. 1/44 useless extension candidates. Maximal degree in co-relation 0. Up to 3 conditions per place. [2022-02-20 21:00:23,000 INFO L132 encePairwiseOnDemand]: 56/59 looper letters, 3 selfloop transitions, 2 changer transitions 0/39 dead transitions. [2022-02-20 21:00:23,000 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 48 places, 39 transitions, 101 flow [2022-02-20 21:00:23,000 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 21:00:23,000 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2022-02-20 21:00:23,003 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 150 transitions. [2022-02-20 21:00:23,003 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.847457627118644 [2022-02-20 21:00:23,003 INFO L72 ComplementDD]: Start complementDD. Operand 3 states and 150 transitions. [2022-02-20 21:00:23,003 INFO L73 IsDeterministic]: Start isDeterministic. Operand 3 states and 150 transitions. [2022-02-20 21:00:23,003 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 21:00:23,004 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 3 states and 150 transitions. [2022-02-20 21:00:23,004 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 4 states, 3 states have (on average 50.0) internal successors, (150), 3 states have internal predecessors, (150), 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 21:00:23,005 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 4 states, 4 states have (on average 59.0) internal successors, (236), 4 states have internal predecessors, (236), 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 21:00:23,005 INFO L81 ComplementDD]: Finished complementDD. Result has 4 states, 4 states have (on average 59.0) internal successors, (236), 4 states have internal predecessors, (236), 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 21:00:23,005 INFO L186 Difference]: Start difference. First operand has 46 places, 39 transitions, 91 flow. Second operand 3 states and 150 transitions. [2022-02-20 21:00:23,006 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 48 places, 39 transitions, 101 flow [2022-02-20 21:00:23,006 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 46 places, 39 transitions, 97 flow, removed 0 selfloop flow, removed 2 redundant places. [2022-02-20 21:00:23,007 INFO L242 Difference]: Finished difference. Result has 47 places, 39 transitions, 95 flow [2022-02-20 21:00:23,007 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=59, PETRI_DIFFERENCE_MINUEND_FLOW=87, PETRI_DIFFERENCE_MINUEND_PLACES=44, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=39, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=2, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=37, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=95, PETRI_PLACES=47, PETRI_TRANSITIONS=39} [2022-02-20 21:00:23,008 INFO L334 CegarLoopForPetriNet]: 42 programPoint places, 5 predicate places. [2022-02-20 21:00:23,008 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 47 places, 39 transitions, 95 flow [2022-02-20 21:00:23,012 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 103 states, 101 states have (on average 1.5940594059405941) internal successors, (161), 102 states have internal predecessors, (161), 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 21:00:23,012 INFO L78 Accepts]: Start accepts. Automaton has has 103 states, 101 states have (on average 1.5940594059405941) internal successors, (161), 102 states have internal predecessors, (161), 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 33 [2022-02-20 21:00:23,013 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:00:23,013 INFO L470 AbstractCegarLoop]: Abstraction has has 47 places, 39 transitions, 95 flow [2022-02-20 21:00:23,013 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 49.333333333333336) internal successors, (148), 3 states have internal predecessors, (148), 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 21:00:23,013 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:00:23,014 INFO L254 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 21:00:23,014 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-02-20 21:00:23,014 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0INUSE_VIOLATION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 21:00:23,014 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:00:23,014 INFO L85 PathProgramCache]: Analyzing trace with hash 1968634815, now seen corresponding path program 1 times [2022-02-20 21:00:23,015 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:00:23,015 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [72235795] [2022-02-20 21:00:23,015 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:23,015 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:00:23,038 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 21:00:23,043 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-02-20 21:00:23,057 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 21:00:23,075 INFO L138 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-02-20 21:00:23,076 INFO L628 BasicCegarLoop]: Counterexample is feasible [2022-02-20 21:00:23,077 INFO L764 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0INUSE_VIOLATION (1 of 2 remaining) [2022-02-20 21:00:23,078 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 2 remaining) [2022-02-20 21:00:23,078 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-02-20 21:00:23,081 INFO L732 BasicCegarLoop]: Path program histogram: [1, 1, 1, 1] [2022-02-20 21:00:23,082 WARN L235 ceAbstractionStarter]: 1 thread instances were not sufficient, I will increase this number and restart the analysis [2022-02-20 21:00:23,082 INFO L534 ceAbstractionStarter]: Constructing petrified ICFG for 2 thread instances. [2022-02-20 21:00:23,097 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of2ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:23,097 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of2ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:23,097 WARN L322 ript$VariableManager]: TermVariabe threadThread1of2ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:23,097 WARN L322 ript$VariableManager]: TermVariabe threadThread1of2ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:23,098 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of2ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:23,098 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of2ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:23,098 WARN L322 ript$VariableManager]: TermVariabe threadThread1of2ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:23,098 WARN L322 ript$VariableManager]: TermVariabe threadThread1of2ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:23,099 WARN L322 ript$VariableManager]: TermVariabe threadThread1of2ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:23,099 WARN L322 ript$VariableManager]: TermVariabe threadThread1of2ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:23,099 WARN L322 ript$VariableManager]: TermVariabe threadThread1of2ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:23,099 WARN L322 ript$VariableManager]: TermVariabe threadThread1of2ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:23,099 WARN L322 ript$VariableManager]: TermVariabe threadThread1of2ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:23,099 WARN L322 ript$VariableManager]: TermVariabe threadThread1of2ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:23,100 WARN L322 ript$VariableManager]: TermVariabe threadThread1of2ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:23,100 WARN L322 ript$VariableManager]: TermVariabe threadThread1of2ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:23,100 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of2ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:23,100 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of2ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:23,100 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of2ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:23,101 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of2ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:23,101 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of2ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:23,101 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of2ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:23,101 WARN L322 ript$VariableManager]: TermVariabe threadThread2of2ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:23,101 WARN L322 ript$VariableManager]: TermVariabe threadThread2of2ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:23,102 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of2ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:23,102 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of2ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:23,102 WARN L322 ript$VariableManager]: TermVariabe threadThread2of2ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:23,102 WARN L322 ript$VariableManager]: TermVariabe threadThread2of2ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:23,102 WARN L322 ript$VariableManager]: TermVariabe threadThread2of2ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:23,102 WARN L322 ript$VariableManager]: TermVariabe threadThread2of2ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:23,102 WARN L322 ript$VariableManager]: TermVariabe threadThread2of2ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:23,103 WARN L322 ript$VariableManager]: TermVariabe threadThread2of2ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:23,103 WARN L322 ript$VariableManager]: TermVariabe threadThread2of2ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:23,103 WARN L322 ript$VariableManager]: TermVariabe threadThread2of2ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:23,103 WARN L322 ript$VariableManager]: TermVariabe threadThread2of2ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:23,103 WARN L322 ript$VariableManager]: TermVariabe threadThread2of2ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:23,104 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of2ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:23,104 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of2ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:23,104 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of2ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:23,104 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of2ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:23,105 WARN L322 ript$VariableManager]: TermVariabe threadThread1of2ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:23,105 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of2ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:23,105 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of2ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:23,105 WARN L322 ript$VariableManager]: TermVariabe threadThread1of2ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:23,105 WARN L322 ript$VariableManager]: TermVariabe threadThread1of2ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:23,106 WARN L322 ript$VariableManager]: TermVariabe threadThread2of2ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:23,106 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of2ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:23,106 WARN L322 ript$VariableManager]: TermVariabe threadThread2of2ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:23,106 WARN L322 ript$VariableManager]: TermVariabe threadThread2of2ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:23,106 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of2ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:23,112 INFO L148 ThreadInstanceAdder]: Constructed 2 joinOtherThreadTransitions. [2022-02-20 21:00:23,113 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 21:00:23,114 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 21:00:23,114 INFO L340 AbstractCegarLoop]: Starting to check reachability of 2 error locations. [2022-02-20 21:00:23,117 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 66 places, 66 transitions, 150 flow [2022-02-20 21:00:23,133 INFO L129 PetriNetUnfolder]: 13/135 cut-off events. [2022-02-20 21:00:23,137 INFO L130 PetriNetUnfolder]: For 6/6 co-relation queries the response was YES. [2022-02-20 21:00:23,138 INFO L84 FinitePrefix]: Finished finitePrefix Result has 149 conditions, 135 events. 13/135 cut-off events. For 6/6 co-relation queries the response was YES. Maximal size of possible extension queue 6. Compared 236 event pairs, 0 based on Foata normal form. 0/115 useless extension candidates. Maximal degree in co-relation 83. Up to 8 conditions per place. [2022-02-20 21:00:23,138 INFO L82 GeneralOperation]: Start removeDead. Operand has 66 places, 66 transitions, 150 flow [2022-02-20 21:00:23,139 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 50 places, 46 transitions, 104 flow [2022-02-20 21:00:23,142 INFO L129 PetriNetUnfolder]: 1/26 cut-off events. [2022-02-20 21:00:23,142 INFO L130 PetriNetUnfolder]: For 0/0 co-relation queries the response was YES. [2022-02-20 21:00:23,142 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:00:23,142 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] [2022-02-20 21:00:23,143 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 21:00:23,143 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:00:23,143 INFO L85 PathProgramCache]: Analyzing trace with hash 775346483, now seen corresponding path program 1 times [2022-02-20 21:00:23,143 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:00:23,144 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [198338770] [2022-02-20 21:00:23,144 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:23,144 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:00:23,155 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:23,180 INFO L290 TraceCheckUtils]: 0: Hoare triple {69#true} [192] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {69#true} is VALID [2022-02-20 21:00:23,180 INFO L290 TraceCheckUtils]: 1: Hoare triple {69#true} [182] 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] {69#true} is VALID [2022-02-20 21:00:23,180 INFO L290 TraceCheckUtils]: 2: Hoare triple {69#true} [199] 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[] {69#true} is VALID [2022-02-20 21:00:23,181 INFO L290 TraceCheckUtils]: 3: Hoare triple {69#true} [200] L-1-2-->L16: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {69#true} is VALID [2022-02-20 21:00:23,181 INFO L290 TraceCheckUtils]: 4: Hoare triple {69#true} [181] L16-->L16-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[] {69#true} is VALID [2022-02-20 21:00:23,181 INFO L290 TraceCheckUtils]: 5: Hoare triple {69#true} [149] L16-1-->L16-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[] {69#true} is VALID [2022-02-20 21:00:23,182 INFO L290 TraceCheckUtils]: 6: Hoare triple {69#true} [204] L16-2-->L16-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[] {69#true} is VALID [2022-02-20 21:00:23,182 INFO L290 TraceCheckUtils]: 7: Hoare triple {69#true} [186] L16-3-->L16-4: Formula: (and (= (select |v_#valid_3| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {69#true} is VALID [2022-02-20 21:00:23,182 INFO L290 TraceCheckUtils]: 8: Hoare triple {69#true} [189] L16-4-->L16-5: Formula: (= (select (select |v_#memory_int_3| 2) 0) 0) InVars {#memory_int=|v_#memory_int_3|} OutVars{#memory_int=|v_#memory_int_3|} AuxVars[] AssignedVars[] {69#true} is VALID [2022-02-20 21:00:23,182 INFO L290 TraceCheckUtils]: 9: Hoare triple {69#true} [179] L16-5-->L-1-3: Formula: (= v_~x~0_1 0) InVars {} OutVars{~x~0=v_~x~0_1} AuxVars[] AssignedVars[~x~0] {69#true} is VALID [2022-02-20 21:00:23,183 INFO L290 TraceCheckUtils]: 10: Hoare triple {69#true} [201] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {69#true} is VALID [2022-02-20 21:00:23,183 INFO L290 TraceCheckUtils]: 11: Hoare triple {69#true} [184] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {69#true} is VALID [2022-02-20 21:00:23,183 INFO L290 TraceCheckUtils]: 12: Hoare triple {69#true} [163] L-1-5-->L-1-6: Formula: (and (= |v_ULTIMATE.start_#in~argv#1.offset_1| |v_ULTIMATE.start_main_#in~argv#1.offset_1|) (= |v_ULTIMATE.start_main_#in~argv#1.base_1| |v_ULTIMATE.start_#in~argv#1.base_1|) (= |v_ULTIMATE.start_main_#in~argc#1_1| |v_ULTIMATE.start_#in~argc#1_1|)) InVars {ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} OutVars{ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_1|, ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_1|, ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#in~argv#1.base, ULTIMATE.start_main_#in~argc#1, ULTIMATE.start_main_#in~argv#1.offset] {69#true} is VALID [2022-02-20 21:00:23,183 INFO L290 TraceCheckUtils]: 13: Hoare triple {69#true} [183] L-1-6-->L-1-7: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {69#true} is VALID [2022-02-20 21:00:23,184 INFO L290 TraceCheckUtils]: 14: Hoare triple {69#true} [159] L-1-7-->L718: Formula: true InVars {} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_1|, ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_1|, ULTIMATE.start_main_~i~1#1=|v_ULTIMATE.start_main_~i~1#1_1|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_1|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_1|, ULTIMATE.start_main_#t~post4#1=|v_ULTIMATE.start_main_#t~post4#1_1|, ULTIMATE.start_main_#t~mem5#1=|v_ULTIMATE.start_main_#t~mem5#1_1|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1, ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~1#1, ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t~0#1.offset, ULTIMATE.start_main_#t~post4#1, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~mem5#1, ULTIMATE.start_main_~#t~0#1.base, ULTIMATE.start_main_#t~pre2#1] {69#true} is VALID [2022-02-20 21:00:23,184 INFO L290 TraceCheckUtils]: 15: Hoare triple {69#true} [168] L718-->L718-1: Formula: (= |v_ULTIMATE.start_main_#in~argc#1_2| |v_ULTIMATE.start_main_~argc#1_2|) InVars {ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_2|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1] {69#true} is VALID [2022-02-20 21:00:23,184 INFO L290 TraceCheckUtils]: 16: Hoare triple {69#true} [205] L718-1-->L719: Formula: (and (= |v_ULTIMATE.start_main_~argv#1.offset_2| |v_ULTIMATE.start_main_#in~argv#1.offset_2|) (= |v_ULTIMATE.start_main_#in~argv#1.base_2| |v_ULTIMATE.start_main_~argv#1.base_2|)) InVars {ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|} OutVars{ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~argv#1.offset] {69#true} is VALID [2022-02-20 21:00:23,185 INFO L290 TraceCheckUtils]: 17: Hoare triple {69#true} [151] L719-->L719-1: Formula: (and (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 24)) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) 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_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] {69#true} is VALID [2022-02-20 21:00:23,185 INFO L290 TraceCheckUtils]: 18: Hoare triple {69#true} [190] L719-1-->L722: Formula: (= v_~x~0_2 0) InVars {} OutVars{~x~0=v_~x~0_2} AuxVars[] AssignedVars[~x~0] {69#true} is VALID [2022-02-20 21:00:23,186 INFO L290 TraceCheckUtils]: 19: Hoare triple {69#true} [202] L722-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 1) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {71#(= 0 (+ (- 1) |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 21:00:23,186 INFO L290 TraceCheckUtils]: 20: Hoare triple {71#(= 0 (+ (- 1) |ULTIMATE.start_main_~i~0#1|))} [170] L723-5-->L723-6: Formula: (not (<= |v_ULTIMATE.start_main_~i~0#1_3| 5)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} AuxVars[] AssignedVars[] {70#false} is VALID [2022-02-20 21:00:23,186 INFO L290 TraceCheckUtils]: 21: Hoare triple {70#false} [154] L723-6-->L727: Formula: (not (< v_~x~0_4 6)) InVars {~x~0=v_~x~0_4} OutVars{~x~0=v_~x~0_4} AuxVars[] AssignedVars[] {70#false} is VALID [2022-02-20 21:00:23,187 INFO L290 TraceCheckUtils]: 22: Hoare triple {70#false} [161] L727-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {70#false} is VALID [2022-02-20 21:00:23,187 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 21:00:23,187 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:00:23,188 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [198338770] [2022-02-20 21:00:23,188 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [198338770] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:00:23,188 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 21:00:23,188 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 21:00:23,188 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1589549848] [2022-02-20 21:00:23,189 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:00:23,189 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 7.666666666666667) internal successors, (23), 3 states have internal predecessors, (23), 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 23 [2022-02-20 21:00:23,189 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:00:23,190 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 7.666666666666667) internal successors, (23), 3 states have internal predecessors, (23), 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 21:00:23,207 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 23 edges. 23 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:00:23,207 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 21:00:23,207 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:00:23,208 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 21:00:23,208 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 21:00:23,209 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 51 out of 66 [2022-02-20 21:00:23,209 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 50 places, 46 transitions, 104 flow. Second operand has 3 states, 3 states have (on average 52.0) internal successors, (156), 3 states have internal predecessors, (156), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 21:00:23,209 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 21:00:23,209 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 51 of 66 [2022-02-20 21:00:23,210 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 21:00:23,238 INFO L129 PetriNetUnfolder]: 0/61 cut-off events. [2022-02-20 21:00:23,238 INFO L130 PetriNetUnfolder]: For 2/2 co-relation queries the response was YES. [2022-02-20 21:00:23,238 INFO L84 FinitePrefix]: Finished finitePrefix Result has 88 conditions, 61 events. 0/61 cut-off events. For 2/2 co-relation queries the response was YES. Maximal size of possible extension queue 3. Compared 32 event pairs, 0 based on Foata normal form. 0/59 useless extension candidates. Maximal degree in co-relation 0. Up to 12 conditions per place. [2022-02-20 21:00:23,239 INFO L132 encePairwiseOnDemand]: 62/66 looper letters, 11 selfloop transitions, 2 changer transitions 0/49 dead transitions. [2022-02-20 21:00:23,239 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 52 places, 49 transitions, 136 flow [2022-02-20 21:00:23,239 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 21:00:23,239 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2022-02-20 21:00:23,242 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 169 transitions. [2022-02-20 21:00:23,242 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.8535353535353535 [2022-02-20 21:00:23,242 INFO L72 ComplementDD]: Start complementDD. Operand 3 states and 169 transitions. [2022-02-20 21:00:23,242 INFO L73 IsDeterministic]: Start isDeterministic. Operand 3 states and 169 transitions. [2022-02-20 21:00:23,243 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 21:00:23,243 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 3 states and 169 transitions. [2022-02-20 21:00:23,244 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 4 states, 3 states have (on average 56.333333333333336) internal successors, (169), 3 states have internal predecessors, (169), 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 21:00:23,244 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 4 states, 4 states have (on average 66.0) internal successors, (264), 4 states have internal predecessors, (264), 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 21:00:23,245 INFO L81 ComplementDD]: Finished complementDD. Result has 4 states, 4 states have (on average 66.0) internal successors, (264), 4 states have internal predecessors, (264), 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 21:00:23,245 INFO L186 Difference]: Start difference. First operand has 50 places, 46 transitions, 104 flow. Second operand 3 states and 169 transitions. [2022-02-20 21:00:23,245 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 52 places, 49 transitions, 136 flow [2022-02-20 21:00:23,246 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 52 places, 49 transitions, 134 flow, removed 1 selfloop flow, removed 0 redundant places. [2022-02-20 21:00:23,247 INFO L242 Difference]: Finished difference. Result has 53 places, 46 transitions, 112 flow [2022-02-20 21:00:23,247 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=66, PETRI_DIFFERENCE_MINUEND_FLOW=100, PETRI_DIFFERENCE_MINUEND_PLACES=50, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=45, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=43, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=112, PETRI_PLACES=53, PETRI_TRANSITIONS=46} [2022-02-20 21:00:23,248 INFO L334 CegarLoopForPetriNet]: 50 programPoint places, 3 predicate places. [2022-02-20 21:00:23,248 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 53 places, 46 transitions, 112 flow [2022-02-20 21:00:23,264 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 607 states, 604 states have (on average 2.443708609271523) internal successors, (1476), 606 states have internal predecessors, (1476), 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 21:00:23,266 INFO L78 Accepts]: Start accepts. Automaton has has 607 states, 604 states have (on average 2.443708609271523) internal successors, (1476), 606 states have internal predecessors, (1476), 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 23 [2022-02-20 21:00:23,266 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:00:23,266 INFO L470 AbstractCegarLoop]: Abstraction has has 53 places, 46 transitions, 112 flow [2022-02-20 21:00:23,266 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 52.0) internal successors, (156), 3 states have internal predecessors, (156), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 21:00:23,267 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:00:23,267 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] [2022-02-20 21:00:23,267 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2022-02-20 21:00:23,267 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 21:00:23,268 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:00:23,268 INFO L85 PathProgramCache]: Analyzing trace with hash -1083506660, now seen corresponding path program 1 times [2022-02-20 21:00:23,268 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:00:23,268 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [325033542] [2022-02-20 21:00:23,268 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:23,269 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:00:23,283 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:23,305 INFO L290 TraceCheckUtils]: 0: Hoare triple {682#true} [192] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {682#true} is VALID [2022-02-20 21:00:23,305 INFO L290 TraceCheckUtils]: 1: Hoare triple {682#true} [182] 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] {682#true} is VALID [2022-02-20 21:00:23,306 INFO L290 TraceCheckUtils]: 2: Hoare triple {682#true} [199] 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[] {682#true} is VALID [2022-02-20 21:00:23,306 INFO L290 TraceCheckUtils]: 3: Hoare triple {682#true} [200] L-1-2-->L16: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {682#true} is VALID [2022-02-20 21:00:23,306 INFO L290 TraceCheckUtils]: 4: Hoare triple {682#true} [181] L16-->L16-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[] {682#true} is VALID [2022-02-20 21:00:23,306 INFO L290 TraceCheckUtils]: 5: Hoare triple {682#true} [149] L16-1-->L16-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[] {682#true} is VALID [2022-02-20 21:00:23,307 INFO L290 TraceCheckUtils]: 6: Hoare triple {682#true} [204] L16-2-->L16-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[] {682#true} is VALID [2022-02-20 21:00:23,307 INFO L290 TraceCheckUtils]: 7: Hoare triple {682#true} [186] L16-3-->L16-4: Formula: (and (= (select |v_#valid_3| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {682#true} is VALID [2022-02-20 21:00:23,307 INFO L290 TraceCheckUtils]: 8: Hoare triple {682#true} [189] L16-4-->L16-5: Formula: (= (select (select |v_#memory_int_3| 2) 0) 0) InVars {#memory_int=|v_#memory_int_3|} OutVars{#memory_int=|v_#memory_int_3|} AuxVars[] AssignedVars[] {682#true} is VALID [2022-02-20 21:00:23,307 INFO L290 TraceCheckUtils]: 9: Hoare triple {682#true} [179] L16-5-->L-1-3: Formula: (= v_~x~0_1 0) InVars {} OutVars{~x~0=v_~x~0_1} AuxVars[] AssignedVars[~x~0] {682#true} is VALID [2022-02-20 21:00:23,308 INFO L290 TraceCheckUtils]: 10: Hoare triple {682#true} [201] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {682#true} is VALID [2022-02-20 21:00:23,308 INFO L290 TraceCheckUtils]: 11: Hoare triple {682#true} [184] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {682#true} is VALID [2022-02-20 21:00:23,308 INFO L290 TraceCheckUtils]: 12: Hoare triple {682#true} [163] L-1-5-->L-1-6: Formula: (and (= |v_ULTIMATE.start_#in~argv#1.offset_1| |v_ULTIMATE.start_main_#in~argv#1.offset_1|) (= |v_ULTIMATE.start_main_#in~argv#1.base_1| |v_ULTIMATE.start_#in~argv#1.base_1|) (= |v_ULTIMATE.start_main_#in~argc#1_1| |v_ULTIMATE.start_#in~argc#1_1|)) InVars {ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} OutVars{ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_1|, ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_1|, ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#in~argv#1.base, ULTIMATE.start_main_#in~argc#1, ULTIMATE.start_main_#in~argv#1.offset] {682#true} is VALID [2022-02-20 21:00:23,308 INFO L290 TraceCheckUtils]: 13: Hoare triple {682#true} [183] L-1-6-->L-1-7: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {682#true} is VALID [2022-02-20 21:00:23,309 INFO L290 TraceCheckUtils]: 14: Hoare triple {682#true} [159] L-1-7-->L718: Formula: true InVars {} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_1|, ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_1|, ULTIMATE.start_main_~i~1#1=|v_ULTIMATE.start_main_~i~1#1_1|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_1|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_1|, ULTIMATE.start_main_#t~post4#1=|v_ULTIMATE.start_main_#t~post4#1_1|, ULTIMATE.start_main_#t~mem5#1=|v_ULTIMATE.start_main_#t~mem5#1_1|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1, ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~1#1, ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t~0#1.offset, ULTIMATE.start_main_#t~post4#1, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~mem5#1, ULTIMATE.start_main_~#t~0#1.base, ULTIMATE.start_main_#t~pre2#1] {682#true} is VALID [2022-02-20 21:00:23,309 INFO L290 TraceCheckUtils]: 15: Hoare triple {682#true} [168] L718-->L718-1: Formula: (= |v_ULTIMATE.start_main_#in~argc#1_2| |v_ULTIMATE.start_main_~argc#1_2|) InVars {ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_2|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1] {682#true} is VALID [2022-02-20 21:00:23,309 INFO L290 TraceCheckUtils]: 16: Hoare triple {682#true} [205] L718-1-->L719: Formula: (and (= |v_ULTIMATE.start_main_~argv#1.offset_2| |v_ULTIMATE.start_main_#in~argv#1.offset_2|) (= |v_ULTIMATE.start_main_#in~argv#1.base_2| |v_ULTIMATE.start_main_~argv#1.base_2|)) InVars {ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|} OutVars{ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~argv#1.offset] {682#true} is VALID [2022-02-20 21:00:23,309 INFO L290 TraceCheckUtils]: 17: Hoare triple {682#true} [151] L719-->L719-1: Formula: (and (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 24)) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) 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_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] {682#true} is VALID [2022-02-20 21:00:23,310 INFO L290 TraceCheckUtils]: 18: Hoare triple {682#true} [190] L719-1-->L722: Formula: (= v_~x~0_2 0) InVars {} OutVars{~x~0=v_~x~0_2} AuxVars[] AssignedVars[~x~0] {684#(= ~x~0 0)} is VALID [2022-02-20 21:00:23,310 INFO L290 TraceCheckUtils]: 19: Hoare triple {684#(= ~x~0 0)} [202] L722-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 1) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {684#(= ~x~0 0)} is VALID [2022-02-20 21:00:23,311 INFO L290 TraceCheckUtils]: 20: Hoare triple {684#(= ~x~0 0)} [171] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 5) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] {684#(= ~x~0 0)} is VALID [2022-02-20 21:00:23,311 INFO L290 TraceCheckUtils]: 21: Hoare triple {684#(= ~x~0 0)} [167] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] {684#(= ~x~0 0)} is VALID [2022-02-20 21:00:23,312 INFO L290 TraceCheckUtils]: 22: Hoare triple {684#(= ~x~0 0)} [193] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {684#(= ~x~0 0)} is VALID [2022-02-20 21:00:23,312 INFO L290 TraceCheckUtils]: 23: Hoare triple {684#(= ~x~0 0)} [158] L724-2-->L724-3: Formula: (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| (* |v_ULTIMATE.start_main_~i~0#1_5| 4)) |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|) InVars {#memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{#memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] {684#(= ~x~0 0)} is VALID [2022-02-20 21:00:23,313 INFO L290 TraceCheckUtils]: 24: Hoare triple {684#(= ~x~0 0)} [218] L724-3-->threadENTRY: Formula: (and (= |v_threadThread1of2ForFork0_#in~arg.base_4| 0) (= |v_ULTIMATE.start_main_~i~0#1_11| |v_threadThread1of2ForFork0_#in~arg.offset_4|) (= |v_ULTIMATE.start_main_#t~pre2#1_8| v_threadThread1of2ForFork0_thidvar0_2)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_11|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_8|} OutVars{threadThread1of2ForFork0_~arg.base=v_threadThread1of2ForFork0_~arg.base_6, threadThread1of2ForFork0_#res.base=|v_threadThread1of2ForFork0_#res.base_4|, threadThread1of2ForFork0_thidvar0=v_threadThread1of2ForFork0_thidvar0_2, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_11|, threadThread1of2ForFork0_#res.offset=|v_threadThread1of2ForFork0_#res.offset_4|, threadThread1of2ForFork0_~arg.offset=v_threadThread1of2ForFork0_~arg.offset_6, threadThread1of2ForFork0_#in~arg.base=|v_threadThread1of2ForFork0_#in~arg.base_4|, threadThread1of2ForFork0_#in~arg.offset=|v_threadThread1of2ForFork0_#in~arg.offset_4|, threadThread1of2ForFork0_~thread~0=v_threadThread1of2ForFork0_~thread~0_6, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_8|} AuxVars[] AssignedVars[threadThread1of2ForFork0_~arg.base, threadThread1of2ForFork0_#res.base, threadThread1of2ForFork0_thidvar0, threadThread1of2ForFork0_#res.offset, threadThread1of2ForFork0_~arg.offset, threadThread1of2ForFork0_#in~arg.base, threadThread1of2ForFork0_#in~arg.offset, threadThread1of2ForFork0_~thread~0] {684#(= ~x~0 0)} is VALID [2022-02-20 21:00:23,313 INFO L290 TraceCheckUtils]: 25: Hoare triple {684#(= ~x~0 0)} [203] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] {684#(= ~x~0 0)} is VALID [2022-02-20 21:00:23,314 INFO L290 TraceCheckUtils]: 26: Hoare triple {684#(= ~x~0 0)} [156] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] {684#(= ~x~0 0)} is VALID [2022-02-20 21:00:23,314 INFO L290 TraceCheckUtils]: 27: Hoare triple {684#(= ~x~0 0)} [185] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] {684#(= ~x~0 0)} is VALID [2022-02-20 21:00:23,315 INFO L290 TraceCheckUtils]: 28: Hoare triple {684#(= ~x~0 0)} [164] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {684#(= ~x~0 0)} is VALID [2022-02-20 21:00:23,315 INFO L290 TraceCheckUtils]: 29: Hoare triple {684#(= ~x~0 0)} [180] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] {684#(= ~x~0 0)} is VALID [2022-02-20 21:00:23,316 INFO L290 TraceCheckUtils]: 30: Hoare triple {684#(= ~x~0 0)} [170] L723-5-->L723-6: Formula: (not (<= |v_ULTIMATE.start_main_~i~0#1_3| 5)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} AuxVars[] AssignedVars[] {684#(= ~x~0 0)} is VALID [2022-02-20 21:00:23,316 INFO L290 TraceCheckUtils]: 31: Hoare triple {684#(= ~x~0 0)} [154] L723-6-->L727: Formula: (not (< v_~x~0_4 6)) InVars {~x~0=v_~x~0_4} OutVars{~x~0=v_~x~0_4} AuxVars[] AssignedVars[] {683#false} is VALID [2022-02-20 21:00:23,316 INFO L290 TraceCheckUtils]: 32: Hoare triple {683#false} [161] L727-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {683#false} is VALID [2022-02-20 21:00:23,317 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 21:00:23,317 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:00:23,317 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [325033542] [2022-02-20 21:00:23,317 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [325033542] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:00:23,317 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 21:00:23,318 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 21:00:23,318 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1736690136] [2022-02-20 21:00:23,318 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:00:23,318 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 11.0) internal successors, (33), 3 states have internal predecessors, (33), 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 33 [2022-02-20 21:00:23,319 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:00:23,319 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 11.0) internal successors, (33), 3 states have internal predecessors, (33), 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 21:00:23,342 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:00:23,343 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 21:00:23,343 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:00:23,344 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 21:00:23,344 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 21:00:23,344 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 52 out of 66 [2022-02-20 21:00:23,345 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 53 places, 46 transitions, 112 flow. Second operand has 3 states, 3 states have (on average 53.333333333333336) internal successors, (160), 3 states have internal predecessors, (160), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 21:00:23,345 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 21:00:23,345 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 52 of 66 [2022-02-20 21:00:23,345 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 21:00:23,369 INFO L129 PetriNetUnfolder]: 4/87 cut-off events. [2022-02-20 21:00:23,370 INFO L130 PetriNetUnfolder]: For 8/8 co-relation queries the response was YES. [2022-02-20 21:00:23,370 INFO L84 FinitePrefix]: Finished finitePrefix Result has 127 conditions, 87 events. 4/87 cut-off events. For 8/8 co-relation queries the response was YES. Maximal size of possible extension queue 5. Compared 146 event pairs, 1 based on Foata normal form. 2/88 useless extension candidates. Maximal degree in co-relation 84. Up to 13 conditions per place. [2022-02-20 21:00:23,371 INFO L132 encePairwiseOnDemand]: 62/66 looper letters, 7 selfloop transitions, 3 changer transitions 0/49 dead transitions. [2022-02-20 21:00:23,371 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 55 places, 49 transitions, 143 flow [2022-02-20 21:00:23,371 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 21:00:23,371 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2022-02-20 21:00:23,373 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 167 transitions. [2022-02-20 21:00:23,374 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.8434343434343434 [2022-02-20 21:00:23,374 INFO L72 ComplementDD]: Start complementDD. Operand 3 states and 167 transitions. [2022-02-20 21:00:23,374 INFO L73 IsDeterministic]: Start isDeterministic. Operand 3 states and 167 transitions. [2022-02-20 21:00:23,374 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 21:00:23,374 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 3 states and 167 transitions. [2022-02-20 21:00:23,375 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 4 states, 3 states have (on average 55.666666666666664) internal successors, (167), 3 states have internal predecessors, (167), 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 21:00:23,375 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 4 states, 4 states have (on average 66.0) internal successors, (264), 4 states have internal predecessors, (264), 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 21:00:23,376 INFO L81 ComplementDD]: Finished complementDD. Result has 4 states, 4 states have (on average 66.0) internal successors, (264), 4 states have internal predecessors, (264), 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 21:00:23,376 INFO L186 Difference]: Start difference. First operand has 53 places, 46 transitions, 112 flow. Second operand 3 states and 167 transitions. [2022-02-20 21:00:23,376 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 55 places, 49 transitions, 143 flow [2022-02-20 21:00:23,377 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 54 places, 49 transitions, 141 flow, removed 0 selfloop flow, removed 1 redundant places. [2022-02-20 21:00:23,378 INFO L242 Difference]: Finished difference. Result has 55 places, 48 transitions, 129 flow [2022-02-20 21:00:23,379 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=66, PETRI_DIFFERENCE_MINUEND_FLOW=110, PETRI_DIFFERENCE_MINUEND_PLACES=52, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=46, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=43, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=129, PETRI_PLACES=55, PETRI_TRANSITIONS=48} [2022-02-20 21:00:23,379 INFO L334 CegarLoopForPetriNet]: 50 programPoint places, 5 predicate places. [2022-02-20 21:00:23,379 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 55 places, 48 transitions, 129 flow [2022-02-20 21:00:23,394 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 583 states, 580 states have (on average 2.4310344827586206) internal successors, (1410), 582 states have internal predecessors, (1410), 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 21:00:23,396 INFO L78 Accepts]: Start accepts. Automaton has has 583 states, 580 states have (on average 2.4310344827586206) internal successors, (1410), 582 states have internal predecessors, (1410), 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 33 [2022-02-20 21:00:23,396 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:00:23,396 INFO L470 AbstractCegarLoop]: Abstraction has has 55 places, 48 transitions, 129 flow [2022-02-20 21:00:23,396 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 53.333333333333336) internal successors, (160), 3 states have internal predecessors, (160), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 21:00:23,397 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:00:23,397 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] [2022-02-20 21:00:23,397 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2022-02-20 21:00:23,397 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 21:00:23,398 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:00:23,398 INFO L85 PathProgramCache]: Analyzing trace with hash -2017126046, now seen corresponding path program 1 times [2022-02-20 21:00:23,398 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:00:23,398 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1058842168] [2022-02-20 21:00:23,398 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:23,399 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:00:23,413 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:23,457 INFO L290 TraceCheckUtils]: 0: Hoare triple {1271#true} [192] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1271#true} is VALID [2022-02-20 21:00:23,458 INFO L290 TraceCheckUtils]: 1: Hoare triple {1271#true} [182] 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] {1271#true} is VALID [2022-02-20 21:00:23,459 INFO L290 TraceCheckUtils]: 2: Hoare triple {1271#true} [199] 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[] {1271#true} is VALID [2022-02-20 21:00:23,459 INFO L290 TraceCheckUtils]: 3: Hoare triple {1271#true} [200] L-1-2-->L16: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {1271#true} is VALID [2022-02-20 21:00:23,459 INFO L290 TraceCheckUtils]: 4: Hoare triple {1271#true} [181] L16-->L16-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[] {1271#true} is VALID [2022-02-20 21:00:23,459 INFO L290 TraceCheckUtils]: 5: Hoare triple {1271#true} [149] L16-1-->L16-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[] {1271#true} is VALID [2022-02-20 21:00:23,459 INFO L290 TraceCheckUtils]: 6: Hoare triple {1271#true} [204] L16-2-->L16-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[] {1271#true} is VALID [2022-02-20 21:00:23,460 INFO L290 TraceCheckUtils]: 7: Hoare triple {1271#true} [186] L16-3-->L16-4: Formula: (and (= (select |v_#valid_3| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {1271#true} is VALID [2022-02-20 21:00:23,460 INFO L290 TraceCheckUtils]: 8: Hoare triple {1271#true} [189] L16-4-->L16-5: Formula: (= (select (select |v_#memory_int_3| 2) 0) 0) InVars {#memory_int=|v_#memory_int_3|} OutVars{#memory_int=|v_#memory_int_3|} AuxVars[] AssignedVars[] {1271#true} is VALID [2022-02-20 21:00:23,460 INFO L290 TraceCheckUtils]: 9: Hoare triple {1271#true} [179] L16-5-->L-1-3: Formula: (= v_~x~0_1 0) InVars {} OutVars{~x~0=v_~x~0_1} AuxVars[] AssignedVars[~x~0] {1271#true} is VALID [2022-02-20 21:00:23,461 INFO L290 TraceCheckUtils]: 10: Hoare triple {1271#true} [201] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1271#true} is VALID [2022-02-20 21:00:23,461 INFO L290 TraceCheckUtils]: 11: Hoare triple {1271#true} [184] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1271#true} is VALID [2022-02-20 21:00:23,461 INFO L290 TraceCheckUtils]: 12: Hoare triple {1271#true} [163] L-1-5-->L-1-6: Formula: (and (= |v_ULTIMATE.start_#in~argv#1.offset_1| |v_ULTIMATE.start_main_#in~argv#1.offset_1|) (= |v_ULTIMATE.start_main_#in~argv#1.base_1| |v_ULTIMATE.start_#in~argv#1.base_1|) (= |v_ULTIMATE.start_main_#in~argc#1_1| |v_ULTIMATE.start_#in~argc#1_1|)) InVars {ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} OutVars{ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_1|, ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_1|, ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#in~argv#1.base, ULTIMATE.start_main_#in~argc#1, ULTIMATE.start_main_#in~argv#1.offset] {1271#true} is VALID [2022-02-20 21:00:23,462 INFO L290 TraceCheckUtils]: 13: Hoare triple {1271#true} [183] L-1-6-->L-1-7: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {1271#true} is VALID [2022-02-20 21:00:23,464 INFO L290 TraceCheckUtils]: 14: Hoare triple {1271#true} [159] L-1-7-->L718: Formula: true InVars {} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_1|, ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_1|, ULTIMATE.start_main_~i~1#1=|v_ULTIMATE.start_main_~i~1#1_1|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_1|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_1|, ULTIMATE.start_main_#t~post4#1=|v_ULTIMATE.start_main_#t~post4#1_1|, ULTIMATE.start_main_#t~mem5#1=|v_ULTIMATE.start_main_#t~mem5#1_1|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1, ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~1#1, ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t~0#1.offset, ULTIMATE.start_main_#t~post4#1, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~mem5#1, ULTIMATE.start_main_~#t~0#1.base, ULTIMATE.start_main_#t~pre2#1] {1271#true} is VALID [2022-02-20 21:00:23,464 INFO L290 TraceCheckUtils]: 15: Hoare triple {1271#true} [168] L718-->L718-1: Formula: (= |v_ULTIMATE.start_main_#in~argc#1_2| |v_ULTIMATE.start_main_~argc#1_2|) InVars {ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_2|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1] {1271#true} is VALID [2022-02-20 21:00:23,464 INFO L290 TraceCheckUtils]: 16: Hoare triple {1271#true} [205] L718-1-->L719: Formula: (and (= |v_ULTIMATE.start_main_~argv#1.offset_2| |v_ULTIMATE.start_main_#in~argv#1.offset_2|) (= |v_ULTIMATE.start_main_#in~argv#1.base_2| |v_ULTIMATE.start_main_~argv#1.base_2|)) InVars {ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|} OutVars{ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~argv#1.offset] {1271#true} is VALID [2022-02-20 21:00:23,464 INFO L290 TraceCheckUtils]: 17: Hoare triple {1271#true} [151] L719-->L719-1: Formula: (and (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 24)) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) 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_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] {1271#true} is VALID [2022-02-20 21:00:23,465 INFO L290 TraceCheckUtils]: 18: Hoare triple {1271#true} [190] L719-1-->L722: Formula: (= v_~x~0_2 0) InVars {} OutVars{~x~0=v_~x~0_2} AuxVars[] AssignedVars[~x~0] {1271#true} is VALID [2022-02-20 21:00:23,465 INFO L290 TraceCheckUtils]: 19: Hoare triple {1271#true} [202] L722-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 1) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {1273#(= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:23,466 INFO L290 TraceCheckUtils]: 20: Hoare triple {1273#(= |ULTIMATE.start_main_~i~0#1| 1)} [171] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 5) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] {1273#(= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:23,466 INFO L290 TraceCheckUtils]: 21: Hoare triple {1273#(= |ULTIMATE.start_main_~i~0#1| 1)} [167] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] {1273#(= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:23,467 INFO L290 TraceCheckUtils]: 22: Hoare triple {1273#(= |ULTIMATE.start_main_~i~0#1| 1)} [193] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {1273#(= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:23,467 INFO L290 TraceCheckUtils]: 23: Hoare triple {1273#(= |ULTIMATE.start_main_~i~0#1| 1)} [158] L724-2-->L724-3: Formula: (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| (* |v_ULTIMATE.start_main_~i~0#1_5| 4)) |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|) InVars {#memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{#memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] {1273#(= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:23,468 INFO L290 TraceCheckUtils]: 24: Hoare triple {1273#(= |ULTIMATE.start_main_~i~0#1| 1)} [218] L724-3-->threadENTRY: Formula: (and (= |v_threadThread1of2ForFork0_#in~arg.base_4| 0) (= |v_ULTIMATE.start_main_~i~0#1_11| |v_threadThread1of2ForFork0_#in~arg.offset_4|) (= |v_ULTIMATE.start_main_#t~pre2#1_8| v_threadThread1of2ForFork0_thidvar0_2)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_11|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_8|} OutVars{threadThread1of2ForFork0_~arg.base=v_threadThread1of2ForFork0_~arg.base_6, threadThread1of2ForFork0_#res.base=|v_threadThread1of2ForFork0_#res.base_4|, threadThread1of2ForFork0_thidvar0=v_threadThread1of2ForFork0_thidvar0_2, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_11|, threadThread1of2ForFork0_#res.offset=|v_threadThread1of2ForFork0_#res.offset_4|, threadThread1of2ForFork0_~arg.offset=v_threadThread1of2ForFork0_~arg.offset_6, threadThread1of2ForFork0_#in~arg.base=|v_threadThread1of2ForFork0_#in~arg.base_4|, threadThread1of2ForFork0_#in~arg.offset=|v_threadThread1of2ForFork0_#in~arg.offset_4|, threadThread1of2ForFork0_~thread~0=v_threadThread1of2ForFork0_~thread~0_6, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_8|} AuxVars[] AssignedVars[threadThread1of2ForFork0_~arg.base, threadThread1of2ForFork0_#res.base, threadThread1of2ForFork0_thidvar0, threadThread1of2ForFork0_#res.offset, threadThread1of2ForFork0_~arg.offset, threadThread1of2ForFork0_#in~arg.base, threadThread1of2ForFork0_#in~arg.offset, threadThread1of2ForFork0_~thread~0] {1273#(= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:23,468 INFO L290 TraceCheckUtils]: 25: Hoare triple {1273#(= |ULTIMATE.start_main_~i~0#1| 1)} [203] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] {1273#(= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:23,469 INFO L290 TraceCheckUtils]: 26: Hoare triple {1273#(= |ULTIMATE.start_main_~i~0#1| 1)} [156] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] {1273#(= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:23,469 INFO L290 TraceCheckUtils]: 27: Hoare triple {1273#(= |ULTIMATE.start_main_~i~0#1| 1)} [185] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] {1274#(= (+ (- 1) |ULTIMATE.start_main_#t~post1#1|) 0)} is VALID [2022-02-20 21:00:23,470 INFO L290 TraceCheckUtils]: 28: Hoare triple {1274#(= (+ (- 1) |ULTIMATE.start_main_#t~post1#1|) 0)} [164] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {1275#(<= |ULTIMATE.start_main_~i~0#1| 2)} is VALID [2022-02-20 21:00:23,470 INFO L290 TraceCheckUtils]: 29: Hoare triple {1275#(<= |ULTIMATE.start_main_~i~0#1| 2)} [180] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] {1275#(<= |ULTIMATE.start_main_~i~0#1| 2)} is VALID [2022-02-20 21:00:23,470 INFO L290 TraceCheckUtils]: 30: Hoare triple {1275#(<= |ULTIMATE.start_main_~i~0#1| 2)} [170] L723-5-->L723-6: Formula: (not (<= |v_ULTIMATE.start_main_~i~0#1_3| 5)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} AuxVars[] AssignedVars[] {1272#false} is VALID [2022-02-20 21:00:23,470 INFO L290 TraceCheckUtils]: 31: Hoare triple {1272#false} [207] threadENTRY-->L712: Formula: (and (= v_threadThread1of2ForFork0_~arg.offset_1 |v_threadThread1of2ForFork0_#in~arg.offset_1|) (= v_threadThread1of2ForFork0_~arg.base_1 |v_threadThread1of2ForFork0_#in~arg.base_1|)) InVars {threadThread1of2ForFork0_#in~arg.offset=|v_threadThread1of2ForFork0_#in~arg.offset_1|, threadThread1of2ForFork0_#in~arg.base=|v_threadThread1of2ForFork0_#in~arg.base_1|} OutVars{threadThread1of2ForFork0_~arg.base=v_threadThread1of2ForFork0_~arg.base_1, threadThread1of2ForFork0_~arg.offset=v_threadThread1of2ForFork0_~arg.offset_1, threadThread1of2ForFork0_#in~arg.offset=|v_threadThread1of2ForFork0_#in~arg.offset_1|, threadThread1of2ForFork0_#in~arg.base=|v_threadThread1of2ForFork0_#in~arg.base_1|} AuxVars[] AssignedVars[threadThread1of2ForFork0_~arg.base, threadThread1of2ForFork0_~arg.offset] {1272#false} is VALID [2022-02-20 21:00:23,471 INFO L290 TraceCheckUtils]: 32: Hoare triple {1272#false} [208] L712-->L713: Formula: (= v_threadThread1of2ForFork0_~thread~0_1 (+ v_threadThread1of2ForFork0_~arg.offset_3 v_threadThread1of2ForFork0_~arg.base_3)) InVars {threadThread1of2ForFork0_~arg.base=v_threadThread1of2ForFork0_~arg.base_3, threadThread1of2ForFork0_~arg.offset=v_threadThread1of2ForFork0_~arg.offset_3} OutVars{threadThread1of2ForFork0_~arg.base=v_threadThread1of2ForFork0_~arg.base_3, threadThread1of2ForFork0_~arg.offset=v_threadThread1of2ForFork0_~arg.offset_3, threadThread1of2ForFork0_~thread~0=v_threadThread1of2ForFork0_~thread~0_1} AuxVars[] AssignedVars[threadThread1of2ForFork0_~thread~0] {1272#false} is VALID [2022-02-20 21:00:23,471 INFO L290 TraceCheckUtils]: 33: Hoare triple {1272#false} [209] L713-->L715: Formula: (= v_threadThread1of2ForFork0_~thread~0_3 v_~x~0_5) InVars {threadThread1of2ForFork0_~thread~0=v_threadThread1of2ForFork0_~thread~0_3} OutVars{~x~0=v_~x~0_5, threadThread1of2ForFork0_~thread~0=v_threadThread1of2ForFork0_~thread~0_3} AuxVars[] AssignedVars[~x~0] {1272#false} is VALID [2022-02-20 21:00:23,471 INFO L290 TraceCheckUtils]: 34: Hoare triple {1272#false} [154] L723-6-->L727: Formula: (not (< v_~x~0_4 6)) InVars {~x~0=v_~x~0_4} OutVars{~x~0=v_~x~0_4} AuxVars[] AssignedVars[] {1272#false} is VALID [2022-02-20 21:00:23,471 INFO L290 TraceCheckUtils]: 35: Hoare triple {1272#false} [161] L727-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1272#false} is VALID [2022-02-20 21:00:23,471 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 21:00:23,472 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:00:23,472 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1058842168] [2022-02-20 21:00:23,472 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1058842168] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 21:00:23,472 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2079766203] [2022-02-20 21:00:23,472 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:23,472 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 21:00:23,473 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 21:00:23,474 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 21:00:23,486 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-02-20 21:00:23,563 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:23,564 INFO L263 TraceCheckSpWp]: Trace formula consists of 91 conjuncts, 4 conjunts are in the unsatisfiable core [2022-02-20 21:00:23,575 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:23,576 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 21:00:23,745 INFO L290 TraceCheckUtils]: 0: Hoare triple {1271#true} [192] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1271#true} is VALID [2022-02-20 21:00:23,746 INFO L290 TraceCheckUtils]: 1: Hoare triple {1271#true} [182] 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] {1271#true} is VALID [2022-02-20 21:00:23,746 INFO L290 TraceCheckUtils]: 2: Hoare triple {1271#true} [199] 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[] {1271#true} is VALID [2022-02-20 21:00:23,746 INFO L290 TraceCheckUtils]: 3: Hoare triple {1271#true} [200] L-1-2-->L16: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {1271#true} is VALID [2022-02-20 21:00:23,746 INFO L290 TraceCheckUtils]: 4: Hoare triple {1271#true} [181] L16-->L16-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[] {1271#true} is VALID [2022-02-20 21:00:23,746 INFO L290 TraceCheckUtils]: 5: Hoare triple {1271#true} [149] L16-1-->L16-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[] {1271#true} is VALID [2022-02-20 21:00:23,747 INFO L290 TraceCheckUtils]: 6: Hoare triple {1271#true} [204] L16-2-->L16-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[] {1271#true} is VALID [2022-02-20 21:00:23,747 INFO L290 TraceCheckUtils]: 7: Hoare triple {1271#true} [186] L16-3-->L16-4: Formula: (and (= (select |v_#valid_3| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {1271#true} is VALID [2022-02-20 21:00:23,747 INFO L290 TraceCheckUtils]: 8: Hoare triple {1271#true} [189] L16-4-->L16-5: Formula: (= (select (select |v_#memory_int_3| 2) 0) 0) InVars {#memory_int=|v_#memory_int_3|} OutVars{#memory_int=|v_#memory_int_3|} AuxVars[] AssignedVars[] {1271#true} is VALID [2022-02-20 21:00:23,747 INFO L290 TraceCheckUtils]: 9: Hoare triple {1271#true} [179] L16-5-->L-1-3: Formula: (= v_~x~0_1 0) InVars {} OutVars{~x~0=v_~x~0_1} AuxVars[] AssignedVars[~x~0] {1271#true} is VALID [2022-02-20 21:00:23,747 INFO L290 TraceCheckUtils]: 10: Hoare triple {1271#true} [201] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1271#true} is VALID [2022-02-20 21:00:23,748 INFO L290 TraceCheckUtils]: 11: Hoare triple {1271#true} [184] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1271#true} is VALID [2022-02-20 21:00:23,748 INFO L290 TraceCheckUtils]: 12: Hoare triple {1271#true} [163] L-1-5-->L-1-6: Formula: (and (= |v_ULTIMATE.start_#in~argv#1.offset_1| |v_ULTIMATE.start_main_#in~argv#1.offset_1|) (= |v_ULTIMATE.start_main_#in~argv#1.base_1| |v_ULTIMATE.start_#in~argv#1.base_1|) (= |v_ULTIMATE.start_main_#in~argc#1_1| |v_ULTIMATE.start_#in~argc#1_1|)) InVars {ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} OutVars{ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_1|, ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_1|, ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#in~argv#1.base, ULTIMATE.start_main_#in~argc#1, ULTIMATE.start_main_#in~argv#1.offset] {1271#true} is VALID [2022-02-20 21:00:23,748 INFO L290 TraceCheckUtils]: 13: Hoare triple {1271#true} [183] L-1-6-->L-1-7: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {1271#true} is VALID [2022-02-20 21:00:23,748 INFO L290 TraceCheckUtils]: 14: Hoare triple {1271#true} [159] L-1-7-->L718: Formula: true InVars {} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_1|, ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_1|, ULTIMATE.start_main_~i~1#1=|v_ULTIMATE.start_main_~i~1#1_1|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_1|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_1|, ULTIMATE.start_main_#t~post4#1=|v_ULTIMATE.start_main_#t~post4#1_1|, ULTIMATE.start_main_#t~mem5#1=|v_ULTIMATE.start_main_#t~mem5#1_1|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1, ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~1#1, ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t~0#1.offset, ULTIMATE.start_main_#t~post4#1, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~mem5#1, ULTIMATE.start_main_~#t~0#1.base, ULTIMATE.start_main_#t~pre2#1] {1271#true} is VALID [2022-02-20 21:00:23,748 INFO L290 TraceCheckUtils]: 15: Hoare triple {1271#true} [168] L718-->L718-1: Formula: (= |v_ULTIMATE.start_main_#in~argc#1_2| |v_ULTIMATE.start_main_~argc#1_2|) InVars {ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_2|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1] {1271#true} is VALID [2022-02-20 21:00:23,749 INFO L290 TraceCheckUtils]: 16: Hoare triple {1271#true} [205] L718-1-->L719: Formula: (and (= |v_ULTIMATE.start_main_~argv#1.offset_2| |v_ULTIMATE.start_main_#in~argv#1.offset_2|) (= |v_ULTIMATE.start_main_#in~argv#1.base_2| |v_ULTIMATE.start_main_~argv#1.base_2|)) InVars {ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|} OutVars{ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~argv#1.offset] {1271#true} is VALID [2022-02-20 21:00:23,749 INFO L290 TraceCheckUtils]: 17: Hoare triple {1271#true} [151] L719-->L719-1: Formula: (and (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 24)) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) 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_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] {1271#true} is VALID [2022-02-20 21:00:23,749 INFO L290 TraceCheckUtils]: 18: Hoare triple {1271#true} [190] L719-1-->L722: Formula: (= v_~x~0_2 0) InVars {} OutVars{~x~0=v_~x~0_2} AuxVars[] AssignedVars[~x~0] {1271#true} is VALID [2022-02-20 21:00:23,750 INFO L290 TraceCheckUtils]: 19: Hoare triple {1271#true} [202] L722-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 1) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {1336#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:23,750 INFO L290 TraceCheckUtils]: 20: Hoare triple {1336#(<= |ULTIMATE.start_main_~i~0#1| 1)} [171] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 5) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] {1336#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:23,750 INFO L290 TraceCheckUtils]: 21: Hoare triple {1336#(<= |ULTIMATE.start_main_~i~0#1| 1)} [167] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] {1336#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:23,751 INFO L290 TraceCheckUtils]: 22: Hoare triple {1336#(<= |ULTIMATE.start_main_~i~0#1| 1)} [193] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {1336#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:23,751 INFO L290 TraceCheckUtils]: 23: Hoare triple {1336#(<= |ULTIMATE.start_main_~i~0#1| 1)} [158] L724-2-->L724-3: Formula: (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| (* |v_ULTIMATE.start_main_~i~0#1_5| 4)) |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|) InVars {#memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{#memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] {1336#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:23,752 INFO L290 TraceCheckUtils]: 24: Hoare triple {1336#(<= |ULTIMATE.start_main_~i~0#1| 1)} [218] L724-3-->threadENTRY: Formula: (and (= |v_threadThread1of2ForFork0_#in~arg.base_4| 0) (= |v_ULTIMATE.start_main_~i~0#1_11| |v_threadThread1of2ForFork0_#in~arg.offset_4|) (= |v_ULTIMATE.start_main_#t~pre2#1_8| v_threadThread1of2ForFork0_thidvar0_2)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_11|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_8|} OutVars{threadThread1of2ForFork0_~arg.base=v_threadThread1of2ForFork0_~arg.base_6, threadThread1of2ForFork0_#res.base=|v_threadThread1of2ForFork0_#res.base_4|, threadThread1of2ForFork0_thidvar0=v_threadThread1of2ForFork0_thidvar0_2, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_11|, threadThread1of2ForFork0_#res.offset=|v_threadThread1of2ForFork0_#res.offset_4|, threadThread1of2ForFork0_~arg.offset=v_threadThread1of2ForFork0_~arg.offset_6, threadThread1of2ForFork0_#in~arg.base=|v_threadThread1of2ForFork0_#in~arg.base_4|, threadThread1of2ForFork0_#in~arg.offset=|v_threadThread1of2ForFork0_#in~arg.offset_4|, threadThread1of2ForFork0_~thread~0=v_threadThread1of2ForFork0_~thread~0_6, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_8|} AuxVars[] AssignedVars[threadThread1of2ForFork0_~arg.base, threadThread1of2ForFork0_#res.base, threadThread1of2ForFork0_thidvar0, threadThread1of2ForFork0_#res.offset, threadThread1of2ForFork0_~arg.offset, threadThread1of2ForFork0_#in~arg.base, threadThread1of2ForFork0_#in~arg.offset, threadThread1of2ForFork0_~thread~0] {1336#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:23,752 INFO L290 TraceCheckUtils]: 25: Hoare triple {1336#(<= |ULTIMATE.start_main_~i~0#1| 1)} [203] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] {1336#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:23,753 INFO L290 TraceCheckUtils]: 26: Hoare triple {1336#(<= |ULTIMATE.start_main_~i~0#1| 1)} [156] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] {1336#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:23,753 INFO L290 TraceCheckUtils]: 27: Hoare triple {1336#(<= |ULTIMATE.start_main_~i~0#1| 1)} [185] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] {1361#(<= |ULTIMATE.start_main_#t~post1#1| 1)} is VALID [2022-02-20 21:00:23,754 INFO L290 TraceCheckUtils]: 28: Hoare triple {1361#(<= |ULTIMATE.start_main_#t~post1#1| 1)} [164] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {1275#(<= |ULTIMATE.start_main_~i~0#1| 2)} is VALID [2022-02-20 21:00:23,754 INFO L290 TraceCheckUtils]: 29: Hoare triple {1275#(<= |ULTIMATE.start_main_~i~0#1| 2)} [180] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] {1275#(<= |ULTIMATE.start_main_~i~0#1| 2)} is VALID [2022-02-20 21:00:23,755 INFO L290 TraceCheckUtils]: 30: Hoare triple {1275#(<= |ULTIMATE.start_main_~i~0#1| 2)} [170] L723-5-->L723-6: Formula: (not (<= |v_ULTIMATE.start_main_~i~0#1_3| 5)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} AuxVars[] AssignedVars[] {1272#false} is VALID [2022-02-20 21:00:23,755 INFO L290 TraceCheckUtils]: 31: Hoare triple {1272#false} [207] threadENTRY-->L712: Formula: (and (= v_threadThread1of2ForFork0_~arg.offset_1 |v_threadThread1of2ForFork0_#in~arg.offset_1|) (= v_threadThread1of2ForFork0_~arg.base_1 |v_threadThread1of2ForFork0_#in~arg.base_1|)) InVars {threadThread1of2ForFork0_#in~arg.offset=|v_threadThread1of2ForFork0_#in~arg.offset_1|, threadThread1of2ForFork0_#in~arg.base=|v_threadThread1of2ForFork0_#in~arg.base_1|} OutVars{threadThread1of2ForFork0_~arg.base=v_threadThread1of2ForFork0_~arg.base_1, threadThread1of2ForFork0_~arg.offset=v_threadThread1of2ForFork0_~arg.offset_1, threadThread1of2ForFork0_#in~arg.offset=|v_threadThread1of2ForFork0_#in~arg.offset_1|, threadThread1of2ForFork0_#in~arg.base=|v_threadThread1of2ForFork0_#in~arg.base_1|} AuxVars[] AssignedVars[threadThread1of2ForFork0_~arg.base, threadThread1of2ForFork0_~arg.offset] {1272#false} is VALID [2022-02-20 21:00:23,755 INFO L290 TraceCheckUtils]: 32: Hoare triple {1272#false} [208] L712-->L713: Formula: (= v_threadThread1of2ForFork0_~thread~0_1 (+ v_threadThread1of2ForFork0_~arg.offset_3 v_threadThread1of2ForFork0_~arg.base_3)) InVars {threadThread1of2ForFork0_~arg.base=v_threadThread1of2ForFork0_~arg.base_3, threadThread1of2ForFork0_~arg.offset=v_threadThread1of2ForFork0_~arg.offset_3} OutVars{threadThread1of2ForFork0_~arg.base=v_threadThread1of2ForFork0_~arg.base_3, threadThread1of2ForFork0_~arg.offset=v_threadThread1of2ForFork0_~arg.offset_3, threadThread1of2ForFork0_~thread~0=v_threadThread1of2ForFork0_~thread~0_1} AuxVars[] AssignedVars[threadThread1of2ForFork0_~thread~0] {1272#false} is VALID [2022-02-20 21:00:23,755 INFO L290 TraceCheckUtils]: 33: Hoare triple {1272#false} [209] L713-->L715: Formula: (= v_threadThread1of2ForFork0_~thread~0_3 v_~x~0_5) InVars {threadThread1of2ForFork0_~thread~0=v_threadThread1of2ForFork0_~thread~0_3} OutVars{~x~0=v_~x~0_5, threadThread1of2ForFork0_~thread~0=v_threadThread1of2ForFork0_~thread~0_3} AuxVars[] AssignedVars[~x~0] {1272#false} is VALID [2022-02-20 21:00:23,755 INFO L290 TraceCheckUtils]: 34: Hoare triple {1272#false} [154] L723-6-->L727: Formula: (not (< v_~x~0_4 6)) InVars {~x~0=v_~x~0_4} OutVars{~x~0=v_~x~0_4} AuxVars[] AssignedVars[] {1272#false} is VALID [2022-02-20 21:00:23,756 INFO L290 TraceCheckUtils]: 35: Hoare triple {1272#false} [161] L727-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1272#false} is VALID [2022-02-20 21:00:23,756 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 21:00:23,756 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 21:00:23,876 INFO L290 TraceCheckUtils]: 35: Hoare triple {1272#false} [161] L727-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1272#false} is VALID [2022-02-20 21:00:23,877 INFO L290 TraceCheckUtils]: 34: Hoare triple {1272#false} [154] L723-6-->L727: Formula: (not (< v_~x~0_4 6)) InVars {~x~0=v_~x~0_4} OutVars{~x~0=v_~x~0_4} AuxVars[] AssignedVars[] {1272#false} is VALID [2022-02-20 21:00:23,877 INFO L290 TraceCheckUtils]: 33: Hoare triple {1272#false} [209] L713-->L715: Formula: (= v_threadThread1of2ForFork0_~thread~0_3 v_~x~0_5) InVars {threadThread1of2ForFork0_~thread~0=v_threadThread1of2ForFork0_~thread~0_3} OutVars{~x~0=v_~x~0_5, threadThread1of2ForFork0_~thread~0=v_threadThread1of2ForFork0_~thread~0_3} AuxVars[] AssignedVars[~x~0] {1272#false} is VALID [2022-02-20 21:00:23,877 INFO L290 TraceCheckUtils]: 32: Hoare triple {1272#false} [208] L712-->L713: Formula: (= v_threadThread1of2ForFork0_~thread~0_1 (+ v_threadThread1of2ForFork0_~arg.offset_3 v_threadThread1of2ForFork0_~arg.base_3)) InVars {threadThread1of2ForFork0_~arg.base=v_threadThread1of2ForFork0_~arg.base_3, threadThread1of2ForFork0_~arg.offset=v_threadThread1of2ForFork0_~arg.offset_3} OutVars{threadThread1of2ForFork0_~arg.base=v_threadThread1of2ForFork0_~arg.base_3, threadThread1of2ForFork0_~arg.offset=v_threadThread1of2ForFork0_~arg.offset_3, threadThread1of2ForFork0_~thread~0=v_threadThread1of2ForFork0_~thread~0_1} AuxVars[] AssignedVars[threadThread1of2ForFork0_~thread~0] {1272#false} is VALID [2022-02-20 21:00:23,877 INFO L290 TraceCheckUtils]: 31: Hoare triple {1272#false} [207] threadENTRY-->L712: Formula: (and (= v_threadThread1of2ForFork0_~arg.offset_1 |v_threadThread1of2ForFork0_#in~arg.offset_1|) (= v_threadThread1of2ForFork0_~arg.base_1 |v_threadThread1of2ForFork0_#in~arg.base_1|)) InVars {threadThread1of2ForFork0_#in~arg.offset=|v_threadThread1of2ForFork0_#in~arg.offset_1|, threadThread1of2ForFork0_#in~arg.base=|v_threadThread1of2ForFork0_#in~arg.base_1|} OutVars{threadThread1of2ForFork0_~arg.base=v_threadThread1of2ForFork0_~arg.base_1, threadThread1of2ForFork0_~arg.offset=v_threadThread1of2ForFork0_~arg.offset_1, threadThread1of2ForFork0_#in~arg.offset=|v_threadThread1of2ForFork0_#in~arg.offset_1|, threadThread1of2ForFork0_#in~arg.base=|v_threadThread1of2ForFork0_#in~arg.base_1|} AuxVars[] AssignedVars[threadThread1of2ForFork0_~arg.base, threadThread1of2ForFork0_~arg.offset] {1272#false} is VALID [2022-02-20 21:00:23,878 INFO L290 TraceCheckUtils]: 30: Hoare triple {1401#(<= |ULTIMATE.start_main_~i~0#1| 5)} [170] L723-5-->L723-6: Formula: (not (<= |v_ULTIMATE.start_main_~i~0#1_3| 5)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} AuxVars[] AssignedVars[] {1272#false} is VALID [2022-02-20 21:00:23,878 INFO L290 TraceCheckUtils]: 29: Hoare triple {1401#(<= |ULTIMATE.start_main_~i~0#1| 5)} [180] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] {1401#(<= |ULTIMATE.start_main_~i~0#1| 5)} is VALID [2022-02-20 21:00:23,879 INFO L290 TraceCheckUtils]: 28: Hoare triple {1408#(<= |ULTIMATE.start_main_#t~post1#1| 4)} [164] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {1401#(<= |ULTIMATE.start_main_~i~0#1| 5)} is VALID [2022-02-20 21:00:23,879 INFO L290 TraceCheckUtils]: 27: Hoare triple {1412#(<= |ULTIMATE.start_main_~i~0#1| 4)} [185] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] {1408#(<= |ULTIMATE.start_main_#t~post1#1| 4)} is VALID [2022-02-20 21:00:23,880 INFO L290 TraceCheckUtils]: 26: Hoare triple {1412#(<= |ULTIMATE.start_main_~i~0#1| 4)} [156] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] {1412#(<= |ULTIMATE.start_main_~i~0#1| 4)} is VALID [2022-02-20 21:00:23,880 INFO L290 TraceCheckUtils]: 25: Hoare triple {1412#(<= |ULTIMATE.start_main_~i~0#1| 4)} [203] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] {1412#(<= |ULTIMATE.start_main_~i~0#1| 4)} is VALID [2022-02-20 21:00:23,881 INFO L290 TraceCheckUtils]: 24: Hoare triple {1412#(<= |ULTIMATE.start_main_~i~0#1| 4)} [218] L724-3-->threadENTRY: Formula: (and (= |v_threadThread1of2ForFork0_#in~arg.base_4| 0) (= |v_ULTIMATE.start_main_~i~0#1_11| |v_threadThread1of2ForFork0_#in~arg.offset_4|) (= |v_ULTIMATE.start_main_#t~pre2#1_8| v_threadThread1of2ForFork0_thidvar0_2)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_11|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_8|} OutVars{threadThread1of2ForFork0_~arg.base=v_threadThread1of2ForFork0_~arg.base_6, threadThread1of2ForFork0_#res.base=|v_threadThread1of2ForFork0_#res.base_4|, threadThread1of2ForFork0_thidvar0=v_threadThread1of2ForFork0_thidvar0_2, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_11|, threadThread1of2ForFork0_#res.offset=|v_threadThread1of2ForFork0_#res.offset_4|, threadThread1of2ForFork0_~arg.offset=v_threadThread1of2ForFork0_~arg.offset_6, threadThread1of2ForFork0_#in~arg.base=|v_threadThread1of2ForFork0_#in~arg.base_4|, threadThread1of2ForFork0_#in~arg.offset=|v_threadThread1of2ForFork0_#in~arg.offset_4|, threadThread1of2ForFork0_~thread~0=v_threadThread1of2ForFork0_~thread~0_6, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_8|} AuxVars[] AssignedVars[threadThread1of2ForFork0_~arg.base, threadThread1of2ForFork0_#res.base, threadThread1of2ForFork0_thidvar0, threadThread1of2ForFork0_#res.offset, threadThread1of2ForFork0_~arg.offset, threadThread1of2ForFork0_#in~arg.base, threadThread1of2ForFork0_#in~arg.offset, threadThread1of2ForFork0_~thread~0] {1412#(<= |ULTIMATE.start_main_~i~0#1| 4)} is VALID [2022-02-20 21:00:23,881 INFO L290 TraceCheckUtils]: 23: Hoare triple {1412#(<= |ULTIMATE.start_main_~i~0#1| 4)} [158] L724-2-->L724-3: Formula: (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| (* |v_ULTIMATE.start_main_~i~0#1_5| 4)) |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|) InVars {#memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{#memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] {1412#(<= |ULTIMATE.start_main_~i~0#1| 4)} is VALID [2022-02-20 21:00:23,882 INFO L290 TraceCheckUtils]: 22: Hoare triple {1412#(<= |ULTIMATE.start_main_~i~0#1| 4)} [193] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {1412#(<= |ULTIMATE.start_main_~i~0#1| 4)} is VALID [2022-02-20 21:00:23,882 INFO L290 TraceCheckUtils]: 21: Hoare triple {1412#(<= |ULTIMATE.start_main_~i~0#1| 4)} [167] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] {1412#(<= |ULTIMATE.start_main_~i~0#1| 4)} is VALID [2022-02-20 21:00:23,882 INFO L290 TraceCheckUtils]: 20: Hoare triple {1412#(<= |ULTIMATE.start_main_~i~0#1| 4)} [171] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 5) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] {1412#(<= |ULTIMATE.start_main_~i~0#1| 4)} is VALID [2022-02-20 21:00:23,883 INFO L290 TraceCheckUtils]: 19: Hoare triple {1271#true} [202] L722-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 1) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {1412#(<= |ULTIMATE.start_main_~i~0#1| 4)} is VALID [2022-02-20 21:00:23,883 INFO L290 TraceCheckUtils]: 18: Hoare triple {1271#true} [190] L719-1-->L722: Formula: (= v_~x~0_2 0) InVars {} OutVars{~x~0=v_~x~0_2} AuxVars[] AssignedVars[~x~0] {1271#true} is VALID [2022-02-20 21:00:23,883 INFO L290 TraceCheckUtils]: 17: Hoare triple {1271#true} [151] L719-->L719-1: Formula: (and (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 24)) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) 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_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] {1271#true} is VALID [2022-02-20 21:00:23,883 INFO L290 TraceCheckUtils]: 16: Hoare triple {1271#true} [205] L718-1-->L719: Formula: (and (= |v_ULTIMATE.start_main_~argv#1.offset_2| |v_ULTIMATE.start_main_#in~argv#1.offset_2|) (= |v_ULTIMATE.start_main_#in~argv#1.base_2| |v_ULTIMATE.start_main_~argv#1.base_2|)) InVars {ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|} OutVars{ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~argv#1.offset] {1271#true} is VALID [2022-02-20 21:00:23,884 INFO L290 TraceCheckUtils]: 15: Hoare triple {1271#true} [168] L718-->L718-1: Formula: (= |v_ULTIMATE.start_main_#in~argc#1_2| |v_ULTIMATE.start_main_~argc#1_2|) InVars {ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_2|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1] {1271#true} is VALID [2022-02-20 21:00:23,884 INFO L290 TraceCheckUtils]: 14: Hoare triple {1271#true} [159] L-1-7-->L718: Formula: true InVars {} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_1|, ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_1|, ULTIMATE.start_main_~i~1#1=|v_ULTIMATE.start_main_~i~1#1_1|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_1|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_1|, ULTIMATE.start_main_#t~post4#1=|v_ULTIMATE.start_main_#t~post4#1_1|, ULTIMATE.start_main_#t~mem5#1=|v_ULTIMATE.start_main_#t~mem5#1_1|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1, ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~1#1, ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t~0#1.offset, ULTIMATE.start_main_#t~post4#1, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~mem5#1, ULTIMATE.start_main_~#t~0#1.base, ULTIMATE.start_main_#t~pre2#1] {1271#true} is VALID [2022-02-20 21:00:23,884 INFO L290 TraceCheckUtils]: 13: Hoare triple {1271#true} [183] L-1-6-->L-1-7: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {1271#true} is VALID [2022-02-20 21:00:23,884 INFO L290 TraceCheckUtils]: 12: Hoare triple {1271#true} [163] L-1-5-->L-1-6: Formula: (and (= |v_ULTIMATE.start_#in~argv#1.offset_1| |v_ULTIMATE.start_main_#in~argv#1.offset_1|) (= |v_ULTIMATE.start_main_#in~argv#1.base_1| |v_ULTIMATE.start_#in~argv#1.base_1|) (= |v_ULTIMATE.start_main_#in~argc#1_1| |v_ULTIMATE.start_#in~argc#1_1|)) InVars {ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} OutVars{ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_1|, ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_1|, ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#in~argv#1.base, ULTIMATE.start_main_#in~argc#1, ULTIMATE.start_main_#in~argv#1.offset] {1271#true} is VALID [2022-02-20 21:00:23,884 INFO L290 TraceCheckUtils]: 11: Hoare triple {1271#true} [184] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1271#true} is VALID [2022-02-20 21:00:23,885 INFO L290 TraceCheckUtils]: 10: Hoare triple {1271#true} [201] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1271#true} is VALID [2022-02-20 21:00:23,885 INFO L290 TraceCheckUtils]: 9: Hoare triple {1271#true} [179] L16-5-->L-1-3: Formula: (= v_~x~0_1 0) InVars {} OutVars{~x~0=v_~x~0_1} AuxVars[] AssignedVars[~x~0] {1271#true} is VALID [2022-02-20 21:00:23,885 INFO L290 TraceCheckUtils]: 8: Hoare triple {1271#true} [189] L16-4-->L16-5: Formula: (= (select (select |v_#memory_int_3| 2) 0) 0) InVars {#memory_int=|v_#memory_int_3|} OutVars{#memory_int=|v_#memory_int_3|} AuxVars[] AssignedVars[] {1271#true} is VALID [2022-02-20 21:00:23,885 INFO L290 TraceCheckUtils]: 7: Hoare triple {1271#true} [186] L16-3-->L16-4: Formula: (and (= (select |v_#valid_3| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {1271#true} is VALID [2022-02-20 21:00:23,885 INFO L290 TraceCheckUtils]: 6: Hoare triple {1271#true} [204] L16-2-->L16-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[] {1271#true} is VALID [2022-02-20 21:00:23,885 INFO L290 TraceCheckUtils]: 5: Hoare triple {1271#true} [149] L16-1-->L16-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[] {1271#true} is VALID [2022-02-20 21:00:23,886 INFO L290 TraceCheckUtils]: 4: Hoare triple {1271#true} [181] L16-->L16-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[] {1271#true} is VALID [2022-02-20 21:00:23,886 INFO L290 TraceCheckUtils]: 3: Hoare triple {1271#true} [200] L-1-2-->L16: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {1271#true} is VALID [2022-02-20 21:00:23,886 INFO L290 TraceCheckUtils]: 2: Hoare triple {1271#true} [199] 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[] {1271#true} is VALID [2022-02-20 21:00:23,886 INFO L290 TraceCheckUtils]: 1: Hoare triple {1271#true} [182] 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] {1271#true} is VALID [2022-02-20 21:00:23,886 INFO L290 TraceCheckUtils]: 0: Hoare triple {1271#true} [192] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1271#true} is VALID [2022-02-20 21:00:23,887 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 21:00:23,887 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2079766203] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 21:00:23,887 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 21:00:23,887 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 10 [2022-02-20 21:00:23,887 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1533792971] [2022-02-20 21:00:23,888 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 21:00:23,888 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 5.8) internal successors, (58), 10 states have internal predecessors, (58), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 36 [2022-02-20 21:00:23,888 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:00:23,889 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 5.8) internal successors, (58), 10 states have internal predecessors, (58), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 21:00:23,928 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:00:23,928 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-02-20 21:00:23,929 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:00:23,929 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-02-20 21:00:23,929 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=60, Unknown=0, NotChecked=0, Total=90 [2022-02-20 21:00:23,930 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 50 out of 66 [2022-02-20 21:00:23,931 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 55 places, 48 transitions, 129 flow. Second operand has 10 states, 10 states have (on average 52.3) internal successors, (523), 10 states have internal predecessors, (523), 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 21:00:23,931 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 21:00:23,931 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 50 of 66 [2022-02-20 21:00:23,931 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 21:00:24,028 INFO L129 PetriNetUnfolder]: 1/59 cut-off events. [2022-02-20 21:00:24,028 INFO L130 PetriNetUnfolder]: For 3/3 co-relation queries the response was YES. [2022-02-20 21:00:24,029 INFO L84 FinitePrefix]: Finished finitePrefix Result has 98 conditions, 59 events. 1/59 cut-off events. For 3/3 co-relation queries the response was YES. Maximal size of possible extension queue 3. Compared 32 event pairs, 0 based on Foata normal form. 2/61 useless extension candidates. Maximal degree in co-relation 37. Up to 5 conditions per place. [2022-02-20 21:00:24,029 INFO L132 encePairwiseOnDemand]: 61/66 looper letters, 9 selfloop transitions, 7 changer transitions 0/51 dead transitions. [2022-02-20 21:00:24,029 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 60 places, 51 transitions, 163 flow [2022-02-20 21:00:24,029 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 21:00:24,029 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2022-02-20 21:00:24,035 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 468 transitions. [2022-02-20 21:00:24,035 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.7878787878787878 [2022-02-20 21:00:24,035 INFO L72 ComplementDD]: Start complementDD. Operand 9 states and 468 transitions. [2022-02-20 21:00:24,035 INFO L73 IsDeterministic]: Start isDeterministic. Operand 9 states and 468 transitions. [2022-02-20 21:00:24,035 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 21:00:24,036 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 9 states and 468 transitions. [2022-02-20 21:00:24,037 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 10 states, 9 states have (on average 52.0) internal successors, (468), 9 states have internal predecessors, (468), 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 21:00:24,038 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 10 states, 10 states have (on average 66.0) internal successors, (660), 10 states have internal predecessors, (660), 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 21:00:24,039 INFO L81 ComplementDD]: Finished complementDD. Result has 10 states, 10 states have (on average 66.0) internal successors, (660), 10 states have internal predecessors, (660), 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 21:00:24,039 INFO L186 Difference]: Start difference. First operand has 55 places, 48 transitions, 129 flow. Second operand 9 states and 468 transitions. [2022-02-20 21:00:24,039 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 60 places, 51 transitions, 163 flow [2022-02-20 21:00:24,041 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 59 places, 51 transitions, 160 flow, removed 0 selfloop flow, removed 1 redundant places. [2022-02-20 21:00:24,043 INFO L242 Difference]: Finished difference. Result has 59 places, 47 transitions, 134 flow [2022-02-20 21:00:24,043 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=66, PETRI_DIFFERENCE_MINUEND_FLOW=116, PETRI_DIFFERENCE_MINUEND_PLACES=51, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=45, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=5, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=40, PETRI_DIFFERENCE_SUBTRAHEND_STATES=9, PETRI_FLOW=134, PETRI_PLACES=59, PETRI_TRANSITIONS=47} [2022-02-20 21:00:24,043 INFO L334 CegarLoopForPetriNet]: 50 programPoint places, 9 predicate places. [2022-02-20 21:00:24,044 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 59 places, 47 transitions, 134 flow [2022-02-20 21:00:24,054 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 481 states, 480 states have (on average 2.40625) internal successors, (1155), 480 states have internal predecessors, (1155), 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 21:00:24,056 INFO L78 Accepts]: Start accepts. Automaton has has 481 states, 480 states have (on average 2.40625) internal successors, (1155), 480 states have internal predecessors, (1155), 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 36 [2022-02-20 21:00:24,056 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:00:24,056 INFO L470 AbstractCegarLoop]: Abstraction has has 59 places, 47 transitions, 134 flow [2022-02-20 21:00:24,057 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 52.3) internal successors, (523), 10 states have internal predecessors, (523), 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 21:00:24,057 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:00:24,057 INFO L254 CegarLoopForPetriNet]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 21:00:24,076 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-02-20 21:00:24,260 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 21:00:24,261 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0INUSE_VIOLATION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 21:00:24,261 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:00:24,261 INFO L85 PathProgramCache]: Analyzing trace with hash 286308789, now seen corresponding path program 1 times [2022-02-20 21:00:24,262 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:00:24,262 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1056715218] [2022-02-20 21:00:24,262 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:24,262 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:00:24,301 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 21:00:24,301 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-02-20 21:00:24,314 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 21:00:24,325 INFO L138 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-02-20 21:00:24,325 INFO L628 BasicCegarLoop]: Counterexample is feasible [2022-02-20 21:00:24,325 INFO L764 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0INUSE_VIOLATION (1 of 2 remaining) [2022-02-20 21:00:24,325 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 2 remaining) [2022-02-20 21:00:24,325 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7 [2022-02-20 21:00:24,326 INFO L732 BasicCegarLoop]: Path program histogram: [1, 1, 1, 1] [2022-02-20 21:00:24,326 WARN L235 ceAbstractionStarter]: 2 thread instances were not sufficient, I will increase this number and restart the analysis [2022-02-20 21:00:24,326 INFO L534 ceAbstractionStarter]: Constructing petrified ICFG for 3 thread instances. [2022-02-20 21:00:24,344 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of3ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,345 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of3ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,345 WARN L322 ript$VariableManager]: TermVariabe threadThread3of3ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,345 WARN L322 ript$VariableManager]: TermVariabe threadThread3of3ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,345 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of3ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,345 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of3ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,345 WARN L322 ript$VariableManager]: TermVariabe threadThread3of3ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,345 WARN L322 ript$VariableManager]: TermVariabe threadThread3of3ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,345 WARN L322 ript$VariableManager]: TermVariabe threadThread3of3ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,345 WARN L322 ript$VariableManager]: TermVariabe threadThread3of3ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,345 WARN L322 ript$VariableManager]: TermVariabe threadThread3of3ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,346 WARN L322 ript$VariableManager]: TermVariabe threadThread3of3ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,346 WARN L322 ript$VariableManager]: TermVariabe threadThread3of3ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,346 WARN L322 ript$VariableManager]: TermVariabe threadThread3of3ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,346 WARN L322 ript$VariableManager]: TermVariabe threadThread3of3ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,346 WARN L322 ript$VariableManager]: TermVariabe threadThread3of3ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,346 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of3ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,346 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of3ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,346 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of3ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,346 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of3ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,347 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of3ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,347 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of3ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,347 WARN L322 ript$VariableManager]: TermVariabe threadThread2of3ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,347 WARN L322 ript$VariableManager]: TermVariabe threadThread2of3ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,347 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of3ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,347 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of3ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,347 WARN L322 ript$VariableManager]: TermVariabe threadThread2of3ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,348 WARN L322 ript$VariableManager]: TermVariabe threadThread2of3ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,348 WARN L322 ript$VariableManager]: TermVariabe threadThread2of3ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,348 WARN L322 ript$VariableManager]: TermVariabe threadThread2of3ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,348 WARN L322 ript$VariableManager]: TermVariabe threadThread2of3ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,348 WARN L322 ript$VariableManager]: TermVariabe threadThread2of3ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,349 WARN L322 ript$VariableManager]: TermVariabe threadThread2of3ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,349 WARN L322 ript$VariableManager]: TermVariabe threadThread2of3ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,349 WARN L322 ript$VariableManager]: TermVariabe threadThread2of3ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,349 WARN L322 ript$VariableManager]: TermVariabe threadThread2of3ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,349 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of3ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,349 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of3ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,349 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of3ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,349 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of3ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,350 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of3ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,350 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of3ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,350 WARN L322 ript$VariableManager]: TermVariabe threadThread1of3ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,350 WARN L322 ript$VariableManager]: TermVariabe threadThread1of3ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,350 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of3ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,350 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of3ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,350 WARN L322 ript$VariableManager]: TermVariabe threadThread1of3ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,350 WARN L322 ript$VariableManager]: TermVariabe threadThread1of3ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,350 WARN L322 ript$VariableManager]: TermVariabe threadThread1of3ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,350 WARN L322 ript$VariableManager]: TermVariabe threadThread1of3ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,351 WARN L322 ript$VariableManager]: TermVariabe threadThread1of3ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,351 WARN L322 ript$VariableManager]: TermVariabe threadThread1of3ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,351 WARN L322 ript$VariableManager]: TermVariabe threadThread1of3ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,351 WARN L322 ript$VariableManager]: TermVariabe threadThread1of3ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,351 WARN L322 ript$VariableManager]: TermVariabe threadThread1of3ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,351 WARN L322 ript$VariableManager]: TermVariabe threadThread1of3ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,351 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of3ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,351 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of3ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,351 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of3ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,352 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of3ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,352 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of3ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,352 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of3ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,352 WARN L322 ript$VariableManager]: TermVariabe threadThread1of3ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,352 WARN L322 ript$VariableManager]: TermVariabe threadThread1of3ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,352 WARN L322 ript$VariableManager]: TermVariabe threadThread1of3ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,353 WARN L322 ript$VariableManager]: TermVariabe threadThread2of3ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,353 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of3ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,353 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of3ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,353 WARN L322 ript$VariableManager]: TermVariabe threadThread2of3ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,353 WARN L322 ript$VariableManager]: TermVariabe threadThread2of3ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,354 WARN L322 ript$VariableManager]: TermVariabe threadThread3of3ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,354 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of3ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,354 WARN L322 ript$VariableManager]: TermVariabe threadThread3of3ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,354 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of3ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,354 WARN L322 ript$VariableManager]: TermVariabe threadThread3of3ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:24,365 INFO L148 ThreadInstanceAdder]: Constructed 3 joinOtherThreadTransitions. [2022-02-20 21:00:24,366 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 21:00:24,373 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 21:00:24,373 INFO L340 AbstractCegarLoop]: Starting to check reachability of 2 error locations. [2022-02-20 21:00:24,375 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 74 places, 73 transitions, 176 flow [2022-02-20 21:00:24,402 INFO L129 PetriNetUnfolder]: 24/222 cut-off events. [2022-02-20 21:00:24,402 INFO L130 PetriNetUnfolder]: For 19/19 co-relation queries the response was YES. [2022-02-20 21:00:24,403 INFO L84 FinitePrefix]: Finished finitePrefix Result has 250 conditions, 222 events. 24/222 cut-off events. For 19/19 co-relation queries the response was YES. Maximal size of possible extension queue 7. Compared 498 event pairs, 1 based on Foata normal form. 0/190 useless extension candidates. Maximal degree in co-relation 143. Up to 16 conditions per place. [2022-02-20 21:00:24,403 INFO L82 GeneralOperation]: Start removeDead. Operand has 74 places, 73 transitions, 176 flow [2022-02-20 21:00:24,404 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 58 places, 52 transitions, 125 flow [2022-02-20 21:00:24,405 INFO L129 PetriNetUnfolder]: 1/25 cut-off events. [2022-02-20 21:00:24,405 INFO L130 PetriNetUnfolder]: For 0/0 co-relation queries the response was YES. [2022-02-20 21:00:24,406 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:00:24,406 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] [2022-02-20 21:00:24,406 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 21:00:24,406 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:00:24,406 INFO L85 PathProgramCache]: Analyzing trace with hash 898626907, now seen corresponding path program 1 times [2022-02-20 21:00:24,407 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:00:24,407 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [303898397] [2022-02-20 21:00:24,407 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:24,407 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:00:24,415 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:24,423 INFO L290 TraceCheckUtils]: 0: Hoare triple {77#true} [265] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {77#true} is VALID [2022-02-20 21:00:24,424 INFO L290 TraceCheckUtils]: 1: Hoare triple {77#true} [255] 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] {77#true} is VALID [2022-02-20 21:00:24,424 INFO L290 TraceCheckUtils]: 2: Hoare triple {77#true} [272] 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[] {77#true} is VALID [2022-02-20 21:00:24,424 INFO L290 TraceCheckUtils]: 3: Hoare triple {77#true} [273] L-1-2-->L16: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {77#true} is VALID [2022-02-20 21:00:24,424 INFO L290 TraceCheckUtils]: 4: Hoare triple {77#true} [254] L16-->L16-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[] {77#true} is VALID [2022-02-20 21:00:24,424 INFO L290 TraceCheckUtils]: 5: Hoare triple {77#true} [222] L16-1-->L16-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[] {77#true} is VALID [2022-02-20 21:00:24,425 INFO L290 TraceCheckUtils]: 6: Hoare triple {77#true} [277] L16-2-->L16-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[] {77#true} is VALID [2022-02-20 21:00:24,425 INFO L290 TraceCheckUtils]: 7: Hoare triple {77#true} [259] L16-3-->L16-4: Formula: (and (= (select |v_#valid_3| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {77#true} is VALID [2022-02-20 21:00:24,425 INFO L290 TraceCheckUtils]: 8: Hoare triple {77#true} [262] L16-4-->L16-5: Formula: (= (select (select |v_#memory_int_3| 2) 0) 0) InVars {#memory_int=|v_#memory_int_3|} OutVars{#memory_int=|v_#memory_int_3|} AuxVars[] AssignedVars[] {77#true} is VALID [2022-02-20 21:00:24,425 INFO L290 TraceCheckUtils]: 9: Hoare triple {77#true} [252] L16-5-->L-1-3: Formula: (= v_~x~0_1 0) InVars {} OutVars{~x~0=v_~x~0_1} AuxVars[] AssignedVars[~x~0] {77#true} is VALID [2022-02-20 21:00:24,425 INFO L290 TraceCheckUtils]: 10: Hoare triple {77#true} [274] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {77#true} is VALID [2022-02-20 21:00:24,425 INFO L290 TraceCheckUtils]: 11: Hoare triple {77#true} [257] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {77#true} is VALID [2022-02-20 21:00:24,426 INFO L290 TraceCheckUtils]: 12: Hoare triple {77#true} [236] L-1-5-->L-1-6: Formula: (and (= |v_ULTIMATE.start_#in~argv#1.offset_1| |v_ULTIMATE.start_main_#in~argv#1.offset_1|) (= |v_ULTIMATE.start_main_#in~argv#1.base_1| |v_ULTIMATE.start_#in~argv#1.base_1|) (= |v_ULTIMATE.start_main_#in~argc#1_1| |v_ULTIMATE.start_#in~argc#1_1|)) InVars {ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} OutVars{ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_1|, ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_1|, ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#in~argv#1.base, ULTIMATE.start_main_#in~argc#1, ULTIMATE.start_main_#in~argv#1.offset] {77#true} is VALID [2022-02-20 21:00:24,426 INFO L290 TraceCheckUtils]: 13: Hoare triple {77#true} [256] L-1-6-->L-1-7: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {77#true} is VALID [2022-02-20 21:00:24,426 INFO L290 TraceCheckUtils]: 14: Hoare triple {77#true} [232] L-1-7-->L718: Formula: true InVars {} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_1|, ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_1|, ULTIMATE.start_main_~i~1#1=|v_ULTIMATE.start_main_~i~1#1_1|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_1|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_1|, ULTIMATE.start_main_#t~post4#1=|v_ULTIMATE.start_main_#t~post4#1_1|, ULTIMATE.start_main_#t~mem5#1=|v_ULTIMATE.start_main_#t~mem5#1_1|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1, ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~1#1, ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t~0#1.offset, ULTIMATE.start_main_#t~post4#1, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~mem5#1, ULTIMATE.start_main_~#t~0#1.base, ULTIMATE.start_main_#t~pre2#1] {77#true} is VALID [2022-02-20 21:00:24,426 INFO L290 TraceCheckUtils]: 15: Hoare triple {77#true} [241] L718-->L718-1: Formula: (= |v_ULTIMATE.start_main_#in~argc#1_2| |v_ULTIMATE.start_main_~argc#1_2|) InVars {ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_2|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1] {77#true} is VALID [2022-02-20 21:00:24,426 INFO L290 TraceCheckUtils]: 16: Hoare triple {77#true} [278] L718-1-->L719: Formula: (and (= |v_ULTIMATE.start_main_~argv#1.offset_2| |v_ULTIMATE.start_main_#in~argv#1.offset_2|) (= |v_ULTIMATE.start_main_#in~argv#1.base_2| |v_ULTIMATE.start_main_~argv#1.base_2|)) InVars {ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|} OutVars{ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~argv#1.offset] {77#true} is VALID [2022-02-20 21:00:24,427 INFO L290 TraceCheckUtils]: 17: Hoare triple {77#true} [224] L719-->L719-1: Formula: (and (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 24)) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) 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_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] {77#true} is VALID [2022-02-20 21:00:24,427 INFO L290 TraceCheckUtils]: 18: Hoare triple {77#true} [263] L719-1-->L722: Formula: (= v_~x~0_2 0) InVars {} OutVars{~x~0=v_~x~0_2} AuxVars[] AssignedVars[~x~0] {77#true} is VALID [2022-02-20 21:00:24,427 INFO L290 TraceCheckUtils]: 19: Hoare triple {77#true} [275] L722-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 1) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {77#true} is VALID [2022-02-20 21:00:24,428 INFO L290 TraceCheckUtils]: 20: Hoare triple {77#true} [242] L723-5-->L723-6: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {78#false} is VALID [2022-02-20 21:00:24,428 INFO L290 TraceCheckUtils]: 21: Hoare triple {78#false} [227] L723-6-->L727: Formula: (not (< v_~x~0_4 6)) InVars {~x~0=v_~x~0_4} OutVars{~x~0=v_~x~0_4} AuxVars[] AssignedVars[] {78#false} is VALID [2022-02-20 21:00:24,428 INFO L290 TraceCheckUtils]: 22: Hoare triple {78#false} [234] L727-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {78#false} is VALID [2022-02-20 21:00:24,428 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 21:00:24,428 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:00:24,429 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [303898397] [2022-02-20 21:00:24,429 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [303898397] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:00:24,429 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 21:00:24,429 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 21:00:24,429 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [515926466] [2022-02-20 21:00:24,429 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:00:24,430 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 11.5) internal successors, (23), 2 states have internal predecessors, (23), 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 23 [2022-02-20 21:00:24,430 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:00:24,430 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 2 states, 2 states have (on average 11.5) internal successors, (23), 2 states have internal predecessors, (23), 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 21:00:24,444 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 23 edges. 23 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:00:24,445 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-02-20 21:00:24,445 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:00:24,445 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-02-20 21:00:24,445 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 21:00:24,446 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 63 out of 73 [2022-02-20 21:00:24,446 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 58 places, 52 transitions, 125 flow. Second operand has 2 states, 2 states have (on average 63.5) internal successors, (127), 2 states have internal predecessors, (127), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 21:00:24,446 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 21:00:24,446 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 63 of 73 [2022-02-20 21:00:24,447 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 21:00:24,462 INFO L129 PetriNetUnfolder]: 0/82 cut-off events. [2022-02-20 21:00:24,462 INFO L130 PetriNetUnfolder]: For 13/13 co-relation queries the response was YES. [2022-02-20 21:00:24,462 INFO L84 FinitePrefix]: Finished finitePrefix Result has 102 conditions, 82 events. 0/82 cut-off events. For 13/13 co-relation queries the response was YES. Maximal size of possible extension queue 3. Compared 53 event pairs, 0 based on Foata normal form. 4/82 useless extension candidates. Maximal degree in co-relation 0. Up to 4 conditions per place. [2022-02-20 21:00:24,463 INFO L132 encePairwiseOnDemand]: 72/73 looper letters, 3 selfloop transitions, 0 changer transitions 0/51 dead transitions. [2022-02-20 21:00:24,463 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 59 places, 51 transitions, 129 flow [2022-02-20 21:00:24,463 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-02-20 21:00:24,463 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2022-02-20 21:00:24,465 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 130 transitions. [2022-02-20 21:00:24,465 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.8904109589041096 [2022-02-20 21:00:24,465 INFO L72 ComplementDD]: Start complementDD. Operand 2 states and 130 transitions. [2022-02-20 21:00:24,465 INFO L73 IsDeterministic]: Start isDeterministic. Operand 2 states and 130 transitions. [2022-02-20 21:00:24,465 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 21:00:24,466 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 2 states and 130 transitions. [2022-02-20 21:00:24,466 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 3 states, 2 states have (on average 65.0) internal successors, (130), 2 states have internal predecessors, (130), 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 21:00:24,467 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 3 states, 3 states have (on average 73.0) internal successors, (219), 3 states have internal predecessors, (219), 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 21:00:24,467 INFO L81 ComplementDD]: Finished complementDD. Result has 3 states, 3 states have (on average 73.0) internal successors, (219), 3 states have internal predecessors, (219), 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 21:00:24,467 INFO L186 Difference]: Start difference. First operand has 58 places, 52 transitions, 125 flow. Second operand 2 states and 130 transitions. [2022-02-20 21:00:24,467 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 59 places, 51 transitions, 129 flow [2022-02-20 21:00:24,468 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 59 places, 51 transitions, 123 flow, removed 3 selfloop flow, removed 0 redundant places. [2022-02-20 21:00:24,469 INFO L242 Difference]: Finished difference. Result has 59 places, 51 transitions, 117 flow [2022-02-20 21:00:24,470 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=73, PETRI_DIFFERENCE_MINUEND_FLOW=117, PETRI_DIFFERENCE_MINUEND_PLACES=58, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=51, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=0, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=51, PETRI_DIFFERENCE_SUBTRAHEND_STATES=2, PETRI_FLOW=117, PETRI_PLACES=59, PETRI_TRANSITIONS=51} [2022-02-20 21:00:24,470 INFO L334 CegarLoopForPetriNet]: 58 programPoint places, 1 predicate places. [2022-02-20 21:00:24,470 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 59 places, 51 transitions, 117 flow [2022-02-20 21:00:24,576 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 3598 states, 3593 states have (on average 3.2805455051489005) internal successors, (11787), 3597 states have internal predecessors, (11787), 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 21:00:24,592 INFO L78 Accepts]: Start accepts. Automaton has has 3598 states, 3593 states have (on average 3.2805455051489005) internal successors, (11787), 3597 states have internal predecessors, (11787), 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 23 [2022-02-20 21:00:24,592 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:00:24,593 INFO L470 AbstractCegarLoop]: Abstraction has has 59 places, 51 transitions, 117 flow [2022-02-20 21:00:24,593 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 63.5) internal successors, (127), 2 states have internal predecessors, (127), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 21:00:24,593 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:00:24,593 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] [2022-02-20 21:00:24,593 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8 [2022-02-20 21:00:24,594 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 21:00:24,594 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:00:24,594 INFO L85 PathProgramCache]: Analyzing trace with hash 898627868, now seen corresponding path program 1 times [2022-02-20 21:00:24,594 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:00:24,594 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [546408428] [2022-02-20 21:00:24,595 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:24,595 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:00:24,602 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:24,614 INFO L290 TraceCheckUtils]: 0: Hoare triple {3679#true} [265] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3679#true} is VALID [2022-02-20 21:00:24,615 INFO L290 TraceCheckUtils]: 1: Hoare triple {3679#true} [255] 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] {3679#true} is VALID [2022-02-20 21:00:24,615 INFO L290 TraceCheckUtils]: 2: Hoare triple {3679#true} [272] 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[] {3679#true} is VALID [2022-02-20 21:00:24,615 INFO L290 TraceCheckUtils]: 3: Hoare triple {3679#true} [273] L-1-2-->L16: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {3679#true} is VALID [2022-02-20 21:00:24,615 INFO L290 TraceCheckUtils]: 4: Hoare triple {3679#true} [254] L16-->L16-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[] {3679#true} is VALID [2022-02-20 21:00:24,615 INFO L290 TraceCheckUtils]: 5: Hoare triple {3679#true} [222] L16-1-->L16-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[] {3679#true} is VALID [2022-02-20 21:00:24,616 INFO L290 TraceCheckUtils]: 6: Hoare triple {3679#true} [277] L16-2-->L16-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[] {3679#true} is VALID [2022-02-20 21:00:24,616 INFO L290 TraceCheckUtils]: 7: Hoare triple {3679#true} [259] L16-3-->L16-4: Formula: (and (= (select |v_#valid_3| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {3679#true} is VALID [2022-02-20 21:00:24,616 INFO L290 TraceCheckUtils]: 8: Hoare triple {3679#true} [262] L16-4-->L16-5: Formula: (= (select (select |v_#memory_int_3| 2) 0) 0) InVars {#memory_int=|v_#memory_int_3|} OutVars{#memory_int=|v_#memory_int_3|} AuxVars[] AssignedVars[] {3679#true} is VALID [2022-02-20 21:00:24,616 INFO L290 TraceCheckUtils]: 9: Hoare triple {3679#true} [252] L16-5-->L-1-3: Formula: (= v_~x~0_1 0) InVars {} OutVars{~x~0=v_~x~0_1} AuxVars[] AssignedVars[~x~0] {3679#true} is VALID [2022-02-20 21:00:24,616 INFO L290 TraceCheckUtils]: 10: Hoare triple {3679#true} [274] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3679#true} is VALID [2022-02-20 21:00:24,616 INFO L290 TraceCheckUtils]: 11: Hoare triple {3679#true} [257] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3679#true} is VALID [2022-02-20 21:00:24,617 INFO L290 TraceCheckUtils]: 12: Hoare triple {3679#true} [236] L-1-5-->L-1-6: Formula: (and (= |v_ULTIMATE.start_#in~argv#1.offset_1| |v_ULTIMATE.start_main_#in~argv#1.offset_1|) (= |v_ULTIMATE.start_main_#in~argv#1.base_1| |v_ULTIMATE.start_#in~argv#1.base_1|) (= |v_ULTIMATE.start_main_#in~argc#1_1| |v_ULTIMATE.start_#in~argc#1_1|)) InVars {ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} OutVars{ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_1|, ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_1|, ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#in~argv#1.base, ULTIMATE.start_main_#in~argc#1, ULTIMATE.start_main_#in~argv#1.offset] {3679#true} is VALID [2022-02-20 21:00:24,617 INFO L290 TraceCheckUtils]: 13: Hoare triple {3679#true} [256] L-1-6-->L-1-7: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {3679#true} is VALID [2022-02-20 21:00:24,617 INFO L290 TraceCheckUtils]: 14: Hoare triple {3679#true} [232] L-1-7-->L718: Formula: true InVars {} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_1|, ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_1|, ULTIMATE.start_main_~i~1#1=|v_ULTIMATE.start_main_~i~1#1_1|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_1|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_1|, ULTIMATE.start_main_#t~post4#1=|v_ULTIMATE.start_main_#t~post4#1_1|, ULTIMATE.start_main_#t~mem5#1=|v_ULTIMATE.start_main_#t~mem5#1_1|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1, ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~1#1, ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t~0#1.offset, ULTIMATE.start_main_#t~post4#1, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~mem5#1, ULTIMATE.start_main_~#t~0#1.base, ULTIMATE.start_main_#t~pre2#1] {3679#true} is VALID [2022-02-20 21:00:24,617 INFO L290 TraceCheckUtils]: 15: Hoare triple {3679#true} [241] L718-->L718-1: Formula: (= |v_ULTIMATE.start_main_#in~argc#1_2| |v_ULTIMATE.start_main_~argc#1_2|) InVars {ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_2|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1] {3679#true} is VALID [2022-02-20 21:00:24,617 INFO L290 TraceCheckUtils]: 16: Hoare triple {3679#true} [278] L718-1-->L719: Formula: (and (= |v_ULTIMATE.start_main_~argv#1.offset_2| |v_ULTIMATE.start_main_#in~argv#1.offset_2|) (= |v_ULTIMATE.start_main_#in~argv#1.base_2| |v_ULTIMATE.start_main_~argv#1.base_2|)) InVars {ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|} OutVars{ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~argv#1.offset] {3679#true} is VALID [2022-02-20 21:00:24,618 INFO L290 TraceCheckUtils]: 17: Hoare triple {3679#true} [224] L719-->L719-1: Formula: (and (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 24)) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) 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_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] {3679#true} is VALID [2022-02-20 21:00:24,618 INFO L290 TraceCheckUtils]: 18: Hoare triple {3679#true} [263] L719-1-->L722: Formula: (= v_~x~0_2 0) InVars {} OutVars{~x~0=v_~x~0_2} AuxVars[] AssignedVars[~x~0] {3679#true} is VALID [2022-02-20 21:00:24,618 INFO L290 TraceCheckUtils]: 19: Hoare triple {3679#true} [275] L722-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 1) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {3681#(= 0 (+ (- 1) |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 21:00:24,619 INFO L290 TraceCheckUtils]: 20: Hoare triple {3681#(= 0 (+ (- 1) |ULTIMATE.start_main_~i~0#1|))} [243] L723-5-->L723-6: Formula: (not (<= |v_ULTIMATE.start_main_~i~0#1_3| 5)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} AuxVars[] AssignedVars[] {3680#false} is VALID [2022-02-20 21:00:24,619 INFO L290 TraceCheckUtils]: 21: Hoare triple {3680#false} [227] L723-6-->L727: Formula: (not (< v_~x~0_4 6)) InVars {~x~0=v_~x~0_4} OutVars{~x~0=v_~x~0_4} AuxVars[] AssignedVars[] {3680#false} is VALID [2022-02-20 21:00:24,619 INFO L290 TraceCheckUtils]: 22: Hoare triple {3680#false} [234] L727-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3680#false} is VALID [2022-02-20 21:00:24,619 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 21:00:24,620 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:00:24,620 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [546408428] [2022-02-20 21:00:24,620 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [546408428] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:00:24,620 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 21:00:24,620 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 21:00:24,620 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1687488830] [2022-02-20 21:00:24,620 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:00:24,621 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 7.666666666666667) internal successors, (23), 3 states have internal predecessors, (23), 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 23 [2022-02-20 21:00:24,621 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:00:24,621 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 7.666666666666667) internal successors, (23), 3 states have internal predecessors, (23), 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 21:00:24,636 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 23 edges. 23 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:00:24,636 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 21:00:24,636 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:00:24,636 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 21:00:24,637 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 21:00:24,637 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 56 out of 73 [2022-02-20 21:00:24,637 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 59 places, 51 transitions, 117 flow. Second operand has 3 states, 3 states have (on average 57.0) internal successors, (171), 3 states have internal predecessors, (171), 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 21:00:24,638 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 21:00:24,638 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 56 of 73 [2022-02-20 21:00:24,638 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 21:00:24,667 INFO L129 PetriNetUnfolder]: 0/79 cut-off events. [2022-02-20 21:00:24,667 INFO L130 PetriNetUnfolder]: For 2/2 co-relation queries the response was YES. [2022-02-20 21:00:24,667 INFO L84 FinitePrefix]: Finished finitePrefix Result has 116 conditions, 79 events. 0/79 cut-off events. For 2/2 co-relation queries the response was YES. Maximal size of possible extension queue 3. Compared 51 event pairs, 0 based on Foata normal form. 0/76 useless extension candidates. Maximal degree in co-relation 0. Up to 18 conditions per place. [2022-02-20 21:00:24,668 INFO L132 encePairwiseOnDemand]: 70/73 looper letters, 12 selfloop transitions, 2 changer transitions 0/55 dead transitions. [2022-02-20 21:00:24,668 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 61 places, 55 transitions, 153 flow [2022-02-20 21:00:24,668 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 21:00:24,668 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2022-02-20 21:00:24,670 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 183 transitions. [2022-02-20 21:00:24,671 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.8356164383561644 [2022-02-20 21:00:24,671 INFO L72 ComplementDD]: Start complementDD. Operand 3 states and 183 transitions. [2022-02-20 21:00:24,671 INFO L73 IsDeterministic]: Start isDeterministic. Operand 3 states and 183 transitions. [2022-02-20 21:00:24,671 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 21:00:24,671 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 3 states and 183 transitions. [2022-02-20 21:00:24,672 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 4 states, 3 states have (on average 61.0) internal successors, (183), 3 states have internal predecessors, (183), 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 21:00:24,673 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 4 states, 4 states have (on average 73.0) internal successors, (292), 4 states have internal predecessors, (292), 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 21:00:24,673 INFO L81 ComplementDD]: Finished complementDD. Result has 4 states, 4 states have (on average 73.0) internal successors, (292), 4 states have internal predecessors, (292), 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 21:00:24,673 INFO L186 Difference]: Start difference. First operand has 59 places, 51 transitions, 117 flow. Second operand 3 states and 183 transitions. [2022-02-20 21:00:24,673 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 61 places, 55 transitions, 153 flow [2022-02-20 21:00:24,674 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 61 places, 55 transitions, 153 flow, removed 0 selfloop flow, removed 0 redundant places. [2022-02-20 21:00:24,676 INFO L242 Difference]: Finished difference. Result has 62 places, 52 transitions, 129 flow [2022-02-20 21:00:24,676 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=73, PETRI_DIFFERENCE_MINUEND_FLOW=117, PETRI_DIFFERENCE_MINUEND_PLACES=59, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=51, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=49, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=129, PETRI_PLACES=62, PETRI_TRANSITIONS=52} [2022-02-20 21:00:24,676 INFO L334 CegarLoopForPetriNet]: 58 programPoint places, 4 predicate places. [2022-02-20 21:00:24,676 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 62 places, 52 transitions, 129 flow [2022-02-20 21:00:24,772 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 3595 states, 3591 states have (on average 3.281537176274018) internal successors, (11784), 3594 states have internal predecessors, (11784), 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 21:00:24,785 INFO L78 Accepts]: Start accepts. Automaton has has 3595 states, 3591 states have (on average 3.281537176274018) internal successors, (11784), 3594 states have internal predecessors, (11784), 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 23 [2022-02-20 21:00:24,786 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:00:24,798 INFO L470 AbstractCegarLoop]: Abstraction has has 62 places, 52 transitions, 129 flow [2022-02-20 21:00:24,799 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 57.0) internal successors, (171), 3 states have internal predecessors, (171), 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 21:00:24,799 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:00:24,799 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] [2022-02-20 21:00:24,799 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9 [2022-02-20 21:00:24,799 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 21:00:24,800 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:00:24,800 INFO L85 PathProgramCache]: Analyzing trace with hash 1823512938, now seen corresponding path program 1 times [2022-02-20 21:00:24,800 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:00:24,800 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [292418017] [2022-02-20 21:00:24,800 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:24,800 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:00:24,811 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:24,828 INFO L290 TraceCheckUtils]: 0: Hoare triple {7280#true} [265] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7280#true} is VALID [2022-02-20 21:00:24,828 INFO L290 TraceCheckUtils]: 1: Hoare triple {7280#true} [255] 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] {7280#true} is VALID [2022-02-20 21:00:24,829 INFO L290 TraceCheckUtils]: 2: Hoare triple {7280#true} [272] 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[] {7280#true} is VALID [2022-02-20 21:00:24,829 INFO L290 TraceCheckUtils]: 3: Hoare triple {7280#true} [273] L-1-2-->L16: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {7280#true} is VALID [2022-02-20 21:00:24,829 INFO L290 TraceCheckUtils]: 4: Hoare triple {7280#true} [254] L16-->L16-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[] {7280#true} is VALID [2022-02-20 21:00:24,829 INFO L290 TraceCheckUtils]: 5: Hoare triple {7280#true} [222] L16-1-->L16-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[] {7280#true} is VALID [2022-02-20 21:00:24,829 INFO L290 TraceCheckUtils]: 6: Hoare triple {7280#true} [277] L16-2-->L16-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[] {7280#true} is VALID [2022-02-20 21:00:24,830 INFO L290 TraceCheckUtils]: 7: Hoare triple {7280#true} [259] L16-3-->L16-4: Formula: (and (= (select |v_#valid_3| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {7280#true} is VALID [2022-02-20 21:00:24,830 INFO L290 TraceCheckUtils]: 8: Hoare triple {7280#true} [262] L16-4-->L16-5: Formula: (= (select (select |v_#memory_int_3| 2) 0) 0) InVars {#memory_int=|v_#memory_int_3|} OutVars{#memory_int=|v_#memory_int_3|} AuxVars[] AssignedVars[] {7280#true} is VALID [2022-02-20 21:00:24,830 INFO L290 TraceCheckUtils]: 9: Hoare triple {7280#true} [252] L16-5-->L-1-3: Formula: (= v_~x~0_1 0) InVars {} OutVars{~x~0=v_~x~0_1} AuxVars[] AssignedVars[~x~0] {7280#true} is VALID [2022-02-20 21:00:24,830 INFO L290 TraceCheckUtils]: 10: Hoare triple {7280#true} [274] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7280#true} is VALID [2022-02-20 21:00:24,830 INFO L290 TraceCheckUtils]: 11: Hoare triple {7280#true} [257] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7280#true} is VALID [2022-02-20 21:00:24,830 INFO L290 TraceCheckUtils]: 12: Hoare triple {7280#true} [236] L-1-5-->L-1-6: Formula: (and (= |v_ULTIMATE.start_#in~argv#1.offset_1| |v_ULTIMATE.start_main_#in~argv#1.offset_1|) (= |v_ULTIMATE.start_main_#in~argv#1.base_1| |v_ULTIMATE.start_#in~argv#1.base_1|) (= |v_ULTIMATE.start_main_#in~argc#1_1| |v_ULTIMATE.start_#in~argc#1_1|)) InVars {ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} OutVars{ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_1|, ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_1|, ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#in~argv#1.base, ULTIMATE.start_main_#in~argc#1, ULTIMATE.start_main_#in~argv#1.offset] {7280#true} is VALID [2022-02-20 21:00:24,831 INFO L290 TraceCheckUtils]: 13: Hoare triple {7280#true} [256] L-1-6-->L-1-7: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {7280#true} is VALID [2022-02-20 21:00:24,831 INFO L290 TraceCheckUtils]: 14: Hoare triple {7280#true} [232] L-1-7-->L718: Formula: true InVars {} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_1|, ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_1|, ULTIMATE.start_main_~i~1#1=|v_ULTIMATE.start_main_~i~1#1_1|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_1|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_1|, ULTIMATE.start_main_#t~post4#1=|v_ULTIMATE.start_main_#t~post4#1_1|, ULTIMATE.start_main_#t~mem5#1=|v_ULTIMATE.start_main_#t~mem5#1_1|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1, ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~1#1, ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t~0#1.offset, ULTIMATE.start_main_#t~post4#1, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~mem5#1, ULTIMATE.start_main_~#t~0#1.base, ULTIMATE.start_main_#t~pre2#1] {7280#true} is VALID [2022-02-20 21:00:24,831 INFO L290 TraceCheckUtils]: 15: Hoare triple {7280#true} [241] L718-->L718-1: Formula: (= |v_ULTIMATE.start_main_#in~argc#1_2| |v_ULTIMATE.start_main_~argc#1_2|) InVars {ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_2|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1] {7280#true} is VALID [2022-02-20 21:00:24,831 INFO L290 TraceCheckUtils]: 16: Hoare triple {7280#true} [278] L718-1-->L719: Formula: (and (= |v_ULTIMATE.start_main_~argv#1.offset_2| |v_ULTIMATE.start_main_#in~argv#1.offset_2|) (= |v_ULTIMATE.start_main_#in~argv#1.base_2| |v_ULTIMATE.start_main_~argv#1.base_2|)) InVars {ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|} OutVars{ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~argv#1.offset] {7280#true} is VALID [2022-02-20 21:00:24,831 INFO L290 TraceCheckUtils]: 17: Hoare triple {7280#true} [224] L719-->L719-1: Formula: (and (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 24)) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) 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_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] {7280#true} is VALID [2022-02-20 21:00:24,832 INFO L290 TraceCheckUtils]: 18: Hoare triple {7280#true} [263] L719-1-->L722: Formula: (= v_~x~0_2 0) InVars {} OutVars{~x~0=v_~x~0_2} AuxVars[] AssignedVars[~x~0] {7282#(= ~x~0 0)} is VALID [2022-02-20 21:00:24,832 INFO L290 TraceCheckUtils]: 19: Hoare triple {7282#(= ~x~0 0)} [275] L722-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 1) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {7282#(= ~x~0 0)} is VALID [2022-02-20 21:00:24,833 INFO L290 TraceCheckUtils]: 20: Hoare triple {7282#(= ~x~0 0)} [244] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 5) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] {7282#(= ~x~0 0)} is VALID [2022-02-20 21:00:24,833 INFO L290 TraceCheckUtils]: 21: Hoare triple {7282#(= ~x~0 0)} [240] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] {7282#(= ~x~0 0)} is VALID [2022-02-20 21:00:24,833 INFO L290 TraceCheckUtils]: 22: Hoare triple {7282#(= ~x~0 0)} [266] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {7282#(= ~x~0 0)} is VALID [2022-02-20 21:00:24,834 INFO L290 TraceCheckUtils]: 23: Hoare triple {7282#(= ~x~0 0)} [231] L724-2-->L724-3: Formula: (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| (* |v_ULTIMATE.start_main_~i~0#1_5| 4)) |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|) InVars {#memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{#memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] {7282#(= ~x~0 0)} is VALID [2022-02-20 21:00:24,834 INFO L290 TraceCheckUtils]: 24: Hoare triple {7282#(= ~x~0 0)} [296] L724-3-->threadENTRY: Formula: (and (= |v_ULTIMATE.start_main_~i~0#1_17| |v_threadThread1of3ForFork0_#in~arg.offset_4|) (= v_threadThread1of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_14|) (= |v_threadThread1of3ForFork0_#in~arg.base_4| 0)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_17|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_14|} OutVars{threadThread1of3ForFork0_#res.base=|v_threadThread1of3ForFork0_#res.base_4|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_17|, threadThread1of3ForFork0_#in~arg.base=|v_threadThread1of3ForFork0_#in~arg.base_4|, threadThread1of3ForFork0_#res.offset=|v_threadThread1of3ForFork0_#res.offset_4|, threadThread1of3ForFork0_~thread~0=v_threadThread1of3ForFork0_~thread~0_6, threadThread1of3ForFork0_thidvar0=v_threadThread1of3ForFork0_thidvar0_2, threadThread1of3ForFork0_#in~arg.offset=|v_threadThread1of3ForFork0_#in~arg.offset_4|, threadThread1of3ForFork0_~arg.base=v_threadThread1of3ForFork0_~arg.base_6, threadThread1of3ForFork0_~arg.offset=v_threadThread1of3ForFork0_~arg.offset_6, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_14|} AuxVars[] AssignedVars[threadThread1of3ForFork0_#res.base, threadThread1of3ForFork0_#in~arg.base, threadThread1of3ForFork0_#res.offset, threadThread1of3ForFork0_~thread~0, threadThread1of3ForFork0_thidvar0, threadThread1of3ForFork0_#in~arg.offset, threadThread1of3ForFork0_~arg.base, threadThread1of3ForFork0_~arg.offset] {7282#(= ~x~0 0)} is VALID [2022-02-20 21:00:24,835 INFO L290 TraceCheckUtils]: 25: Hoare triple {7282#(= ~x~0 0)} [276] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] {7282#(= ~x~0 0)} is VALID [2022-02-20 21:00:24,835 INFO L290 TraceCheckUtils]: 26: Hoare triple {7282#(= ~x~0 0)} [229] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] {7282#(= ~x~0 0)} is VALID [2022-02-20 21:00:24,835 INFO L290 TraceCheckUtils]: 27: Hoare triple {7282#(= ~x~0 0)} [258] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] {7282#(= ~x~0 0)} is VALID [2022-02-20 21:00:24,836 INFO L290 TraceCheckUtils]: 28: Hoare triple {7282#(= ~x~0 0)} [237] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {7282#(= ~x~0 0)} is VALID [2022-02-20 21:00:24,836 INFO L290 TraceCheckUtils]: 29: Hoare triple {7282#(= ~x~0 0)} [253] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] {7282#(= ~x~0 0)} is VALID [2022-02-20 21:00:24,837 INFO L290 TraceCheckUtils]: 30: Hoare triple {7282#(= ~x~0 0)} [243] L723-5-->L723-6: Formula: (not (<= |v_ULTIMATE.start_main_~i~0#1_3| 5)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} AuxVars[] AssignedVars[] {7282#(= ~x~0 0)} is VALID [2022-02-20 21:00:24,837 INFO L290 TraceCheckUtils]: 31: Hoare triple {7282#(= ~x~0 0)} [227] L723-6-->L727: Formula: (not (< v_~x~0_4 6)) InVars {~x~0=v_~x~0_4} OutVars{~x~0=v_~x~0_4} AuxVars[] AssignedVars[] {7281#false} is VALID [2022-02-20 21:00:24,837 INFO L290 TraceCheckUtils]: 32: Hoare triple {7281#false} [234] L727-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7281#false} is VALID [2022-02-20 21:00:24,837 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 21:00:24,838 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:00:24,838 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [292418017] [2022-02-20 21:00:24,838 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [292418017] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:00:24,838 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 21:00:24,838 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 21:00:24,838 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [520227203] [2022-02-20 21:00:24,839 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:00:24,839 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 11.0) internal successors, (33), 3 states have internal predecessors, (33), 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 33 [2022-02-20 21:00:24,839 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:00:24,839 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 11.0) internal successors, (33), 3 states have internal predecessors, (33), 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 21:00:24,862 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:00:24,862 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 21:00:24,863 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:00:24,863 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 21:00:24,863 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 21:00:24,864 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 56 out of 73 [2022-02-20 21:00:24,864 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 62 places, 52 transitions, 129 flow. Second operand has 3 states, 3 states have (on average 57.333333333333336) internal successors, (172), 3 states have internal predecessors, (172), 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 21:00:24,864 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 21:00:24,864 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 56 of 73 [2022-02-20 21:00:24,864 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 21:00:24,899 INFO L129 PetriNetUnfolder]: 21/145 cut-off events. [2022-02-20 21:00:24,899 INFO L130 PetriNetUnfolder]: For 20/20 co-relation queries the response was YES. [2022-02-20 21:00:24,900 INFO L84 FinitePrefix]: Finished finitePrefix Result has 230 conditions, 145 events. 21/145 cut-off events. For 20/20 co-relation queries the response was YES. Maximal size of possible extension queue 11. Compared 407 event pairs, 7 based on Foata normal form. 3/143 useless extension candidates. Maximal degree in co-relation 222. Up to 44 conditions per place. [2022-02-20 21:00:24,901 INFO L132 encePairwiseOnDemand]: 68/73 looper letters, 10 selfloop transitions, 4 changer transitions 0/57 dead transitions. [2022-02-20 21:00:24,901 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 64 places, 57 transitions, 177 flow [2022-02-20 21:00:24,901 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 21:00:24,901 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2022-02-20 21:00:24,903 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 183 transitions. [2022-02-20 21:00:24,904 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.8356164383561644 [2022-02-20 21:00:24,904 INFO L72 ComplementDD]: Start complementDD. Operand 3 states and 183 transitions. [2022-02-20 21:00:24,904 INFO L73 IsDeterministic]: Start isDeterministic. Operand 3 states and 183 transitions. [2022-02-20 21:00:24,904 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 21:00:24,904 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 3 states and 183 transitions. [2022-02-20 21:00:24,905 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 4 states, 3 states have (on average 61.0) internal successors, (183), 3 states have internal predecessors, (183), 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 21:00:24,905 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 4 states, 4 states have (on average 73.0) internal successors, (292), 4 states have internal predecessors, (292), 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 21:00:24,906 INFO L81 ComplementDD]: Finished complementDD. Result has 4 states, 4 states have (on average 73.0) internal successors, (292), 4 states have internal predecessors, (292), 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 21:00:24,906 INFO L186 Difference]: Start difference. First operand has 62 places, 52 transitions, 129 flow. Second operand 3 states and 183 transitions. [2022-02-20 21:00:24,906 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 64 places, 57 transitions, 177 flow [2022-02-20 21:00:24,907 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 63 places, 57 transitions, 175 flow, removed 0 selfloop flow, removed 1 redundant places. [2022-02-20 21:00:24,908 INFO L242 Difference]: Finished difference. Result has 64 places, 55 transitions, 153 flow [2022-02-20 21:00:24,908 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=73, PETRI_DIFFERENCE_MINUEND_FLOW=127, PETRI_DIFFERENCE_MINUEND_PLACES=61, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=52, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=48, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=153, PETRI_PLACES=64, PETRI_TRANSITIONS=55} [2022-02-20 21:00:24,909 INFO L334 CegarLoopForPetriNet]: 58 programPoint places, 6 predicate places. [2022-02-20 21:00:24,909 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 64 places, 55 transitions, 153 flow [2022-02-20 21:00:25,010 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 3517 states, 3513 states have (on average 3.274124679760888) internal successors, (11502), 3516 states have internal predecessors, (11502), 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 21:00:25,029 INFO L78 Accepts]: Start accepts. Automaton has has 3517 states, 3513 states have (on average 3.274124679760888) internal successors, (11502), 3516 states have internal predecessors, (11502), 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 33 [2022-02-20 21:00:25,030 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:00:25,030 INFO L470 AbstractCegarLoop]: Abstraction has has 64 places, 55 transitions, 153 flow [2022-02-20 21:00:25,030 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 57.333333333333336) internal successors, (172), 3 states have internal predecessors, (172), 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 21:00:25,030 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:00:25,030 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] [2022-02-20 21:00:25,031 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10 [2022-02-20 21:00:25,031 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 21:00:25,031 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:00:25,031 INFO L85 PathProgramCache]: Analyzing trace with hash 1587743943, now seen corresponding path program 1 times [2022-02-20 21:00:25,031 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:00:25,032 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [949179328] [2022-02-20 21:00:25,032 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:25,032 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:00:25,056 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:25,091 INFO L290 TraceCheckUtils]: 0: Hoare triple {10803#true} [265] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10803#true} is VALID [2022-02-20 21:00:25,092 INFO L290 TraceCheckUtils]: 1: Hoare triple {10803#true} [255] 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] {10803#true} is VALID [2022-02-20 21:00:25,092 INFO L290 TraceCheckUtils]: 2: Hoare triple {10803#true} [272] 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[] {10803#true} is VALID [2022-02-20 21:00:25,092 INFO L290 TraceCheckUtils]: 3: Hoare triple {10803#true} [273] L-1-2-->L16: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {10803#true} is VALID [2022-02-20 21:00:25,092 INFO L290 TraceCheckUtils]: 4: Hoare triple {10803#true} [254] L16-->L16-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[] {10803#true} is VALID [2022-02-20 21:00:25,093 INFO L290 TraceCheckUtils]: 5: Hoare triple {10803#true} [222] L16-1-->L16-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[] {10803#true} is VALID [2022-02-20 21:00:25,093 INFO L290 TraceCheckUtils]: 6: Hoare triple {10803#true} [277] L16-2-->L16-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[] {10803#true} is VALID [2022-02-20 21:00:25,093 INFO L290 TraceCheckUtils]: 7: Hoare triple {10803#true} [259] L16-3-->L16-4: Formula: (and (= (select |v_#valid_3| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {10803#true} is VALID [2022-02-20 21:00:25,093 INFO L290 TraceCheckUtils]: 8: Hoare triple {10803#true} [262] L16-4-->L16-5: Formula: (= (select (select |v_#memory_int_3| 2) 0) 0) InVars {#memory_int=|v_#memory_int_3|} OutVars{#memory_int=|v_#memory_int_3|} AuxVars[] AssignedVars[] {10803#true} is VALID [2022-02-20 21:00:25,093 INFO L290 TraceCheckUtils]: 9: Hoare triple {10803#true} [252] L16-5-->L-1-3: Formula: (= v_~x~0_1 0) InVars {} OutVars{~x~0=v_~x~0_1} AuxVars[] AssignedVars[~x~0] {10803#true} is VALID [2022-02-20 21:00:25,094 INFO L290 TraceCheckUtils]: 10: Hoare triple {10803#true} [274] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10803#true} is VALID [2022-02-20 21:00:25,094 INFO L290 TraceCheckUtils]: 11: Hoare triple {10803#true} [257] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10803#true} is VALID [2022-02-20 21:00:25,094 INFO L290 TraceCheckUtils]: 12: Hoare triple {10803#true} [236] L-1-5-->L-1-6: Formula: (and (= |v_ULTIMATE.start_#in~argv#1.offset_1| |v_ULTIMATE.start_main_#in~argv#1.offset_1|) (= |v_ULTIMATE.start_main_#in~argv#1.base_1| |v_ULTIMATE.start_#in~argv#1.base_1|) (= |v_ULTIMATE.start_main_#in~argc#1_1| |v_ULTIMATE.start_#in~argc#1_1|)) InVars {ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} OutVars{ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_1|, ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_1|, ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#in~argv#1.base, ULTIMATE.start_main_#in~argc#1, ULTIMATE.start_main_#in~argv#1.offset] {10803#true} is VALID [2022-02-20 21:00:25,094 INFO L290 TraceCheckUtils]: 13: Hoare triple {10803#true} [256] L-1-6-->L-1-7: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {10803#true} is VALID [2022-02-20 21:00:25,094 INFO L290 TraceCheckUtils]: 14: Hoare triple {10803#true} [232] L-1-7-->L718: Formula: true InVars {} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_1|, ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_1|, ULTIMATE.start_main_~i~1#1=|v_ULTIMATE.start_main_~i~1#1_1|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_1|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_1|, ULTIMATE.start_main_#t~post4#1=|v_ULTIMATE.start_main_#t~post4#1_1|, ULTIMATE.start_main_#t~mem5#1=|v_ULTIMATE.start_main_#t~mem5#1_1|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1, ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~1#1, ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t~0#1.offset, ULTIMATE.start_main_#t~post4#1, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~mem5#1, ULTIMATE.start_main_~#t~0#1.base, ULTIMATE.start_main_#t~pre2#1] {10803#true} is VALID [2022-02-20 21:00:25,095 INFO L290 TraceCheckUtils]: 15: Hoare triple {10803#true} [241] L718-->L718-1: Formula: (= |v_ULTIMATE.start_main_#in~argc#1_2| |v_ULTIMATE.start_main_~argc#1_2|) InVars {ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_2|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1] {10803#true} is VALID [2022-02-20 21:00:25,095 INFO L290 TraceCheckUtils]: 16: Hoare triple {10803#true} [278] L718-1-->L719: Formula: (and (= |v_ULTIMATE.start_main_~argv#1.offset_2| |v_ULTIMATE.start_main_#in~argv#1.offset_2|) (= |v_ULTIMATE.start_main_#in~argv#1.base_2| |v_ULTIMATE.start_main_~argv#1.base_2|)) InVars {ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|} OutVars{ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~argv#1.offset] {10803#true} is VALID [2022-02-20 21:00:25,095 INFO L290 TraceCheckUtils]: 17: Hoare triple {10803#true} [224] L719-->L719-1: Formula: (and (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 24)) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) 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_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] {10803#true} is VALID [2022-02-20 21:00:25,098 INFO L290 TraceCheckUtils]: 18: Hoare triple {10803#true} [263] L719-1-->L722: Formula: (= v_~x~0_2 0) InVars {} OutVars{~x~0=v_~x~0_2} AuxVars[] AssignedVars[~x~0] {10803#true} is VALID [2022-02-20 21:00:25,098 INFO L290 TraceCheckUtils]: 19: Hoare triple {10803#true} [275] L722-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 1) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {10805#(= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:25,099 INFO L290 TraceCheckUtils]: 20: Hoare triple {10805#(= |ULTIMATE.start_main_~i~0#1| 1)} [244] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 5) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] {10805#(= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:25,099 INFO L290 TraceCheckUtils]: 21: Hoare triple {10805#(= |ULTIMATE.start_main_~i~0#1| 1)} [240] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] {10805#(= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:25,100 INFO L290 TraceCheckUtils]: 22: Hoare triple {10805#(= |ULTIMATE.start_main_~i~0#1| 1)} [266] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {10805#(= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:25,100 INFO L290 TraceCheckUtils]: 23: Hoare triple {10805#(= |ULTIMATE.start_main_~i~0#1| 1)} [231] L724-2-->L724-3: Formula: (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| (* |v_ULTIMATE.start_main_~i~0#1_5| 4)) |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|) InVars {#memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{#memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] {10805#(= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:25,101 INFO L290 TraceCheckUtils]: 24: Hoare triple {10805#(= |ULTIMATE.start_main_~i~0#1| 1)} [296] L724-3-->threadENTRY: Formula: (and (= |v_ULTIMATE.start_main_~i~0#1_17| |v_threadThread1of3ForFork0_#in~arg.offset_4|) (= v_threadThread1of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_14|) (= |v_threadThread1of3ForFork0_#in~arg.base_4| 0)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_17|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_14|} OutVars{threadThread1of3ForFork0_#res.base=|v_threadThread1of3ForFork0_#res.base_4|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_17|, threadThread1of3ForFork0_#in~arg.base=|v_threadThread1of3ForFork0_#in~arg.base_4|, threadThread1of3ForFork0_#res.offset=|v_threadThread1of3ForFork0_#res.offset_4|, threadThread1of3ForFork0_~thread~0=v_threadThread1of3ForFork0_~thread~0_6, threadThread1of3ForFork0_thidvar0=v_threadThread1of3ForFork0_thidvar0_2, threadThread1of3ForFork0_#in~arg.offset=|v_threadThread1of3ForFork0_#in~arg.offset_4|, threadThread1of3ForFork0_~arg.base=v_threadThread1of3ForFork0_~arg.base_6, threadThread1of3ForFork0_~arg.offset=v_threadThread1of3ForFork0_~arg.offset_6, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_14|} AuxVars[] AssignedVars[threadThread1of3ForFork0_#res.base, threadThread1of3ForFork0_#in~arg.base, threadThread1of3ForFork0_#res.offset, threadThread1of3ForFork0_~thread~0, threadThread1of3ForFork0_thidvar0, threadThread1of3ForFork0_#in~arg.offset, threadThread1of3ForFork0_~arg.base, threadThread1of3ForFork0_~arg.offset] {10805#(= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:25,102 INFO L290 TraceCheckUtils]: 25: Hoare triple {10805#(= |ULTIMATE.start_main_~i~0#1| 1)} [276] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] {10805#(= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:25,103 INFO L290 TraceCheckUtils]: 26: Hoare triple {10805#(= |ULTIMATE.start_main_~i~0#1| 1)} [229] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] {10805#(= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:25,103 INFO L290 TraceCheckUtils]: 27: Hoare triple {10805#(= |ULTIMATE.start_main_~i~0#1| 1)} [258] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] {10806#(= (+ (- 1) |ULTIMATE.start_main_#t~post1#1|) 0)} is VALID [2022-02-20 21:00:25,104 INFO L290 TraceCheckUtils]: 28: Hoare triple {10806#(= (+ (- 1) |ULTIMATE.start_main_#t~post1#1|) 0)} [237] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {10807#(<= |ULTIMATE.start_main_~i~0#1| 2)} is VALID [2022-02-20 21:00:25,104 INFO L290 TraceCheckUtils]: 29: Hoare triple {10807#(<= |ULTIMATE.start_main_~i~0#1| 2)} [253] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] {10807#(<= |ULTIMATE.start_main_~i~0#1| 2)} is VALID [2022-02-20 21:00:25,105 INFO L290 TraceCheckUtils]: 30: Hoare triple {10807#(<= |ULTIMATE.start_main_~i~0#1| 2)} [243] L723-5-->L723-6: Formula: (not (<= |v_ULTIMATE.start_main_~i~0#1_3| 5)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} AuxVars[] AssignedVars[] {10804#false} is VALID [2022-02-20 21:00:25,105 INFO L290 TraceCheckUtils]: 31: Hoare triple {10804#false} [290] threadENTRY-->L712: Formula: (and (= v_threadThread1of3ForFork0_~arg.offset_1 |v_threadThread1of3ForFork0_#in~arg.offset_1|) (= v_threadThread1of3ForFork0_~arg.base_1 |v_threadThread1of3ForFork0_#in~arg.base_1|)) InVars {threadThread1of3ForFork0_#in~arg.offset=|v_threadThread1of3ForFork0_#in~arg.offset_1|, threadThread1of3ForFork0_#in~arg.base=|v_threadThread1of3ForFork0_#in~arg.base_1|} OutVars{threadThread1of3ForFork0_#in~arg.offset=|v_threadThread1of3ForFork0_#in~arg.offset_1|, threadThread1of3ForFork0_#in~arg.base=|v_threadThread1of3ForFork0_#in~arg.base_1|, threadThread1of3ForFork0_~arg.base=v_threadThread1of3ForFork0_~arg.base_1, threadThread1of3ForFork0_~arg.offset=v_threadThread1of3ForFork0_~arg.offset_1} AuxVars[] AssignedVars[threadThread1of3ForFork0_~arg.base, threadThread1of3ForFork0_~arg.offset] {10804#false} is VALID [2022-02-20 21:00:25,105 INFO L290 TraceCheckUtils]: 32: Hoare triple {10804#false} [291] L712-->L713: Formula: (= v_threadThread1of3ForFork0_~thread~0_1 (+ v_threadThread1of3ForFork0_~arg.base_3 v_threadThread1of3ForFork0_~arg.offset_3)) InVars {threadThread1of3ForFork0_~arg.base=v_threadThread1of3ForFork0_~arg.base_3, threadThread1of3ForFork0_~arg.offset=v_threadThread1of3ForFork0_~arg.offset_3} OutVars{threadThread1of3ForFork0_~arg.base=v_threadThread1of3ForFork0_~arg.base_3, threadThread1of3ForFork0_~thread~0=v_threadThread1of3ForFork0_~thread~0_1, threadThread1of3ForFork0_~arg.offset=v_threadThread1of3ForFork0_~arg.offset_3} AuxVars[] AssignedVars[threadThread1of3ForFork0_~thread~0] {10804#false} is VALID [2022-02-20 21:00:25,105 INFO L290 TraceCheckUtils]: 33: Hoare triple {10804#false} [292] L713-->L715: Formula: (= v_threadThread1of3ForFork0_~thread~0_3 v_~x~0_5) InVars {threadThread1of3ForFork0_~thread~0=v_threadThread1of3ForFork0_~thread~0_3} OutVars{threadThread1of3ForFork0_~thread~0=v_threadThread1of3ForFork0_~thread~0_3, ~x~0=v_~x~0_5} AuxVars[] AssignedVars[~x~0] {10804#false} is VALID [2022-02-20 21:00:25,106 INFO L290 TraceCheckUtils]: 34: Hoare triple {10804#false} [227] L723-6-->L727: Formula: (not (< v_~x~0_4 6)) InVars {~x~0=v_~x~0_4} OutVars{~x~0=v_~x~0_4} AuxVars[] AssignedVars[] {10804#false} is VALID [2022-02-20 21:00:25,107 INFO L290 TraceCheckUtils]: 35: Hoare triple {10804#false} [234] L727-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10804#false} is VALID [2022-02-20 21:00:25,107 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 21:00:25,107 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:00:25,107 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [949179328] [2022-02-20 21:00:25,107 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [949179328] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 21:00:25,108 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [598725637] [2022-02-20 21:00:25,108 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:25,108 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 21:00:25,108 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 21:00:25,112 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 21:00:25,112 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-02-20 21:00:25,179 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:25,180 INFO L263 TraceCheckSpWp]: Trace formula consists of 91 conjuncts, 4 conjunts are in the unsatisfiable core [2022-02-20 21:00:25,188 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:25,189 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 21:00:25,339 INFO L290 TraceCheckUtils]: 0: Hoare triple {10803#true} [265] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10803#true} is VALID [2022-02-20 21:00:25,339 INFO L290 TraceCheckUtils]: 1: Hoare triple {10803#true} [255] 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] {10803#true} is VALID [2022-02-20 21:00:25,339 INFO L290 TraceCheckUtils]: 2: Hoare triple {10803#true} [272] 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[] {10803#true} is VALID [2022-02-20 21:00:25,339 INFO L290 TraceCheckUtils]: 3: Hoare triple {10803#true} [273] L-1-2-->L16: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {10803#true} is VALID [2022-02-20 21:00:25,339 INFO L290 TraceCheckUtils]: 4: Hoare triple {10803#true} [254] L16-->L16-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[] {10803#true} is VALID [2022-02-20 21:00:25,340 INFO L290 TraceCheckUtils]: 5: Hoare triple {10803#true} [222] L16-1-->L16-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[] {10803#true} is VALID [2022-02-20 21:00:25,340 INFO L290 TraceCheckUtils]: 6: Hoare triple {10803#true} [277] L16-2-->L16-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[] {10803#true} is VALID [2022-02-20 21:00:25,340 INFO L290 TraceCheckUtils]: 7: Hoare triple {10803#true} [259] L16-3-->L16-4: Formula: (and (= (select |v_#valid_3| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {10803#true} is VALID [2022-02-20 21:00:25,340 INFO L290 TraceCheckUtils]: 8: Hoare triple {10803#true} [262] L16-4-->L16-5: Formula: (= (select (select |v_#memory_int_3| 2) 0) 0) InVars {#memory_int=|v_#memory_int_3|} OutVars{#memory_int=|v_#memory_int_3|} AuxVars[] AssignedVars[] {10803#true} is VALID [2022-02-20 21:00:25,340 INFO L290 TraceCheckUtils]: 9: Hoare triple {10803#true} [252] L16-5-->L-1-3: Formula: (= v_~x~0_1 0) InVars {} OutVars{~x~0=v_~x~0_1} AuxVars[] AssignedVars[~x~0] {10803#true} is VALID [2022-02-20 21:00:25,340 INFO L290 TraceCheckUtils]: 10: Hoare triple {10803#true} [274] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10803#true} is VALID [2022-02-20 21:00:25,340 INFO L290 TraceCheckUtils]: 11: Hoare triple {10803#true} [257] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10803#true} is VALID [2022-02-20 21:00:25,341 INFO L290 TraceCheckUtils]: 12: Hoare triple {10803#true} [236] L-1-5-->L-1-6: Formula: (and (= |v_ULTIMATE.start_#in~argv#1.offset_1| |v_ULTIMATE.start_main_#in~argv#1.offset_1|) (= |v_ULTIMATE.start_main_#in~argv#1.base_1| |v_ULTIMATE.start_#in~argv#1.base_1|) (= |v_ULTIMATE.start_main_#in~argc#1_1| |v_ULTIMATE.start_#in~argc#1_1|)) InVars {ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} OutVars{ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_1|, ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_1|, ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#in~argv#1.base, ULTIMATE.start_main_#in~argc#1, ULTIMATE.start_main_#in~argv#1.offset] {10803#true} is VALID [2022-02-20 21:00:25,341 INFO L290 TraceCheckUtils]: 13: Hoare triple {10803#true} [256] L-1-6-->L-1-7: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {10803#true} is VALID [2022-02-20 21:00:25,341 INFO L290 TraceCheckUtils]: 14: Hoare triple {10803#true} [232] L-1-7-->L718: Formula: true InVars {} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_1|, ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_1|, ULTIMATE.start_main_~i~1#1=|v_ULTIMATE.start_main_~i~1#1_1|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_1|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_1|, ULTIMATE.start_main_#t~post4#1=|v_ULTIMATE.start_main_#t~post4#1_1|, ULTIMATE.start_main_#t~mem5#1=|v_ULTIMATE.start_main_#t~mem5#1_1|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1, ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~1#1, ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t~0#1.offset, ULTIMATE.start_main_#t~post4#1, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~mem5#1, ULTIMATE.start_main_~#t~0#1.base, ULTIMATE.start_main_#t~pre2#1] {10803#true} is VALID [2022-02-20 21:00:25,341 INFO L290 TraceCheckUtils]: 15: Hoare triple {10803#true} [241] L718-->L718-1: Formula: (= |v_ULTIMATE.start_main_#in~argc#1_2| |v_ULTIMATE.start_main_~argc#1_2|) InVars {ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_2|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1] {10803#true} is VALID [2022-02-20 21:00:25,344 INFO L290 TraceCheckUtils]: 16: Hoare triple {10803#true} [278] L718-1-->L719: Formula: (and (= |v_ULTIMATE.start_main_~argv#1.offset_2| |v_ULTIMATE.start_main_#in~argv#1.offset_2|) (= |v_ULTIMATE.start_main_#in~argv#1.base_2| |v_ULTIMATE.start_main_~argv#1.base_2|)) InVars {ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|} OutVars{ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~argv#1.offset] {10803#true} is VALID [2022-02-20 21:00:25,345 INFO L290 TraceCheckUtils]: 17: Hoare triple {10803#true} [224] L719-->L719-1: Formula: (and (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 24)) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) 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_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] {10803#true} is VALID [2022-02-20 21:00:25,345 INFO L290 TraceCheckUtils]: 18: Hoare triple {10803#true} [263] L719-1-->L722: Formula: (= v_~x~0_2 0) InVars {} OutVars{~x~0=v_~x~0_2} AuxVars[] AssignedVars[~x~0] {10803#true} is VALID [2022-02-20 21:00:25,347 INFO L290 TraceCheckUtils]: 19: Hoare triple {10803#true} [275] L722-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 1) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {10868#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:25,349 INFO L290 TraceCheckUtils]: 20: Hoare triple {10868#(<= |ULTIMATE.start_main_~i~0#1| 1)} [244] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 5) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] {10868#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:25,350 INFO L290 TraceCheckUtils]: 21: Hoare triple {10868#(<= |ULTIMATE.start_main_~i~0#1| 1)} [240] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] {10868#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:25,350 INFO L290 TraceCheckUtils]: 22: Hoare triple {10868#(<= |ULTIMATE.start_main_~i~0#1| 1)} [266] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {10868#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:25,350 INFO L290 TraceCheckUtils]: 23: Hoare triple {10868#(<= |ULTIMATE.start_main_~i~0#1| 1)} [231] L724-2-->L724-3: Formula: (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| (* |v_ULTIMATE.start_main_~i~0#1_5| 4)) |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|) InVars {#memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{#memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] {10868#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:25,351 INFO L290 TraceCheckUtils]: 24: Hoare triple {10868#(<= |ULTIMATE.start_main_~i~0#1| 1)} [296] L724-3-->threadENTRY: Formula: (and (= |v_ULTIMATE.start_main_~i~0#1_17| |v_threadThread1of3ForFork0_#in~arg.offset_4|) (= v_threadThread1of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_14|) (= |v_threadThread1of3ForFork0_#in~arg.base_4| 0)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_17|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_14|} OutVars{threadThread1of3ForFork0_#res.base=|v_threadThread1of3ForFork0_#res.base_4|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_17|, threadThread1of3ForFork0_#in~arg.base=|v_threadThread1of3ForFork0_#in~arg.base_4|, threadThread1of3ForFork0_#res.offset=|v_threadThread1of3ForFork0_#res.offset_4|, threadThread1of3ForFork0_~thread~0=v_threadThread1of3ForFork0_~thread~0_6, threadThread1of3ForFork0_thidvar0=v_threadThread1of3ForFork0_thidvar0_2, threadThread1of3ForFork0_#in~arg.offset=|v_threadThread1of3ForFork0_#in~arg.offset_4|, threadThread1of3ForFork0_~arg.base=v_threadThread1of3ForFork0_~arg.base_6, threadThread1of3ForFork0_~arg.offset=v_threadThread1of3ForFork0_~arg.offset_6, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_14|} AuxVars[] AssignedVars[threadThread1of3ForFork0_#res.base, threadThread1of3ForFork0_#in~arg.base, threadThread1of3ForFork0_#res.offset, threadThread1of3ForFork0_~thread~0, threadThread1of3ForFork0_thidvar0, threadThread1of3ForFork0_#in~arg.offset, threadThread1of3ForFork0_~arg.base, threadThread1of3ForFork0_~arg.offset] {10868#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:25,351 INFO L290 TraceCheckUtils]: 25: Hoare triple {10868#(<= |ULTIMATE.start_main_~i~0#1| 1)} [276] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] {10868#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:25,352 INFO L290 TraceCheckUtils]: 26: Hoare triple {10868#(<= |ULTIMATE.start_main_~i~0#1| 1)} [229] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] {10868#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:25,352 INFO L290 TraceCheckUtils]: 27: Hoare triple {10868#(<= |ULTIMATE.start_main_~i~0#1| 1)} [258] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] {10893#(<= |ULTIMATE.start_main_#t~post1#1| 1)} is VALID [2022-02-20 21:00:25,353 INFO L290 TraceCheckUtils]: 28: Hoare triple {10893#(<= |ULTIMATE.start_main_#t~post1#1| 1)} [237] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {10807#(<= |ULTIMATE.start_main_~i~0#1| 2)} is VALID [2022-02-20 21:00:25,353 INFO L290 TraceCheckUtils]: 29: Hoare triple {10807#(<= |ULTIMATE.start_main_~i~0#1| 2)} [253] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] {10807#(<= |ULTIMATE.start_main_~i~0#1| 2)} is VALID [2022-02-20 21:00:25,353 INFO L290 TraceCheckUtils]: 30: Hoare triple {10807#(<= |ULTIMATE.start_main_~i~0#1| 2)} [243] L723-5-->L723-6: Formula: (not (<= |v_ULTIMATE.start_main_~i~0#1_3| 5)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} AuxVars[] AssignedVars[] {10804#false} is VALID [2022-02-20 21:00:25,354 INFO L290 TraceCheckUtils]: 31: Hoare triple {10804#false} [290] threadENTRY-->L712: Formula: (and (= v_threadThread1of3ForFork0_~arg.offset_1 |v_threadThread1of3ForFork0_#in~arg.offset_1|) (= v_threadThread1of3ForFork0_~arg.base_1 |v_threadThread1of3ForFork0_#in~arg.base_1|)) InVars {threadThread1of3ForFork0_#in~arg.offset=|v_threadThread1of3ForFork0_#in~arg.offset_1|, threadThread1of3ForFork0_#in~arg.base=|v_threadThread1of3ForFork0_#in~arg.base_1|} OutVars{threadThread1of3ForFork0_#in~arg.offset=|v_threadThread1of3ForFork0_#in~arg.offset_1|, threadThread1of3ForFork0_#in~arg.base=|v_threadThread1of3ForFork0_#in~arg.base_1|, threadThread1of3ForFork0_~arg.base=v_threadThread1of3ForFork0_~arg.base_1, threadThread1of3ForFork0_~arg.offset=v_threadThread1of3ForFork0_~arg.offset_1} AuxVars[] AssignedVars[threadThread1of3ForFork0_~arg.base, threadThread1of3ForFork0_~arg.offset] {10804#false} is VALID [2022-02-20 21:00:25,354 INFO L290 TraceCheckUtils]: 32: Hoare triple {10804#false} [291] L712-->L713: Formula: (= v_threadThread1of3ForFork0_~thread~0_1 (+ v_threadThread1of3ForFork0_~arg.base_3 v_threadThread1of3ForFork0_~arg.offset_3)) InVars {threadThread1of3ForFork0_~arg.base=v_threadThread1of3ForFork0_~arg.base_3, threadThread1of3ForFork0_~arg.offset=v_threadThread1of3ForFork0_~arg.offset_3} OutVars{threadThread1of3ForFork0_~arg.base=v_threadThread1of3ForFork0_~arg.base_3, threadThread1of3ForFork0_~thread~0=v_threadThread1of3ForFork0_~thread~0_1, threadThread1of3ForFork0_~arg.offset=v_threadThread1of3ForFork0_~arg.offset_3} AuxVars[] AssignedVars[threadThread1of3ForFork0_~thread~0] {10804#false} is VALID [2022-02-20 21:00:25,354 INFO L290 TraceCheckUtils]: 33: Hoare triple {10804#false} [292] L713-->L715: Formula: (= v_threadThread1of3ForFork0_~thread~0_3 v_~x~0_5) InVars {threadThread1of3ForFork0_~thread~0=v_threadThread1of3ForFork0_~thread~0_3} OutVars{threadThread1of3ForFork0_~thread~0=v_threadThread1of3ForFork0_~thread~0_3, ~x~0=v_~x~0_5} AuxVars[] AssignedVars[~x~0] {10804#false} is VALID [2022-02-20 21:00:25,354 INFO L290 TraceCheckUtils]: 34: Hoare triple {10804#false} [227] L723-6-->L727: Formula: (not (< v_~x~0_4 6)) InVars {~x~0=v_~x~0_4} OutVars{~x~0=v_~x~0_4} AuxVars[] AssignedVars[] {10804#false} is VALID [2022-02-20 21:00:25,354 INFO L290 TraceCheckUtils]: 35: Hoare triple {10804#false} [234] L727-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10804#false} is VALID [2022-02-20 21:00:25,354 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 21:00:25,354 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 21:00:25,470 INFO L290 TraceCheckUtils]: 35: Hoare triple {10804#false} [234] L727-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10804#false} is VALID [2022-02-20 21:00:25,470 INFO L290 TraceCheckUtils]: 34: Hoare triple {10804#false} [227] L723-6-->L727: Formula: (not (< v_~x~0_4 6)) InVars {~x~0=v_~x~0_4} OutVars{~x~0=v_~x~0_4} AuxVars[] AssignedVars[] {10804#false} is VALID [2022-02-20 21:00:25,470 INFO L290 TraceCheckUtils]: 33: Hoare triple {10804#false} [292] L713-->L715: Formula: (= v_threadThread1of3ForFork0_~thread~0_3 v_~x~0_5) InVars {threadThread1of3ForFork0_~thread~0=v_threadThread1of3ForFork0_~thread~0_3} OutVars{threadThread1of3ForFork0_~thread~0=v_threadThread1of3ForFork0_~thread~0_3, ~x~0=v_~x~0_5} AuxVars[] AssignedVars[~x~0] {10804#false} is VALID [2022-02-20 21:00:25,471 INFO L290 TraceCheckUtils]: 32: Hoare triple {10804#false} [291] L712-->L713: Formula: (= v_threadThread1of3ForFork0_~thread~0_1 (+ v_threadThread1of3ForFork0_~arg.base_3 v_threadThread1of3ForFork0_~arg.offset_3)) InVars {threadThread1of3ForFork0_~arg.base=v_threadThread1of3ForFork0_~arg.base_3, threadThread1of3ForFork0_~arg.offset=v_threadThread1of3ForFork0_~arg.offset_3} OutVars{threadThread1of3ForFork0_~arg.base=v_threadThread1of3ForFork0_~arg.base_3, threadThread1of3ForFork0_~thread~0=v_threadThread1of3ForFork0_~thread~0_1, threadThread1of3ForFork0_~arg.offset=v_threadThread1of3ForFork0_~arg.offset_3} AuxVars[] AssignedVars[threadThread1of3ForFork0_~thread~0] {10804#false} is VALID [2022-02-20 21:00:25,471 INFO L290 TraceCheckUtils]: 31: Hoare triple {10804#false} [290] threadENTRY-->L712: Formula: (and (= v_threadThread1of3ForFork0_~arg.offset_1 |v_threadThread1of3ForFork0_#in~arg.offset_1|) (= v_threadThread1of3ForFork0_~arg.base_1 |v_threadThread1of3ForFork0_#in~arg.base_1|)) InVars {threadThread1of3ForFork0_#in~arg.offset=|v_threadThread1of3ForFork0_#in~arg.offset_1|, threadThread1of3ForFork0_#in~arg.base=|v_threadThread1of3ForFork0_#in~arg.base_1|} OutVars{threadThread1of3ForFork0_#in~arg.offset=|v_threadThread1of3ForFork0_#in~arg.offset_1|, threadThread1of3ForFork0_#in~arg.base=|v_threadThread1of3ForFork0_#in~arg.base_1|, threadThread1of3ForFork0_~arg.base=v_threadThread1of3ForFork0_~arg.base_1, threadThread1of3ForFork0_~arg.offset=v_threadThread1of3ForFork0_~arg.offset_1} AuxVars[] AssignedVars[threadThread1of3ForFork0_~arg.base, threadThread1of3ForFork0_~arg.offset] {10804#false} is VALID [2022-02-20 21:00:25,471 INFO L290 TraceCheckUtils]: 30: Hoare triple {10933#(<= |ULTIMATE.start_main_~i~0#1| 5)} [243] L723-5-->L723-6: Formula: (not (<= |v_ULTIMATE.start_main_~i~0#1_3| 5)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} AuxVars[] AssignedVars[] {10804#false} is VALID [2022-02-20 21:00:25,471 INFO L290 TraceCheckUtils]: 29: Hoare triple {10933#(<= |ULTIMATE.start_main_~i~0#1| 5)} [253] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] {10933#(<= |ULTIMATE.start_main_~i~0#1| 5)} is VALID [2022-02-20 21:00:25,472 INFO L290 TraceCheckUtils]: 28: Hoare triple {10940#(<= |ULTIMATE.start_main_#t~post1#1| 4)} [237] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {10933#(<= |ULTIMATE.start_main_~i~0#1| 5)} is VALID [2022-02-20 21:00:25,473 INFO L290 TraceCheckUtils]: 27: Hoare triple {10944#(<= |ULTIMATE.start_main_~i~0#1| 4)} [258] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] {10940#(<= |ULTIMATE.start_main_#t~post1#1| 4)} is VALID [2022-02-20 21:00:25,474 INFO L290 TraceCheckUtils]: 26: Hoare triple {10944#(<= |ULTIMATE.start_main_~i~0#1| 4)} [229] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] {10944#(<= |ULTIMATE.start_main_~i~0#1| 4)} is VALID [2022-02-20 21:00:25,474 INFO L290 TraceCheckUtils]: 25: Hoare triple {10944#(<= |ULTIMATE.start_main_~i~0#1| 4)} [276] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] {10944#(<= |ULTIMATE.start_main_~i~0#1| 4)} is VALID [2022-02-20 21:00:25,474 INFO L290 TraceCheckUtils]: 24: Hoare triple {10944#(<= |ULTIMATE.start_main_~i~0#1| 4)} [296] L724-3-->threadENTRY: Formula: (and (= |v_ULTIMATE.start_main_~i~0#1_17| |v_threadThread1of3ForFork0_#in~arg.offset_4|) (= v_threadThread1of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_14|) (= |v_threadThread1of3ForFork0_#in~arg.base_4| 0)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_17|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_14|} OutVars{threadThread1of3ForFork0_#res.base=|v_threadThread1of3ForFork0_#res.base_4|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_17|, threadThread1of3ForFork0_#in~arg.base=|v_threadThread1of3ForFork0_#in~arg.base_4|, threadThread1of3ForFork0_#res.offset=|v_threadThread1of3ForFork0_#res.offset_4|, threadThread1of3ForFork0_~thread~0=v_threadThread1of3ForFork0_~thread~0_6, threadThread1of3ForFork0_thidvar0=v_threadThread1of3ForFork0_thidvar0_2, threadThread1of3ForFork0_#in~arg.offset=|v_threadThread1of3ForFork0_#in~arg.offset_4|, threadThread1of3ForFork0_~arg.base=v_threadThread1of3ForFork0_~arg.base_6, threadThread1of3ForFork0_~arg.offset=v_threadThread1of3ForFork0_~arg.offset_6, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_14|} AuxVars[] AssignedVars[threadThread1of3ForFork0_#res.base, threadThread1of3ForFork0_#in~arg.base, threadThread1of3ForFork0_#res.offset, threadThread1of3ForFork0_~thread~0, threadThread1of3ForFork0_thidvar0, threadThread1of3ForFork0_#in~arg.offset, threadThread1of3ForFork0_~arg.base, threadThread1of3ForFork0_~arg.offset] {10944#(<= |ULTIMATE.start_main_~i~0#1| 4)} is VALID [2022-02-20 21:00:25,475 INFO L290 TraceCheckUtils]: 23: Hoare triple {10944#(<= |ULTIMATE.start_main_~i~0#1| 4)} [231] L724-2-->L724-3: Formula: (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| (* |v_ULTIMATE.start_main_~i~0#1_5| 4)) |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|) InVars {#memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{#memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] {10944#(<= |ULTIMATE.start_main_~i~0#1| 4)} is VALID [2022-02-20 21:00:25,475 INFO L290 TraceCheckUtils]: 22: Hoare triple {10944#(<= |ULTIMATE.start_main_~i~0#1| 4)} [266] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {10944#(<= |ULTIMATE.start_main_~i~0#1| 4)} is VALID [2022-02-20 21:00:25,476 INFO L290 TraceCheckUtils]: 21: Hoare triple {10944#(<= |ULTIMATE.start_main_~i~0#1| 4)} [240] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] {10944#(<= |ULTIMATE.start_main_~i~0#1| 4)} is VALID [2022-02-20 21:00:25,476 INFO L290 TraceCheckUtils]: 20: Hoare triple {10944#(<= |ULTIMATE.start_main_~i~0#1| 4)} [244] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 5) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] {10944#(<= |ULTIMATE.start_main_~i~0#1| 4)} is VALID [2022-02-20 21:00:25,476 INFO L290 TraceCheckUtils]: 19: Hoare triple {10803#true} [275] L722-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 1) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {10944#(<= |ULTIMATE.start_main_~i~0#1| 4)} is VALID [2022-02-20 21:00:25,476 INFO L290 TraceCheckUtils]: 18: Hoare triple {10803#true} [263] L719-1-->L722: Formula: (= v_~x~0_2 0) InVars {} OutVars{~x~0=v_~x~0_2} AuxVars[] AssignedVars[~x~0] {10803#true} is VALID [2022-02-20 21:00:25,477 INFO L290 TraceCheckUtils]: 17: Hoare triple {10803#true} [224] L719-->L719-1: Formula: (and (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 24)) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) 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_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] {10803#true} is VALID [2022-02-20 21:00:25,477 INFO L290 TraceCheckUtils]: 16: Hoare triple {10803#true} [278] L718-1-->L719: Formula: (and (= |v_ULTIMATE.start_main_~argv#1.offset_2| |v_ULTIMATE.start_main_#in~argv#1.offset_2|) (= |v_ULTIMATE.start_main_#in~argv#1.base_2| |v_ULTIMATE.start_main_~argv#1.base_2|)) InVars {ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|} OutVars{ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~argv#1.offset] {10803#true} is VALID [2022-02-20 21:00:25,477 INFO L290 TraceCheckUtils]: 15: Hoare triple {10803#true} [241] L718-->L718-1: Formula: (= |v_ULTIMATE.start_main_#in~argc#1_2| |v_ULTIMATE.start_main_~argc#1_2|) InVars {ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_2|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1] {10803#true} is VALID [2022-02-20 21:00:25,477 INFO L290 TraceCheckUtils]: 14: Hoare triple {10803#true} [232] L-1-7-->L718: Formula: true InVars {} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_1|, ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_1|, ULTIMATE.start_main_~i~1#1=|v_ULTIMATE.start_main_~i~1#1_1|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_1|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_1|, ULTIMATE.start_main_#t~post4#1=|v_ULTIMATE.start_main_#t~post4#1_1|, ULTIMATE.start_main_#t~mem5#1=|v_ULTIMATE.start_main_#t~mem5#1_1|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1, ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~1#1, ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t~0#1.offset, ULTIMATE.start_main_#t~post4#1, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~mem5#1, ULTIMATE.start_main_~#t~0#1.base, ULTIMATE.start_main_#t~pre2#1] {10803#true} is VALID [2022-02-20 21:00:25,477 INFO L290 TraceCheckUtils]: 13: Hoare triple {10803#true} [256] L-1-6-->L-1-7: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {10803#true} is VALID [2022-02-20 21:00:25,477 INFO L290 TraceCheckUtils]: 12: Hoare triple {10803#true} [236] L-1-5-->L-1-6: Formula: (and (= |v_ULTIMATE.start_#in~argv#1.offset_1| |v_ULTIMATE.start_main_#in~argv#1.offset_1|) (= |v_ULTIMATE.start_main_#in~argv#1.base_1| |v_ULTIMATE.start_#in~argv#1.base_1|) (= |v_ULTIMATE.start_main_#in~argc#1_1| |v_ULTIMATE.start_#in~argc#1_1|)) InVars {ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} OutVars{ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_1|, ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_1|, ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#in~argv#1.base, ULTIMATE.start_main_#in~argc#1, ULTIMATE.start_main_#in~argv#1.offset] {10803#true} is VALID [2022-02-20 21:00:25,477 INFO L290 TraceCheckUtils]: 11: Hoare triple {10803#true} [257] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10803#true} is VALID [2022-02-20 21:00:25,477 INFO L290 TraceCheckUtils]: 10: Hoare triple {10803#true} [274] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10803#true} is VALID [2022-02-20 21:00:25,478 INFO L290 TraceCheckUtils]: 9: Hoare triple {10803#true} [252] L16-5-->L-1-3: Formula: (= v_~x~0_1 0) InVars {} OutVars{~x~0=v_~x~0_1} AuxVars[] AssignedVars[~x~0] {10803#true} is VALID [2022-02-20 21:00:25,478 INFO L290 TraceCheckUtils]: 8: Hoare triple {10803#true} [262] L16-4-->L16-5: Formula: (= (select (select |v_#memory_int_3| 2) 0) 0) InVars {#memory_int=|v_#memory_int_3|} OutVars{#memory_int=|v_#memory_int_3|} AuxVars[] AssignedVars[] {10803#true} is VALID [2022-02-20 21:00:25,478 INFO L290 TraceCheckUtils]: 7: Hoare triple {10803#true} [259] L16-3-->L16-4: Formula: (and (= (select |v_#valid_3| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {10803#true} is VALID [2022-02-20 21:00:25,478 INFO L290 TraceCheckUtils]: 6: Hoare triple {10803#true} [277] L16-2-->L16-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[] {10803#true} is VALID [2022-02-20 21:00:25,478 INFO L290 TraceCheckUtils]: 5: Hoare triple {10803#true} [222] L16-1-->L16-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[] {10803#true} is VALID [2022-02-20 21:00:25,478 INFO L290 TraceCheckUtils]: 4: Hoare triple {10803#true} [254] L16-->L16-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[] {10803#true} is VALID [2022-02-20 21:00:25,478 INFO L290 TraceCheckUtils]: 3: Hoare triple {10803#true} [273] L-1-2-->L16: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {10803#true} is VALID [2022-02-20 21:00:25,478 INFO L290 TraceCheckUtils]: 2: Hoare triple {10803#true} [272] 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[] {10803#true} is VALID [2022-02-20 21:00:25,479 INFO L290 TraceCheckUtils]: 1: Hoare triple {10803#true} [255] 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] {10803#true} is VALID [2022-02-20 21:00:25,479 INFO L290 TraceCheckUtils]: 0: Hoare triple {10803#true} [265] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10803#true} is VALID [2022-02-20 21:00:25,479 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 21:00:25,479 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [598725637] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 21:00:25,479 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 21:00:25,479 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 10 [2022-02-20 21:00:25,479 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1777532377] [2022-02-20 21:00:25,479 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 21:00:25,480 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 5.8) internal successors, (58), 10 states have internal predecessors, (58), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 36 [2022-02-20 21:00:25,480 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:00:25,480 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 5.8) internal successors, (58), 10 states have internal predecessors, (58), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 21:00:25,532 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:00:25,532 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-02-20 21:00:25,532 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:00:25,533 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-02-20 21:00:25,533 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=60, Unknown=0, NotChecked=0, Total=90 [2022-02-20 21:00:25,534 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 55 out of 73 [2022-02-20 21:00:25,535 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 64 places, 55 transitions, 153 flow. Second operand has 10 states, 10 states have (on average 57.3) internal successors, (573), 10 states have internal predecessors, (573), 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 21:00:25,535 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 21:00:25,535 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 55 of 73 [2022-02-20 21:00:25,535 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 21:00:25,662 INFO L129 PetriNetUnfolder]: 14/115 cut-off events. [2022-02-20 21:00:25,663 INFO L130 PetriNetUnfolder]: For 4/4 co-relation queries the response was YES. [2022-02-20 21:00:25,663 INFO L84 FinitePrefix]: Finished finitePrefix Result has 193 conditions, 115 events. 14/115 cut-off events. For 4/4 co-relation queries the response was YES. Maximal size of possible extension queue 10. Compared 230 event pairs, 6 based on Foata normal form. 2/112 useless extension candidates. Maximal degree in co-relation 184. Up to 29 conditions per place. [2022-02-20 21:00:25,664 INFO L132 encePairwiseOnDemand]: 67/73 looper letters, 13 selfloop transitions, 9 changer transitions 0/65 dead transitions. [2022-02-20 21:00:25,664 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 72 places, 65 transitions, 219 flow [2022-02-20 21:00:25,664 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 21:00:25,664 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2022-02-20 21:00:25,670 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 519 transitions. [2022-02-20 21:00:25,671 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.7899543378995434 [2022-02-20 21:00:25,671 INFO L72 ComplementDD]: Start complementDD. Operand 9 states and 519 transitions. [2022-02-20 21:00:25,671 INFO L73 IsDeterministic]: Start isDeterministic. Operand 9 states and 519 transitions. [2022-02-20 21:00:25,672 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 21:00:25,672 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 9 states and 519 transitions. [2022-02-20 21:00:25,673 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 10 states, 9 states have (on average 57.666666666666664) internal successors, (519), 9 states have internal predecessors, (519), 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 21:00:25,674 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 10 states, 10 states have (on average 73.0) internal successors, (730), 10 states have internal predecessors, (730), 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 21:00:25,675 INFO L81 ComplementDD]: Finished complementDD. Result has 10 states, 10 states have (on average 73.0) internal successors, (730), 10 states have internal predecessors, (730), 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 21:00:25,675 INFO L186 Difference]: Start difference. First operand has 64 places, 55 transitions, 153 flow. Second operand 9 states and 519 transitions. [2022-02-20 21:00:25,675 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 72 places, 65 transitions, 219 flow [2022-02-20 21:00:25,739 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 71 places, 65 transitions, 215 flow, removed 0 selfloop flow, removed 1 redundant places. [2022-02-20 21:00:25,741 INFO L242 Difference]: Finished difference. Result has 74 places, 61 transitions, 199 flow [2022-02-20 21:00:25,741 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=73, PETRI_DIFFERENCE_MINUEND_FLOW=149, PETRI_DIFFERENCE_MINUEND_PLACES=63, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=55, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=5, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=49, PETRI_DIFFERENCE_SUBTRAHEND_STATES=9, PETRI_FLOW=199, PETRI_PLACES=74, PETRI_TRANSITIONS=61} [2022-02-20 21:00:25,741 INFO L334 CegarLoopForPetriNet]: 58 programPoint places, 16 predicate places. [2022-02-20 21:00:25,741 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 74 places, 61 transitions, 199 flow [2022-02-20 21:00:25,853 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 3415 states, 3413 states have (on average 3.2953413419279225) internal successors, (11247), 3414 states have internal predecessors, (11247), 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 21:00:25,860 INFO L78 Accepts]: Start accepts. Automaton has has 3415 states, 3413 states have (on average 3.2953413419279225) internal successors, (11247), 3414 states have internal predecessors, (11247), 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 36 [2022-02-20 21:00:25,861 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:00:25,861 INFO L470 AbstractCegarLoop]: Abstraction has has 74 places, 61 transitions, 199 flow [2022-02-20 21:00:25,861 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 57.3) internal successors, (573), 10 states have internal predecessors, (573), 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 21:00:25,861 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:00:25,862 INFO L254 CegarLoopForPetriNet]: trace histogram [4, 4, 4, 4, 3, 3, 3, 3, 3, 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 21:00:25,884 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-02-20 21:00:26,083 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-02-20 21:00:26,084 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr0INUSE_VIOLATION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 21:00:26,084 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:00:26,084 INFO L85 PathProgramCache]: Analyzing trace with hash 176735389, now seen corresponding path program 1 times [2022-02-20 21:00:26,084 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:00:26,084 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1195699473] [2022-02-20 21:00:26,084 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:26,084 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:00:26,104 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 21:00:26,106 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-02-20 21:00:26,115 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 21:00:26,131 INFO L138 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-02-20 21:00:26,131 INFO L628 BasicCegarLoop]: Counterexample is feasible [2022-02-20 21:00:26,131 INFO L764 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0INUSE_VIOLATION (1 of 2 remaining) [2022-02-20 21:00:26,132 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 2 remaining) [2022-02-20 21:00:26,132 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable12 [2022-02-20 21:00:26,133 INFO L732 BasicCegarLoop]: Path program histogram: [1, 1, 1, 1, 1] [2022-02-20 21:00:26,134 WARN L235 ceAbstractionStarter]: 3 thread instances were not sufficient, I will increase this number and restart the analysis [2022-02-20 21:00:26,134 INFO L534 ceAbstractionStarter]: Constructing petrified ICFG for 4 thread instances. [2022-02-20 21:00:26,152 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of4ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,152 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of4ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,152 WARN L322 ript$VariableManager]: TermVariabe threadThread3of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,152 WARN L322 ript$VariableManager]: TermVariabe threadThread3of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,152 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of4ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,153 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of4ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,153 WARN L322 ript$VariableManager]: TermVariabe threadThread3of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,153 WARN L322 ript$VariableManager]: TermVariabe threadThread3of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,153 WARN L322 ript$VariableManager]: TermVariabe threadThread3of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,153 WARN L322 ript$VariableManager]: TermVariabe threadThread3of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,153 WARN L322 ript$VariableManager]: TermVariabe threadThread3of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,153 WARN L322 ript$VariableManager]: TermVariabe threadThread3of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,153 WARN L322 ript$VariableManager]: TermVariabe threadThread3of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,154 WARN L322 ript$VariableManager]: TermVariabe threadThread3of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,154 WARN L322 ript$VariableManager]: TermVariabe threadThread3of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,155 WARN L322 ript$VariableManager]: TermVariabe threadThread3of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,155 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of4ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,155 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of4ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,156 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of4ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,156 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of4ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,156 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of4ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,156 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of4ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,157 WARN L322 ript$VariableManager]: TermVariabe threadThread1of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,157 WARN L322 ript$VariableManager]: TermVariabe threadThread1of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,157 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of4ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,157 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of4ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,157 WARN L322 ript$VariableManager]: TermVariabe threadThread1of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,157 WARN L322 ript$VariableManager]: TermVariabe threadThread1of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,157 WARN L322 ript$VariableManager]: TermVariabe threadThread1of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,158 WARN L322 ript$VariableManager]: TermVariabe threadThread1of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,158 WARN L322 ript$VariableManager]: TermVariabe threadThread1of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,158 WARN L322 ript$VariableManager]: TermVariabe threadThread1of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,158 WARN L322 ript$VariableManager]: TermVariabe threadThread1of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,158 WARN L322 ript$VariableManager]: TermVariabe threadThread1of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,158 WARN L322 ript$VariableManager]: TermVariabe threadThread1of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,158 WARN L322 ript$VariableManager]: TermVariabe threadThread1of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,159 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of4ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,159 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of4ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,159 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of4ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,159 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of4ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,159 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of4ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,159 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of4ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,159 WARN L322 ript$VariableManager]: TermVariabe threadThread2of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,160 WARN L322 ript$VariableManager]: TermVariabe threadThread2of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,160 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of4ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,160 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of4ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,160 WARN L322 ript$VariableManager]: TermVariabe threadThread2of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,160 WARN L322 ript$VariableManager]: TermVariabe threadThread2of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,160 WARN L322 ript$VariableManager]: TermVariabe threadThread2of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,160 WARN L322 ript$VariableManager]: TermVariabe threadThread2of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,161 WARN L322 ript$VariableManager]: TermVariabe threadThread2of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,161 WARN L322 ript$VariableManager]: TermVariabe threadThread2of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,162 WARN L322 ript$VariableManager]: TermVariabe threadThread2of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,162 WARN L322 ript$VariableManager]: TermVariabe threadThread2of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,162 WARN L322 ript$VariableManager]: TermVariabe threadThread2of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,162 WARN L322 ript$VariableManager]: TermVariabe threadThread2of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,162 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of4ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,162 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of4ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,163 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of4ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,163 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of4ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,163 WARN L322 ript$VariableManager]: TermVariabe |threadThread4of4ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,163 WARN L322 ript$VariableManager]: TermVariabe |threadThread4of4ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,163 WARN L322 ript$VariableManager]: TermVariabe threadThread4of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,164 WARN L322 ript$VariableManager]: TermVariabe threadThread4of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,164 WARN L322 ript$VariableManager]: TermVariabe |threadThread4of4ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,164 WARN L322 ript$VariableManager]: TermVariabe |threadThread4of4ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,164 WARN L322 ript$VariableManager]: TermVariabe threadThread4of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,164 WARN L322 ript$VariableManager]: TermVariabe threadThread4of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,164 WARN L322 ript$VariableManager]: TermVariabe threadThread4of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,164 WARN L322 ript$VariableManager]: TermVariabe threadThread4of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,164 WARN L322 ript$VariableManager]: TermVariabe threadThread4of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,165 WARN L322 ript$VariableManager]: TermVariabe threadThread4of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,165 WARN L322 ript$VariableManager]: TermVariabe threadThread4of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,165 WARN L322 ript$VariableManager]: TermVariabe threadThread4of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,165 WARN L322 ript$VariableManager]: TermVariabe threadThread4of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,165 WARN L322 ript$VariableManager]: TermVariabe threadThread4of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,165 WARN L322 ript$VariableManager]: TermVariabe |threadThread4of4ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,165 WARN L322 ript$VariableManager]: TermVariabe |threadThread4of4ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,166 WARN L322 ript$VariableManager]: TermVariabe |threadThread4of4ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,166 WARN L322 ript$VariableManager]: TermVariabe |threadThread4of4ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,166 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of4ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,166 WARN L322 ript$VariableManager]: TermVariabe threadThread1of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,166 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of4ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,166 WARN L322 ript$VariableManager]: TermVariabe threadThread1of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,167 WARN L322 ript$VariableManager]: TermVariabe threadThread1of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,167 WARN L322 ript$VariableManager]: TermVariabe threadThread2of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,167 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of4ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,167 WARN L322 ript$VariableManager]: TermVariabe threadThread2of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,167 WARN L322 ript$VariableManager]: TermVariabe threadThread2of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,167 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of4ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,168 WARN L322 ript$VariableManager]: TermVariabe threadThread3of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,168 WARN L322 ript$VariableManager]: TermVariabe threadThread3of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,168 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of4ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,168 WARN L322 ript$VariableManager]: TermVariabe threadThread3of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,169 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of4ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,169 WARN L322 ript$VariableManager]: TermVariabe |threadThread4of4ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,169 WARN L322 ript$VariableManager]: TermVariabe threadThread4of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,169 WARN L322 ript$VariableManager]: TermVariabe threadThread4of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,169 WARN L322 ript$VariableManager]: TermVariabe |threadThread4of4ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,169 WARN L322 ript$VariableManager]: TermVariabe threadThread4of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:26,181 INFO L148 ThreadInstanceAdder]: Constructed 4 joinOtherThreadTransitions. [2022-02-20 21:00:26,183 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 21:00:26,183 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 21:00:26,183 INFO L340 AbstractCegarLoop]: Starting to check reachability of 2 error locations. [2022-02-20 21:00:26,184 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 82 places, 80 transitions, 204 flow [2022-02-20 21:00:26,228 INFO L129 PetriNetUnfolder]: 47/377 cut-off events. [2022-02-20 21:00:26,228 INFO L130 PetriNetUnfolder]: For 48/48 co-relation queries the response was YES. [2022-02-20 21:00:26,229 INFO L84 FinitePrefix]: Finished finitePrefix Result has 432 conditions, 377 events. 47/377 cut-off events. For 48/48 co-relation queries the response was YES. Maximal size of possible extension queue 10. Compared 1165 event pairs, 6 based on Foata normal form. 0/325 useless extension candidates. Maximal degree in co-relation 242. Up to 32 conditions per place. [2022-02-20 21:00:26,229 INFO L82 GeneralOperation]: Start removeDead. Operand has 82 places, 80 transitions, 204 flow [2022-02-20 21:00:26,230 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 66 places, 58 transitions, 148 flow [2022-02-20 21:00:26,232 INFO L129 PetriNetUnfolder]: 1/26 cut-off events. [2022-02-20 21:00:26,232 INFO L130 PetriNetUnfolder]: For 0/0 co-relation queries the response was YES. [2022-02-20 21:00:26,232 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:00:26,232 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] [2022-02-20 21:00:26,232 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 21:00:26,233 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:00:26,233 INFO L85 PathProgramCache]: Analyzing trace with hash -2143368340, now seen corresponding path program 1 times [2022-02-20 21:00:26,233 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:00:26,233 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1203126598] [2022-02-20 21:00:26,233 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:26,234 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:00:26,243 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:26,257 INFO L290 TraceCheckUtils]: 0: Hoare triple {85#true} [345] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {85#true} is VALID [2022-02-20 21:00:26,257 INFO L290 TraceCheckUtils]: 1: Hoare triple {85#true} [335] 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] {85#true} is VALID [2022-02-20 21:00:26,258 INFO L290 TraceCheckUtils]: 2: Hoare triple {85#true} [352] 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[] {85#true} is VALID [2022-02-20 21:00:26,258 INFO L290 TraceCheckUtils]: 3: Hoare triple {85#true} [353] L-1-2-->L16: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {85#true} is VALID [2022-02-20 21:00:26,258 INFO L290 TraceCheckUtils]: 4: Hoare triple {85#true} [334] L16-->L16-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[] {85#true} is VALID [2022-02-20 21:00:26,258 INFO L290 TraceCheckUtils]: 5: Hoare triple {85#true} [302] L16-1-->L16-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[] {85#true} is VALID [2022-02-20 21:00:26,258 INFO L290 TraceCheckUtils]: 6: Hoare triple {85#true} [357] L16-2-->L16-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[] {85#true} is VALID [2022-02-20 21:00:26,258 INFO L290 TraceCheckUtils]: 7: Hoare triple {85#true} [339] L16-3-->L16-4: Formula: (and (= (select |v_#valid_3| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {85#true} is VALID [2022-02-20 21:00:26,258 INFO L290 TraceCheckUtils]: 8: Hoare triple {85#true} [342] L16-4-->L16-5: Formula: (= (select (select |v_#memory_int_3| 2) 0) 0) InVars {#memory_int=|v_#memory_int_3|} OutVars{#memory_int=|v_#memory_int_3|} AuxVars[] AssignedVars[] {85#true} is VALID [2022-02-20 21:00:26,259 INFO L290 TraceCheckUtils]: 9: Hoare triple {85#true} [332] L16-5-->L-1-3: Formula: (= v_~x~0_1 0) InVars {} OutVars{~x~0=v_~x~0_1} AuxVars[] AssignedVars[~x~0] {85#true} is VALID [2022-02-20 21:00:26,259 INFO L290 TraceCheckUtils]: 10: Hoare triple {85#true} [354] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {85#true} is VALID [2022-02-20 21:00:26,259 INFO L290 TraceCheckUtils]: 11: Hoare triple {85#true} [337] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {85#true} is VALID [2022-02-20 21:00:26,259 INFO L290 TraceCheckUtils]: 12: Hoare triple {85#true} [316] L-1-5-->L-1-6: Formula: (and (= |v_ULTIMATE.start_#in~argv#1.offset_1| |v_ULTIMATE.start_main_#in~argv#1.offset_1|) (= |v_ULTIMATE.start_main_#in~argv#1.base_1| |v_ULTIMATE.start_#in~argv#1.base_1|) (= |v_ULTIMATE.start_main_#in~argc#1_1| |v_ULTIMATE.start_#in~argc#1_1|)) InVars {ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} OutVars{ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_1|, ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_1|, ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#in~argv#1.base, ULTIMATE.start_main_#in~argc#1, ULTIMATE.start_main_#in~argv#1.offset] {85#true} is VALID [2022-02-20 21:00:26,259 INFO L290 TraceCheckUtils]: 13: Hoare triple {85#true} [336] L-1-6-->L-1-7: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {85#true} is VALID [2022-02-20 21:00:26,259 INFO L290 TraceCheckUtils]: 14: Hoare triple {85#true} [312] L-1-7-->L718: Formula: true InVars {} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_1|, ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_1|, ULTIMATE.start_main_~i~1#1=|v_ULTIMATE.start_main_~i~1#1_1|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_1|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_1|, ULTIMATE.start_main_#t~post4#1=|v_ULTIMATE.start_main_#t~post4#1_1|, ULTIMATE.start_main_#t~mem5#1=|v_ULTIMATE.start_main_#t~mem5#1_1|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1, ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~1#1, ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t~0#1.offset, ULTIMATE.start_main_#t~post4#1, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~mem5#1, ULTIMATE.start_main_~#t~0#1.base, ULTIMATE.start_main_#t~pre2#1] {85#true} is VALID [2022-02-20 21:00:26,260 INFO L290 TraceCheckUtils]: 15: Hoare triple {85#true} [321] L718-->L718-1: Formula: (= |v_ULTIMATE.start_main_#in~argc#1_2| |v_ULTIMATE.start_main_~argc#1_2|) InVars {ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_2|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1] {85#true} is VALID [2022-02-20 21:00:26,260 INFO L290 TraceCheckUtils]: 16: Hoare triple {85#true} [358] L718-1-->L719: Formula: (and (= |v_ULTIMATE.start_main_~argv#1.offset_2| |v_ULTIMATE.start_main_#in~argv#1.offset_2|) (= |v_ULTIMATE.start_main_#in~argv#1.base_2| |v_ULTIMATE.start_main_~argv#1.base_2|)) InVars {ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|} OutVars{ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~argv#1.offset] {85#true} is VALID [2022-02-20 21:00:26,260 INFO L290 TraceCheckUtils]: 17: Hoare triple {85#true} [304] L719-->L719-1: Formula: (and (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 24)) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) 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_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] {85#true} is VALID [2022-02-20 21:00:26,260 INFO L290 TraceCheckUtils]: 18: Hoare triple {85#true} [343] L719-1-->L722: Formula: (= v_~x~0_2 0) InVars {} OutVars{~x~0=v_~x~0_2} AuxVars[] AssignedVars[~x~0] {85#true} is VALID [2022-02-20 21:00:26,261 INFO L290 TraceCheckUtils]: 19: Hoare triple {85#true} [355] L722-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 1) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {87#(= 0 (+ (- 1) |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 21:00:26,261 INFO L290 TraceCheckUtils]: 20: Hoare triple {87#(= 0 (+ (- 1) |ULTIMATE.start_main_~i~0#1|))} [323] L723-5-->L723-6: Formula: (not (<= |v_ULTIMATE.start_main_~i~0#1_3| 5)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} AuxVars[] AssignedVars[] {86#false} is VALID [2022-02-20 21:00:26,261 INFO L290 TraceCheckUtils]: 21: Hoare triple {86#false} [307] L723-6-->L727: Formula: (not (< v_~x~0_4 6)) InVars {~x~0=v_~x~0_4} OutVars{~x~0=v_~x~0_4} AuxVars[] AssignedVars[] {86#false} is VALID [2022-02-20 21:00:26,261 INFO L290 TraceCheckUtils]: 22: Hoare triple {86#false} [314] L727-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {86#false} is VALID [2022-02-20 21:00:26,262 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 21:00:26,262 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:00:26,262 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1203126598] [2022-02-20 21:00:26,262 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1203126598] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:00:26,262 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 21:00:26,262 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 21:00:26,264 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1079820078] [2022-02-20 21:00:26,264 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:00:26,264 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 7.666666666666667) internal successors, (23), 3 states have internal predecessors, (23), 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 23 [2022-02-20 21:00:26,265 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:00:26,265 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 7.666666666666667) internal successors, (23), 3 states have internal predecessors, (23), 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 21:00:26,278 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 23 edges. 23 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:00:26,279 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 21:00:26,279 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:00:26,279 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 21:00:26,279 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 21:00:26,280 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 61 out of 80 [2022-02-20 21:00:26,280 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 66 places, 58 transitions, 148 flow. Second operand has 3 states, 3 states have (on average 62.0) internal successors, (186), 3 states have internal predecessors, (186), 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 21:00:26,280 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 21:00:26,280 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 61 of 80 [2022-02-20 21:00:26,280 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 21:00:26,350 INFO L129 PetriNetUnfolder]: 0/97 cut-off events. [2022-02-20 21:00:26,350 INFO L130 PetriNetUnfolder]: For 16/16 co-relation queries the response was YES. [2022-02-20 21:00:26,351 INFO L84 FinitePrefix]: Finished finitePrefix Result has 149 conditions, 97 events. 0/97 cut-off events. For 16/16 co-relation queries the response was YES. Maximal size of possible extension queue 3. Compared 68 event pairs, 0 based on Foata normal form. 0/93 useless extension candidates. Maximal degree in co-relation 0. Up to 24 conditions per place. [2022-02-20 21:00:26,351 INFO L132 encePairwiseOnDemand]: 76/80 looper letters, 13 selfloop transitions, 2 changer transitions 0/61 dead transitions. [2022-02-20 21:00:26,351 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 68 places, 61 transitions, 184 flow [2022-02-20 21:00:26,351 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 21:00:26,351 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2022-02-20 21:00:26,354 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 201 transitions. [2022-02-20 21:00:26,354 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.8375 [2022-02-20 21:00:26,354 INFO L72 ComplementDD]: Start complementDD. Operand 3 states and 201 transitions. [2022-02-20 21:00:26,355 INFO L73 IsDeterministic]: Start isDeterministic. Operand 3 states and 201 transitions. [2022-02-20 21:00:26,355 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 21:00:26,355 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 3 states and 201 transitions. [2022-02-20 21:00:26,355 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 4 states, 3 states have (on average 67.0) internal successors, (201), 3 states have internal predecessors, (201), 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 21:00:26,356 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 4 states, 4 states have (on average 80.0) internal successors, (320), 4 states have internal predecessors, (320), 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 21:00:26,356 INFO L81 ComplementDD]: Finished complementDD. Result has 4 states, 4 states have (on average 80.0) internal successors, (320), 4 states have internal predecessors, (320), 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 21:00:26,356 INFO L186 Difference]: Start difference. First operand has 66 places, 58 transitions, 148 flow. Second operand 3 states and 201 transitions. [2022-02-20 21:00:26,356 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 68 places, 61 transitions, 184 flow [2022-02-20 21:00:26,357 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 68 places, 61 transitions, 172 flow, removed 6 selfloop flow, removed 0 redundant places. [2022-02-20 21:00:26,358 INFO L242 Difference]: Finished difference. Result has 69 places, 58 transitions, 146 flow [2022-02-20 21:00:26,358 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=80, PETRI_DIFFERENCE_MINUEND_FLOW=134, PETRI_DIFFERENCE_MINUEND_PLACES=66, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=57, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=55, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=146, PETRI_PLACES=69, PETRI_TRANSITIONS=58} [2022-02-20 21:00:26,359 INFO L334 CegarLoopForPetriNet]: 66 programPoint places, 3 predicate places. [2022-02-20 21:00:26,359 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 69 places, 58 transitions, 146 flow [2022-02-20 21:00:26,931 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 21523 states, 21518 states have (on average 4.116181801282647) internal successors, (88572), 21522 states have internal predecessors, (88572), 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 21:00:26,994 INFO L78 Accepts]: Start accepts. Automaton has has 21523 states, 21518 states have (on average 4.116181801282647) internal successors, (88572), 21522 states have internal predecessors, (88572), 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 23 [2022-02-20 21:00:26,994 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:00:26,995 INFO L470 AbstractCegarLoop]: Abstraction has has 69 places, 58 transitions, 146 flow [2022-02-20 21:00:26,995 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 62.0) internal successors, (186), 3 states have internal predecessors, (186), 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 21:00:26,995 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:00:26,995 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] [2022-02-20 21:00:26,995 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable13 [2022-02-20 21:00:26,995 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 21:00:26,996 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:00:26,996 INFO L85 PathProgramCache]: Analyzing trace with hash -184146753, now seen corresponding path program 1 times [2022-02-20 21:00:26,996 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:00:26,996 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1632285317] [2022-02-20 21:00:26,996 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:26,996 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:00:27,006 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:27,021 INFO L290 TraceCheckUtils]: 0: Hoare triple {21614#true} [345] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {21614#true} is VALID [2022-02-20 21:00:27,022 INFO L290 TraceCheckUtils]: 1: Hoare triple {21614#true} [335] 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] {21614#true} is VALID [2022-02-20 21:00:27,022 INFO L290 TraceCheckUtils]: 2: Hoare triple {21614#true} [352] 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[] {21614#true} is VALID [2022-02-20 21:00:27,022 INFO L290 TraceCheckUtils]: 3: Hoare triple {21614#true} [353] L-1-2-->L16: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {21614#true} is VALID [2022-02-20 21:00:27,022 INFO L290 TraceCheckUtils]: 4: Hoare triple {21614#true} [334] L16-->L16-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[] {21614#true} is VALID [2022-02-20 21:00:27,022 INFO L290 TraceCheckUtils]: 5: Hoare triple {21614#true} [302] L16-1-->L16-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[] {21614#true} is VALID [2022-02-20 21:00:27,023 INFO L290 TraceCheckUtils]: 6: Hoare triple {21614#true} [357] L16-2-->L16-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[] {21614#true} is VALID [2022-02-20 21:00:27,023 INFO L290 TraceCheckUtils]: 7: Hoare triple {21614#true} [339] L16-3-->L16-4: Formula: (and (= (select |v_#valid_3| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {21614#true} is VALID [2022-02-20 21:00:27,023 INFO L290 TraceCheckUtils]: 8: Hoare triple {21614#true} [342] L16-4-->L16-5: Formula: (= (select (select |v_#memory_int_3| 2) 0) 0) InVars {#memory_int=|v_#memory_int_3|} OutVars{#memory_int=|v_#memory_int_3|} AuxVars[] AssignedVars[] {21614#true} is VALID [2022-02-20 21:00:27,023 INFO L290 TraceCheckUtils]: 9: Hoare triple {21614#true} [332] L16-5-->L-1-3: Formula: (= v_~x~0_1 0) InVars {} OutVars{~x~0=v_~x~0_1} AuxVars[] AssignedVars[~x~0] {21614#true} is VALID [2022-02-20 21:00:27,023 INFO L290 TraceCheckUtils]: 10: Hoare triple {21614#true} [354] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {21614#true} is VALID [2022-02-20 21:00:27,024 INFO L290 TraceCheckUtils]: 11: Hoare triple {21614#true} [337] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {21614#true} is VALID [2022-02-20 21:00:27,024 INFO L290 TraceCheckUtils]: 12: Hoare triple {21614#true} [316] L-1-5-->L-1-6: Formula: (and (= |v_ULTIMATE.start_#in~argv#1.offset_1| |v_ULTIMATE.start_main_#in~argv#1.offset_1|) (= |v_ULTIMATE.start_main_#in~argv#1.base_1| |v_ULTIMATE.start_#in~argv#1.base_1|) (= |v_ULTIMATE.start_main_#in~argc#1_1| |v_ULTIMATE.start_#in~argc#1_1|)) InVars {ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} OutVars{ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_1|, ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_1|, ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#in~argv#1.base, ULTIMATE.start_main_#in~argc#1, ULTIMATE.start_main_#in~argv#1.offset] {21614#true} is VALID [2022-02-20 21:00:27,024 INFO L290 TraceCheckUtils]: 13: Hoare triple {21614#true} [336] L-1-6-->L-1-7: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {21614#true} is VALID [2022-02-20 21:00:27,024 INFO L290 TraceCheckUtils]: 14: Hoare triple {21614#true} [312] L-1-7-->L718: Formula: true InVars {} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_1|, ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_1|, ULTIMATE.start_main_~i~1#1=|v_ULTIMATE.start_main_~i~1#1_1|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_1|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_1|, ULTIMATE.start_main_#t~post4#1=|v_ULTIMATE.start_main_#t~post4#1_1|, ULTIMATE.start_main_#t~mem5#1=|v_ULTIMATE.start_main_#t~mem5#1_1|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1, ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~1#1, ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t~0#1.offset, ULTIMATE.start_main_#t~post4#1, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~mem5#1, ULTIMATE.start_main_~#t~0#1.base, ULTIMATE.start_main_#t~pre2#1] {21614#true} is VALID [2022-02-20 21:00:27,024 INFO L290 TraceCheckUtils]: 15: Hoare triple {21614#true} [321] L718-->L718-1: Formula: (= |v_ULTIMATE.start_main_#in~argc#1_2| |v_ULTIMATE.start_main_~argc#1_2|) InVars {ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_2|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1] {21614#true} is VALID [2022-02-20 21:00:27,025 INFO L290 TraceCheckUtils]: 16: Hoare triple {21614#true} [358] L718-1-->L719: Formula: (and (= |v_ULTIMATE.start_main_~argv#1.offset_2| |v_ULTIMATE.start_main_#in~argv#1.offset_2|) (= |v_ULTIMATE.start_main_#in~argv#1.base_2| |v_ULTIMATE.start_main_~argv#1.base_2|)) InVars {ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|} OutVars{ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~argv#1.offset] {21614#true} is VALID [2022-02-20 21:00:27,025 INFO L290 TraceCheckUtils]: 17: Hoare triple {21614#true} [304] L719-->L719-1: Formula: (and (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 24)) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) 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_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] {21614#true} is VALID [2022-02-20 21:00:27,025 INFO L290 TraceCheckUtils]: 18: Hoare triple {21614#true} [343] L719-1-->L722: Formula: (= v_~x~0_2 0) InVars {} OutVars{~x~0=v_~x~0_2} AuxVars[] AssignedVars[~x~0] {21616#(= ~x~0 0)} is VALID [2022-02-20 21:00:27,026 INFO L290 TraceCheckUtils]: 19: Hoare triple {21616#(= ~x~0 0)} [355] L722-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 1) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {21616#(= ~x~0 0)} is VALID [2022-02-20 21:00:27,026 INFO L290 TraceCheckUtils]: 20: Hoare triple {21616#(= ~x~0 0)} [324] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 5) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] {21616#(= ~x~0 0)} is VALID [2022-02-20 21:00:27,026 INFO L290 TraceCheckUtils]: 21: Hoare triple {21616#(= ~x~0 0)} [320] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] {21616#(= ~x~0 0)} is VALID [2022-02-20 21:00:27,027 INFO L290 TraceCheckUtils]: 22: Hoare triple {21616#(= ~x~0 0)} [346] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {21616#(= ~x~0 0)} is VALID [2022-02-20 21:00:27,027 INFO L290 TraceCheckUtils]: 23: Hoare triple {21616#(= ~x~0 0)} [311] L724-2-->L724-3: Formula: (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| (* |v_ULTIMATE.start_main_~i~0#1_5| 4)) |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|) InVars {#memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{#memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] {21616#(= ~x~0 0)} is VALID [2022-02-20 21:00:27,028 INFO L290 TraceCheckUtils]: 24: Hoare triple {21616#(= ~x~0 0)} [381] L724-3-->threadENTRY: Formula: (and (= |v_ULTIMATE.start_main_~i~0#1_25| |v_threadThread1of4ForFork0_#in~arg.offset_4|) (= |v_threadThread1of4ForFork0_#in~arg.base_4| 0) (= v_threadThread1of4ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_22|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_25|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_22|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_25|, threadThread1of4ForFork0_#res.base=|v_threadThread1of4ForFork0_#res.base_4|, threadThread1of4ForFork0_~arg.offset=v_threadThread1of4ForFork0_~arg.offset_6, threadThread1of4ForFork0_#res.offset=|v_threadThread1of4ForFork0_#res.offset_4|, threadThread1of4ForFork0_~arg.base=v_threadThread1of4ForFork0_~arg.base_6, threadThread1of4ForFork0_~thread~0=v_threadThread1of4ForFork0_~thread~0_6, threadThread1of4ForFork0_thidvar0=v_threadThread1of4ForFork0_thidvar0_2, threadThread1of4ForFork0_#in~arg.offset=|v_threadThread1of4ForFork0_#in~arg.offset_4|, threadThread1of4ForFork0_#in~arg.base=|v_threadThread1of4ForFork0_#in~arg.base_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_22|} AuxVars[] AssignedVars[threadThread1of4ForFork0_#res.base, threadThread1of4ForFork0_~arg.offset, threadThread1of4ForFork0_#res.offset, threadThread1of4ForFork0_~arg.base, threadThread1of4ForFork0_~thread~0, threadThread1of4ForFork0_thidvar0, threadThread1of4ForFork0_#in~arg.offset, threadThread1of4ForFork0_#in~arg.base] {21616#(= ~x~0 0)} is VALID [2022-02-20 21:00:27,028 INFO L290 TraceCheckUtils]: 25: Hoare triple {21616#(= ~x~0 0)} [356] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] {21616#(= ~x~0 0)} is VALID [2022-02-20 21:00:27,028 INFO L290 TraceCheckUtils]: 26: Hoare triple {21616#(= ~x~0 0)} [309] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] {21616#(= ~x~0 0)} is VALID [2022-02-20 21:00:27,029 INFO L290 TraceCheckUtils]: 27: Hoare triple {21616#(= ~x~0 0)} [338] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] {21616#(= ~x~0 0)} is VALID [2022-02-20 21:00:27,029 INFO L290 TraceCheckUtils]: 28: Hoare triple {21616#(= ~x~0 0)} [317] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {21616#(= ~x~0 0)} is VALID [2022-02-20 21:00:27,030 INFO L290 TraceCheckUtils]: 29: Hoare triple {21616#(= ~x~0 0)} [333] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] {21616#(= ~x~0 0)} is VALID [2022-02-20 21:00:27,030 INFO L290 TraceCheckUtils]: 30: Hoare triple {21616#(= ~x~0 0)} [323] L723-5-->L723-6: Formula: (not (<= |v_ULTIMATE.start_main_~i~0#1_3| 5)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} AuxVars[] AssignedVars[] {21616#(= ~x~0 0)} is VALID [2022-02-20 21:00:27,030 INFO L290 TraceCheckUtils]: 31: Hoare triple {21616#(= ~x~0 0)} [307] L723-6-->L727: Formula: (not (< v_~x~0_4 6)) InVars {~x~0=v_~x~0_4} OutVars{~x~0=v_~x~0_4} AuxVars[] AssignedVars[] {21615#false} is VALID [2022-02-20 21:00:27,031 INFO L290 TraceCheckUtils]: 32: Hoare triple {21615#false} [314] L727-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {21615#false} is VALID [2022-02-20 21:00:27,031 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 21:00:27,031 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:00:27,031 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1632285317] [2022-02-20 21:00:27,032 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1632285317] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:00:27,032 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 21:00:27,032 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 21:00:27,032 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [528898723] [2022-02-20 21:00:27,032 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:00:27,033 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 11.0) internal successors, (33), 3 states have internal predecessors, (33), 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 33 [2022-02-20 21:00:27,033 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:00:27,033 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 11.0) internal successors, (33), 3 states have internal predecessors, (33), 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 21:00:27,056 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:00:27,057 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 21:00:27,057 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:00:27,057 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 21:00:27,057 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 21:00:27,058 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 60 out of 80 [2022-02-20 21:00:27,058 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 69 places, 58 transitions, 146 flow. Second operand has 3 states, 3 states have (on average 61.333333333333336) internal successors, (184), 3 states have internal predecessors, (184), 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 21:00:27,059 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 21:00:27,059 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 60 of 80 [2022-02-20 21:00:27,059 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 21:00:27,121 INFO L129 PetriNetUnfolder]: 73/359 cut-off events. [2022-02-20 21:00:27,122 INFO L130 PetriNetUnfolder]: For 44/44 co-relation queries the response was YES. [2022-02-20 21:00:27,123 INFO L84 FinitePrefix]: Finished finitePrefix Result has 568 conditions, 359 events. 73/359 cut-off events. For 44/44 co-relation queries the response was YES. Maximal size of possible extension queue 23. Compared 1623 event pairs, 35 based on Foata normal form. 4/348 useless extension candidates. Maximal degree in co-relation 523. Up to 126 conditions per place. [2022-02-20 21:00:27,125 INFO L132 encePairwiseOnDemand]: 74/80 looper letters, 13 selfloop transitions, 5 changer transitions 0/65 dead transitions. [2022-02-20 21:00:27,125 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 71 places, 65 transitions, 211 flow [2022-02-20 21:00:27,126 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 21:00:27,126 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2022-02-20 21:00:27,128 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 199 transitions. [2022-02-20 21:00:27,129 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.8291666666666667 [2022-02-20 21:00:27,129 INFO L72 ComplementDD]: Start complementDD. Operand 3 states and 199 transitions. [2022-02-20 21:00:27,129 INFO L73 IsDeterministic]: Start isDeterministic. Operand 3 states and 199 transitions. [2022-02-20 21:00:27,129 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 21:00:27,129 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 3 states and 199 transitions. [2022-02-20 21:00:27,130 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 4 states, 3 states have (on average 66.33333333333333) internal successors, (199), 3 states have internal predecessors, (199), 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 21:00:27,130 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 4 states, 4 states have (on average 80.0) internal successors, (320), 4 states have internal predecessors, (320), 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 21:00:27,131 INFO L81 ComplementDD]: Finished complementDD. Result has 4 states, 4 states have (on average 80.0) internal successors, (320), 4 states have internal predecessors, (320), 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 21:00:27,131 INFO L186 Difference]: Start difference. First operand has 69 places, 58 transitions, 146 flow. Second operand 3 states and 199 transitions. [2022-02-20 21:00:27,131 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 71 places, 65 transitions, 211 flow [2022-02-20 21:00:27,135 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 70 places, 65 transitions, 209 flow, removed 0 selfloop flow, removed 1 redundant places. [2022-02-20 21:00:27,136 INFO L242 Difference]: Finished difference. Result has 71 places, 62 transitions, 177 flow [2022-02-20 21:00:27,136 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=80, PETRI_DIFFERENCE_MINUEND_FLOW=144, PETRI_DIFFERENCE_MINUEND_PLACES=68, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=58, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=53, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=177, PETRI_PLACES=71, PETRI_TRANSITIONS=62} [2022-02-20 21:00:27,137 INFO L334 CegarLoopForPetriNet]: 66 programPoint places, 5 predicate places. [2022-02-20 21:00:27,137 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 71 places, 62 transitions, 177 flow [2022-02-20 21:00:27,790 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 21283 states, 21278 states have (on average 4.1112886549487735) internal successors, (87480), 21282 states have internal predecessors, (87480), 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 21:00:27,856 INFO L78 Accepts]: Start accepts. Automaton has has 21283 states, 21278 states have (on average 4.1112886549487735) internal successors, (87480), 21282 states have internal predecessors, (87480), 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 33 [2022-02-20 21:00:27,857 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:00:27,857 INFO L470 AbstractCegarLoop]: Abstraction has has 71 places, 62 transitions, 177 flow [2022-02-20 21:00:27,857 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 61.333333333333336) internal successors, (184), 3 states have internal predecessors, (184), 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 21:00:27,857 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:00:27,858 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] [2022-02-20 21:00:27,858 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable14 [2022-02-20 21:00:27,858 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 21:00:27,858 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:00:27,859 INFO L85 PathProgramCache]: Analyzing trace with hash -1187205763, now seen corresponding path program 1 times [2022-02-20 21:00:27,859 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:00:27,859 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1122180300] [2022-02-20 21:00:27,859 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:27,859 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:00:27,870 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:27,920 INFO L290 TraceCheckUtils]: 0: Hoare triple {42903#true} [345] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {42903#true} is VALID [2022-02-20 21:00:27,920 INFO L290 TraceCheckUtils]: 1: Hoare triple {42903#true} [335] 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] {42903#true} is VALID [2022-02-20 21:00:27,920 INFO L290 TraceCheckUtils]: 2: Hoare triple {42903#true} [352] 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[] {42903#true} is VALID [2022-02-20 21:00:27,920 INFO L290 TraceCheckUtils]: 3: Hoare triple {42903#true} [353] L-1-2-->L16: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {42903#true} is VALID [2022-02-20 21:00:27,921 INFO L290 TraceCheckUtils]: 4: Hoare triple {42903#true} [334] L16-->L16-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[] {42903#true} is VALID [2022-02-20 21:00:27,921 INFO L290 TraceCheckUtils]: 5: Hoare triple {42903#true} [302] L16-1-->L16-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[] {42903#true} is VALID [2022-02-20 21:00:27,921 INFO L290 TraceCheckUtils]: 6: Hoare triple {42903#true} [357] L16-2-->L16-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[] {42903#true} is VALID [2022-02-20 21:00:27,921 INFO L290 TraceCheckUtils]: 7: Hoare triple {42903#true} [339] L16-3-->L16-4: Formula: (and (= (select |v_#valid_3| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {42903#true} is VALID [2022-02-20 21:00:27,921 INFO L290 TraceCheckUtils]: 8: Hoare triple {42903#true} [342] L16-4-->L16-5: Formula: (= (select (select |v_#memory_int_3| 2) 0) 0) InVars {#memory_int=|v_#memory_int_3|} OutVars{#memory_int=|v_#memory_int_3|} AuxVars[] AssignedVars[] {42903#true} is VALID [2022-02-20 21:00:27,922 INFO L290 TraceCheckUtils]: 9: Hoare triple {42903#true} [332] L16-5-->L-1-3: Formula: (= v_~x~0_1 0) InVars {} OutVars{~x~0=v_~x~0_1} AuxVars[] AssignedVars[~x~0] {42903#true} is VALID [2022-02-20 21:00:27,922 INFO L290 TraceCheckUtils]: 10: Hoare triple {42903#true} [354] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {42903#true} is VALID [2022-02-20 21:00:27,922 INFO L290 TraceCheckUtils]: 11: Hoare triple {42903#true} [337] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {42903#true} is VALID [2022-02-20 21:00:27,922 INFO L290 TraceCheckUtils]: 12: Hoare triple {42903#true} [316] L-1-5-->L-1-6: Formula: (and (= |v_ULTIMATE.start_#in~argv#1.offset_1| |v_ULTIMATE.start_main_#in~argv#1.offset_1|) (= |v_ULTIMATE.start_main_#in~argv#1.base_1| |v_ULTIMATE.start_#in~argv#1.base_1|) (= |v_ULTIMATE.start_main_#in~argc#1_1| |v_ULTIMATE.start_#in~argc#1_1|)) InVars {ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} OutVars{ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_1|, ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_1|, ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#in~argv#1.base, ULTIMATE.start_main_#in~argc#1, ULTIMATE.start_main_#in~argv#1.offset] {42903#true} is VALID [2022-02-20 21:00:27,922 INFO L290 TraceCheckUtils]: 13: Hoare triple {42903#true} [336] L-1-6-->L-1-7: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {42903#true} is VALID [2022-02-20 21:00:27,922 INFO L290 TraceCheckUtils]: 14: Hoare triple {42903#true} [312] L-1-7-->L718: Formula: true InVars {} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_1|, ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_1|, ULTIMATE.start_main_~i~1#1=|v_ULTIMATE.start_main_~i~1#1_1|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_1|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_1|, ULTIMATE.start_main_#t~post4#1=|v_ULTIMATE.start_main_#t~post4#1_1|, ULTIMATE.start_main_#t~mem5#1=|v_ULTIMATE.start_main_#t~mem5#1_1|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1, ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~1#1, ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t~0#1.offset, ULTIMATE.start_main_#t~post4#1, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~mem5#1, ULTIMATE.start_main_~#t~0#1.base, ULTIMATE.start_main_#t~pre2#1] {42903#true} is VALID [2022-02-20 21:00:27,925 INFO L290 TraceCheckUtils]: 15: Hoare triple {42903#true} [321] L718-->L718-1: Formula: (= |v_ULTIMATE.start_main_#in~argc#1_2| |v_ULTIMATE.start_main_~argc#1_2|) InVars {ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_2|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1] {42903#true} is VALID [2022-02-20 21:00:27,925 INFO L290 TraceCheckUtils]: 16: Hoare triple {42903#true} [358] L718-1-->L719: Formula: (and (= |v_ULTIMATE.start_main_~argv#1.offset_2| |v_ULTIMATE.start_main_#in~argv#1.offset_2|) (= |v_ULTIMATE.start_main_#in~argv#1.base_2| |v_ULTIMATE.start_main_~argv#1.base_2|)) InVars {ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|} OutVars{ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~argv#1.offset] {42903#true} is VALID [2022-02-20 21:00:27,925 INFO L290 TraceCheckUtils]: 17: Hoare triple {42903#true} [304] L719-->L719-1: Formula: (and (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 24)) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) 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_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] {42903#true} is VALID [2022-02-20 21:00:27,926 INFO L290 TraceCheckUtils]: 18: Hoare triple {42903#true} [343] L719-1-->L722: Formula: (= v_~x~0_2 0) InVars {} OutVars{~x~0=v_~x~0_2} AuxVars[] AssignedVars[~x~0] {42903#true} is VALID [2022-02-20 21:00:27,931 INFO L290 TraceCheckUtils]: 19: Hoare triple {42903#true} [355] L722-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 1) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {42905#(= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:27,932 INFO L290 TraceCheckUtils]: 20: Hoare triple {42905#(= |ULTIMATE.start_main_~i~0#1| 1)} [324] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 5) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] {42905#(= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:27,932 INFO L290 TraceCheckUtils]: 21: Hoare triple {42905#(= |ULTIMATE.start_main_~i~0#1| 1)} [320] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] {42905#(= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:27,933 INFO L290 TraceCheckUtils]: 22: Hoare triple {42905#(= |ULTIMATE.start_main_~i~0#1| 1)} [346] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {42905#(= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:27,934 INFO L290 TraceCheckUtils]: 23: Hoare triple {42905#(= |ULTIMATE.start_main_~i~0#1| 1)} [311] L724-2-->L724-3: Formula: (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| (* |v_ULTIMATE.start_main_~i~0#1_5| 4)) |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|) InVars {#memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{#memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] {42905#(= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:27,934 INFO L290 TraceCheckUtils]: 24: Hoare triple {42905#(= |ULTIMATE.start_main_~i~0#1| 1)} [381] L724-3-->threadENTRY: Formula: (and (= |v_ULTIMATE.start_main_~i~0#1_25| |v_threadThread1of4ForFork0_#in~arg.offset_4|) (= |v_threadThread1of4ForFork0_#in~arg.base_4| 0) (= v_threadThread1of4ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_22|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_25|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_22|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_25|, threadThread1of4ForFork0_#res.base=|v_threadThread1of4ForFork0_#res.base_4|, threadThread1of4ForFork0_~arg.offset=v_threadThread1of4ForFork0_~arg.offset_6, threadThread1of4ForFork0_#res.offset=|v_threadThread1of4ForFork0_#res.offset_4|, threadThread1of4ForFork0_~arg.base=v_threadThread1of4ForFork0_~arg.base_6, threadThread1of4ForFork0_~thread~0=v_threadThread1of4ForFork0_~thread~0_6, threadThread1of4ForFork0_thidvar0=v_threadThread1of4ForFork0_thidvar0_2, threadThread1of4ForFork0_#in~arg.offset=|v_threadThread1of4ForFork0_#in~arg.offset_4|, threadThread1of4ForFork0_#in~arg.base=|v_threadThread1of4ForFork0_#in~arg.base_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_22|} AuxVars[] AssignedVars[threadThread1of4ForFork0_#res.base, threadThread1of4ForFork0_~arg.offset, threadThread1of4ForFork0_#res.offset, threadThread1of4ForFork0_~arg.base, threadThread1of4ForFork0_~thread~0, threadThread1of4ForFork0_thidvar0, threadThread1of4ForFork0_#in~arg.offset, threadThread1of4ForFork0_#in~arg.base] {42905#(= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:27,935 INFO L290 TraceCheckUtils]: 25: Hoare triple {42905#(= |ULTIMATE.start_main_~i~0#1| 1)} [356] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] {42905#(= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:27,935 INFO L290 TraceCheckUtils]: 26: Hoare triple {42905#(= |ULTIMATE.start_main_~i~0#1| 1)} [309] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] {42905#(= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:27,935 INFO L290 TraceCheckUtils]: 27: Hoare triple {42905#(= |ULTIMATE.start_main_~i~0#1| 1)} [338] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] {42906#(= (+ (- 1) |ULTIMATE.start_main_#t~post1#1|) 0)} is VALID [2022-02-20 21:00:27,936 INFO L290 TraceCheckUtils]: 28: Hoare triple {42906#(= (+ (- 1) |ULTIMATE.start_main_#t~post1#1|) 0)} [317] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {42907#(<= |ULTIMATE.start_main_~i~0#1| 2)} is VALID [2022-02-20 21:00:27,936 INFO L290 TraceCheckUtils]: 29: Hoare triple {42907#(<= |ULTIMATE.start_main_~i~0#1| 2)} [333] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] {42907#(<= |ULTIMATE.start_main_~i~0#1| 2)} is VALID [2022-02-20 21:00:27,937 INFO L290 TraceCheckUtils]: 30: Hoare triple {42907#(<= |ULTIMATE.start_main_~i~0#1| 2)} [323] L723-5-->L723-6: Formula: (not (<= |v_ULTIMATE.start_main_~i~0#1_3| 5)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} AuxVars[] AssignedVars[] {42904#false} is VALID [2022-02-20 21:00:27,937 INFO L290 TraceCheckUtils]: 31: Hoare triple {42904#false} [365] threadENTRY-->L712: Formula: (and (= |v_threadThread1of4ForFork0_#in~arg.offset_1| v_threadThread1of4ForFork0_~arg.offset_1) (= v_threadThread1of4ForFork0_~arg.base_1 |v_threadThread1of4ForFork0_#in~arg.base_1|)) InVars {threadThread1of4ForFork0_#in~arg.base=|v_threadThread1of4ForFork0_#in~arg.base_1|, threadThread1of4ForFork0_#in~arg.offset=|v_threadThread1of4ForFork0_#in~arg.offset_1|} OutVars{threadThread1of4ForFork0_#in~arg.offset=|v_threadThread1of4ForFork0_#in~arg.offset_1|, threadThread1of4ForFork0_~arg.base=v_threadThread1of4ForFork0_~arg.base_1, threadThread1of4ForFork0_#in~arg.base=|v_threadThread1of4ForFork0_#in~arg.base_1|, threadThread1of4ForFork0_~arg.offset=v_threadThread1of4ForFork0_~arg.offset_1} AuxVars[] AssignedVars[threadThread1of4ForFork0_~arg.offset, threadThread1of4ForFork0_~arg.base] {42904#false} is VALID [2022-02-20 21:00:27,937 INFO L290 TraceCheckUtils]: 32: Hoare triple {42904#false} [366] L712-->L713: Formula: (= v_threadThread1of4ForFork0_~thread~0_1 (+ v_threadThread1of4ForFork0_~arg.base_3 v_threadThread1of4ForFork0_~arg.offset_3)) InVars {threadThread1of4ForFork0_~arg.offset=v_threadThread1of4ForFork0_~arg.offset_3, threadThread1of4ForFork0_~arg.base=v_threadThread1of4ForFork0_~arg.base_3} OutVars{threadThread1of4ForFork0_~arg.base=v_threadThread1of4ForFork0_~arg.base_3, threadThread1of4ForFork0_~thread~0=v_threadThread1of4ForFork0_~thread~0_1, threadThread1of4ForFork0_~arg.offset=v_threadThread1of4ForFork0_~arg.offset_3} AuxVars[] AssignedVars[threadThread1of4ForFork0_~thread~0] {42904#false} is VALID [2022-02-20 21:00:27,937 INFO L290 TraceCheckUtils]: 33: Hoare triple {42904#false} [367] L713-->L715: Formula: (= v_threadThread1of4ForFork0_~thread~0_3 v_~x~0_5) InVars {threadThread1of4ForFork0_~thread~0=v_threadThread1of4ForFork0_~thread~0_3} OutVars{~x~0=v_~x~0_5, threadThread1of4ForFork0_~thread~0=v_threadThread1of4ForFork0_~thread~0_3} AuxVars[] AssignedVars[~x~0] {42904#false} is VALID [2022-02-20 21:00:27,938 INFO L290 TraceCheckUtils]: 34: Hoare triple {42904#false} [307] L723-6-->L727: Formula: (not (< v_~x~0_4 6)) InVars {~x~0=v_~x~0_4} OutVars{~x~0=v_~x~0_4} AuxVars[] AssignedVars[] {42904#false} is VALID [2022-02-20 21:00:27,938 INFO L290 TraceCheckUtils]: 35: Hoare triple {42904#false} [314] L727-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {42904#false} is VALID [2022-02-20 21:00:27,938 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 21:00:27,939 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:00:27,939 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1122180300] [2022-02-20 21:00:27,939 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1122180300] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 21:00:27,940 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1768269873] [2022-02-20 21:00:27,940 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:27,940 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 21:00:27,940 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 21:00:27,984 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 21:00:27,985 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-02-20 21:00:28,041 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:28,042 INFO L263 TraceCheckSpWp]: Trace formula consists of 91 conjuncts, 4 conjunts are in the unsatisfiable core [2022-02-20 21:00:28,051 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:28,052 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 21:00:28,188 INFO L290 TraceCheckUtils]: 0: Hoare triple {42903#true} [345] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {42903#true} is VALID [2022-02-20 21:00:28,189 INFO L290 TraceCheckUtils]: 1: Hoare triple {42903#true} [335] 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] {42903#true} is VALID [2022-02-20 21:00:28,189 INFO L290 TraceCheckUtils]: 2: Hoare triple {42903#true} [352] 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[] {42903#true} is VALID [2022-02-20 21:00:28,189 INFO L290 TraceCheckUtils]: 3: Hoare triple {42903#true} [353] L-1-2-->L16: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {42903#true} is VALID [2022-02-20 21:00:28,189 INFO L290 TraceCheckUtils]: 4: Hoare triple {42903#true} [334] L16-->L16-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[] {42903#true} is VALID [2022-02-20 21:00:28,189 INFO L290 TraceCheckUtils]: 5: Hoare triple {42903#true} [302] L16-1-->L16-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[] {42903#true} is VALID [2022-02-20 21:00:28,190 INFO L290 TraceCheckUtils]: 6: Hoare triple {42903#true} [357] L16-2-->L16-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[] {42903#true} is VALID [2022-02-20 21:00:28,190 INFO L290 TraceCheckUtils]: 7: Hoare triple {42903#true} [339] L16-3-->L16-4: Formula: (and (= (select |v_#valid_3| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {42903#true} is VALID [2022-02-20 21:00:28,190 INFO L290 TraceCheckUtils]: 8: Hoare triple {42903#true} [342] L16-4-->L16-5: Formula: (= (select (select |v_#memory_int_3| 2) 0) 0) InVars {#memory_int=|v_#memory_int_3|} OutVars{#memory_int=|v_#memory_int_3|} AuxVars[] AssignedVars[] {42903#true} is VALID [2022-02-20 21:00:28,190 INFO L290 TraceCheckUtils]: 9: Hoare triple {42903#true} [332] L16-5-->L-1-3: Formula: (= v_~x~0_1 0) InVars {} OutVars{~x~0=v_~x~0_1} AuxVars[] AssignedVars[~x~0] {42903#true} is VALID [2022-02-20 21:00:28,190 INFO L290 TraceCheckUtils]: 10: Hoare triple {42903#true} [354] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {42903#true} is VALID [2022-02-20 21:00:28,190 INFO L290 TraceCheckUtils]: 11: Hoare triple {42903#true} [337] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {42903#true} is VALID [2022-02-20 21:00:28,191 INFO L290 TraceCheckUtils]: 12: Hoare triple {42903#true} [316] L-1-5-->L-1-6: Formula: (and (= |v_ULTIMATE.start_#in~argv#1.offset_1| |v_ULTIMATE.start_main_#in~argv#1.offset_1|) (= |v_ULTIMATE.start_main_#in~argv#1.base_1| |v_ULTIMATE.start_#in~argv#1.base_1|) (= |v_ULTIMATE.start_main_#in~argc#1_1| |v_ULTIMATE.start_#in~argc#1_1|)) InVars {ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} OutVars{ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_1|, ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_1|, ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#in~argv#1.base, ULTIMATE.start_main_#in~argc#1, ULTIMATE.start_main_#in~argv#1.offset] {42903#true} is VALID [2022-02-20 21:00:28,191 INFO L290 TraceCheckUtils]: 13: Hoare triple {42903#true} [336] L-1-6-->L-1-7: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {42903#true} is VALID [2022-02-20 21:00:28,191 INFO L290 TraceCheckUtils]: 14: Hoare triple {42903#true} [312] L-1-7-->L718: Formula: true InVars {} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_1|, ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_1|, ULTIMATE.start_main_~i~1#1=|v_ULTIMATE.start_main_~i~1#1_1|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_1|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_1|, ULTIMATE.start_main_#t~post4#1=|v_ULTIMATE.start_main_#t~post4#1_1|, ULTIMATE.start_main_#t~mem5#1=|v_ULTIMATE.start_main_#t~mem5#1_1|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1, ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~1#1, ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t~0#1.offset, ULTIMATE.start_main_#t~post4#1, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~mem5#1, ULTIMATE.start_main_~#t~0#1.base, ULTIMATE.start_main_#t~pre2#1] {42903#true} is VALID [2022-02-20 21:00:28,191 INFO L290 TraceCheckUtils]: 15: Hoare triple {42903#true} [321] L718-->L718-1: Formula: (= |v_ULTIMATE.start_main_#in~argc#1_2| |v_ULTIMATE.start_main_~argc#1_2|) InVars {ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_2|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1] {42903#true} is VALID [2022-02-20 21:00:28,191 INFO L290 TraceCheckUtils]: 16: Hoare triple {42903#true} [358] L718-1-->L719: Formula: (and (= |v_ULTIMATE.start_main_~argv#1.offset_2| |v_ULTIMATE.start_main_#in~argv#1.offset_2|) (= |v_ULTIMATE.start_main_#in~argv#1.base_2| |v_ULTIMATE.start_main_~argv#1.base_2|)) InVars {ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|} OutVars{ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~argv#1.offset] {42903#true} is VALID [2022-02-20 21:00:28,192 INFO L290 TraceCheckUtils]: 17: Hoare triple {42903#true} [304] L719-->L719-1: Formula: (and (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 24)) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) 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_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] {42903#true} is VALID [2022-02-20 21:00:28,192 INFO L290 TraceCheckUtils]: 18: Hoare triple {42903#true} [343] L719-1-->L722: Formula: (= v_~x~0_2 0) InVars {} OutVars{~x~0=v_~x~0_2} AuxVars[] AssignedVars[~x~0] {42903#true} is VALID [2022-02-20 21:00:28,192 INFO L290 TraceCheckUtils]: 19: Hoare triple {42903#true} [355] L722-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 1) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {42968#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:28,193 INFO L290 TraceCheckUtils]: 20: Hoare triple {42968#(<= |ULTIMATE.start_main_~i~0#1| 1)} [324] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 5) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] {42968#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:28,193 INFO L290 TraceCheckUtils]: 21: Hoare triple {42968#(<= |ULTIMATE.start_main_~i~0#1| 1)} [320] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] {42968#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:28,194 INFO L290 TraceCheckUtils]: 22: Hoare triple {42968#(<= |ULTIMATE.start_main_~i~0#1| 1)} [346] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {42968#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:28,194 INFO L290 TraceCheckUtils]: 23: Hoare triple {42968#(<= |ULTIMATE.start_main_~i~0#1| 1)} [311] L724-2-->L724-3: Formula: (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| (* |v_ULTIMATE.start_main_~i~0#1_5| 4)) |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|) InVars {#memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{#memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] {42968#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:28,194 INFO L290 TraceCheckUtils]: 24: Hoare triple {42968#(<= |ULTIMATE.start_main_~i~0#1| 1)} [381] L724-3-->threadENTRY: Formula: (and (= |v_ULTIMATE.start_main_~i~0#1_25| |v_threadThread1of4ForFork0_#in~arg.offset_4|) (= |v_threadThread1of4ForFork0_#in~arg.base_4| 0) (= v_threadThread1of4ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_22|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_25|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_22|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_25|, threadThread1of4ForFork0_#res.base=|v_threadThread1of4ForFork0_#res.base_4|, threadThread1of4ForFork0_~arg.offset=v_threadThread1of4ForFork0_~arg.offset_6, threadThread1of4ForFork0_#res.offset=|v_threadThread1of4ForFork0_#res.offset_4|, threadThread1of4ForFork0_~arg.base=v_threadThread1of4ForFork0_~arg.base_6, threadThread1of4ForFork0_~thread~0=v_threadThread1of4ForFork0_~thread~0_6, threadThread1of4ForFork0_thidvar0=v_threadThread1of4ForFork0_thidvar0_2, threadThread1of4ForFork0_#in~arg.offset=|v_threadThread1of4ForFork0_#in~arg.offset_4|, threadThread1of4ForFork0_#in~arg.base=|v_threadThread1of4ForFork0_#in~arg.base_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_22|} AuxVars[] AssignedVars[threadThread1of4ForFork0_#res.base, threadThread1of4ForFork0_~arg.offset, threadThread1of4ForFork0_#res.offset, threadThread1of4ForFork0_~arg.base, threadThread1of4ForFork0_~thread~0, threadThread1of4ForFork0_thidvar0, threadThread1of4ForFork0_#in~arg.offset, threadThread1of4ForFork0_#in~arg.base] {42968#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:28,195 INFO L290 TraceCheckUtils]: 25: Hoare triple {42968#(<= |ULTIMATE.start_main_~i~0#1| 1)} [356] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] {42968#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:28,195 INFO L290 TraceCheckUtils]: 26: Hoare triple {42968#(<= |ULTIMATE.start_main_~i~0#1| 1)} [309] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] {42968#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:28,196 INFO L290 TraceCheckUtils]: 27: Hoare triple {42968#(<= |ULTIMATE.start_main_~i~0#1| 1)} [338] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] {42993#(<= |ULTIMATE.start_main_#t~post1#1| 1)} is VALID [2022-02-20 21:00:28,196 INFO L290 TraceCheckUtils]: 28: Hoare triple {42993#(<= |ULTIMATE.start_main_#t~post1#1| 1)} [317] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {42907#(<= |ULTIMATE.start_main_~i~0#1| 2)} is VALID [2022-02-20 21:00:28,197 INFO L290 TraceCheckUtils]: 29: Hoare triple {42907#(<= |ULTIMATE.start_main_~i~0#1| 2)} [333] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] {42907#(<= |ULTIMATE.start_main_~i~0#1| 2)} is VALID [2022-02-20 21:00:28,197 INFO L290 TraceCheckUtils]: 30: Hoare triple {42907#(<= |ULTIMATE.start_main_~i~0#1| 2)} [323] L723-5-->L723-6: Formula: (not (<= |v_ULTIMATE.start_main_~i~0#1_3| 5)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} AuxVars[] AssignedVars[] {42904#false} is VALID [2022-02-20 21:00:28,197 INFO L290 TraceCheckUtils]: 31: Hoare triple {42904#false} [365] threadENTRY-->L712: Formula: (and (= |v_threadThread1of4ForFork0_#in~arg.offset_1| v_threadThread1of4ForFork0_~arg.offset_1) (= v_threadThread1of4ForFork0_~arg.base_1 |v_threadThread1of4ForFork0_#in~arg.base_1|)) InVars {threadThread1of4ForFork0_#in~arg.base=|v_threadThread1of4ForFork0_#in~arg.base_1|, threadThread1of4ForFork0_#in~arg.offset=|v_threadThread1of4ForFork0_#in~arg.offset_1|} OutVars{threadThread1of4ForFork0_#in~arg.offset=|v_threadThread1of4ForFork0_#in~arg.offset_1|, threadThread1of4ForFork0_~arg.base=v_threadThread1of4ForFork0_~arg.base_1, threadThread1of4ForFork0_#in~arg.base=|v_threadThread1of4ForFork0_#in~arg.base_1|, threadThread1of4ForFork0_~arg.offset=v_threadThread1of4ForFork0_~arg.offset_1} AuxVars[] AssignedVars[threadThread1of4ForFork0_~arg.offset, threadThread1of4ForFork0_~arg.base] {42904#false} is VALID [2022-02-20 21:00:28,198 INFO L290 TraceCheckUtils]: 32: Hoare triple {42904#false} [366] L712-->L713: Formula: (= v_threadThread1of4ForFork0_~thread~0_1 (+ v_threadThread1of4ForFork0_~arg.base_3 v_threadThread1of4ForFork0_~arg.offset_3)) InVars {threadThread1of4ForFork0_~arg.offset=v_threadThread1of4ForFork0_~arg.offset_3, threadThread1of4ForFork0_~arg.base=v_threadThread1of4ForFork0_~arg.base_3} OutVars{threadThread1of4ForFork0_~arg.base=v_threadThread1of4ForFork0_~arg.base_3, threadThread1of4ForFork0_~thread~0=v_threadThread1of4ForFork0_~thread~0_1, threadThread1of4ForFork0_~arg.offset=v_threadThread1of4ForFork0_~arg.offset_3} AuxVars[] AssignedVars[threadThread1of4ForFork0_~thread~0] {42904#false} is VALID [2022-02-20 21:00:28,198 INFO L290 TraceCheckUtils]: 33: Hoare triple {42904#false} [367] L713-->L715: Formula: (= v_threadThread1of4ForFork0_~thread~0_3 v_~x~0_5) InVars {threadThread1of4ForFork0_~thread~0=v_threadThread1of4ForFork0_~thread~0_3} OutVars{~x~0=v_~x~0_5, threadThread1of4ForFork0_~thread~0=v_threadThread1of4ForFork0_~thread~0_3} AuxVars[] AssignedVars[~x~0] {42904#false} is VALID [2022-02-20 21:00:28,198 INFO L290 TraceCheckUtils]: 34: Hoare triple {42904#false} [307] L723-6-->L727: Formula: (not (< v_~x~0_4 6)) InVars {~x~0=v_~x~0_4} OutVars{~x~0=v_~x~0_4} AuxVars[] AssignedVars[] {42904#false} is VALID [2022-02-20 21:00:28,198 INFO L290 TraceCheckUtils]: 35: Hoare triple {42904#false} [314] L727-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {42904#false} is VALID [2022-02-20 21:00:28,199 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 21:00:28,199 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 21:00:28,330 INFO L290 TraceCheckUtils]: 35: Hoare triple {42904#false} [314] L727-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {42904#false} is VALID [2022-02-20 21:00:28,330 INFO L290 TraceCheckUtils]: 34: Hoare triple {42904#false} [307] L723-6-->L727: Formula: (not (< v_~x~0_4 6)) InVars {~x~0=v_~x~0_4} OutVars{~x~0=v_~x~0_4} AuxVars[] AssignedVars[] {42904#false} is VALID [2022-02-20 21:00:28,331 INFO L290 TraceCheckUtils]: 33: Hoare triple {42904#false} [367] L713-->L715: Formula: (= v_threadThread1of4ForFork0_~thread~0_3 v_~x~0_5) InVars {threadThread1of4ForFork0_~thread~0=v_threadThread1of4ForFork0_~thread~0_3} OutVars{~x~0=v_~x~0_5, threadThread1of4ForFork0_~thread~0=v_threadThread1of4ForFork0_~thread~0_3} AuxVars[] AssignedVars[~x~0] {42904#false} is VALID [2022-02-20 21:00:28,331 INFO L290 TraceCheckUtils]: 32: Hoare triple {42904#false} [366] L712-->L713: Formula: (= v_threadThread1of4ForFork0_~thread~0_1 (+ v_threadThread1of4ForFork0_~arg.base_3 v_threadThread1of4ForFork0_~arg.offset_3)) InVars {threadThread1of4ForFork0_~arg.offset=v_threadThread1of4ForFork0_~arg.offset_3, threadThread1of4ForFork0_~arg.base=v_threadThread1of4ForFork0_~arg.base_3} OutVars{threadThread1of4ForFork0_~arg.base=v_threadThread1of4ForFork0_~arg.base_3, threadThread1of4ForFork0_~thread~0=v_threadThread1of4ForFork0_~thread~0_1, threadThread1of4ForFork0_~arg.offset=v_threadThread1of4ForFork0_~arg.offset_3} AuxVars[] AssignedVars[threadThread1of4ForFork0_~thread~0] {42904#false} is VALID [2022-02-20 21:00:28,331 INFO L290 TraceCheckUtils]: 31: Hoare triple {42904#false} [365] threadENTRY-->L712: Formula: (and (= |v_threadThread1of4ForFork0_#in~arg.offset_1| v_threadThread1of4ForFork0_~arg.offset_1) (= v_threadThread1of4ForFork0_~arg.base_1 |v_threadThread1of4ForFork0_#in~arg.base_1|)) InVars {threadThread1of4ForFork0_#in~arg.base=|v_threadThread1of4ForFork0_#in~arg.base_1|, threadThread1of4ForFork0_#in~arg.offset=|v_threadThread1of4ForFork0_#in~arg.offset_1|} OutVars{threadThread1of4ForFork0_#in~arg.offset=|v_threadThread1of4ForFork0_#in~arg.offset_1|, threadThread1of4ForFork0_~arg.base=v_threadThread1of4ForFork0_~arg.base_1, threadThread1of4ForFork0_#in~arg.base=|v_threadThread1of4ForFork0_#in~arg.base_1|, threadThread1of4ForFork0_~arg.offset=v_threadThread1of4ForFork0_~arg.offset_1} AuxVars[] AssignedVars[threadThread1of4ForFork0_~arg.offset, threadThread1of4ForFork0_~arg.base] {42904#false} is VALID [2022-02-20 21:00:28,331 INFO L290 TraceCheckUtils]: 30: Hoare triple {43033#(<= |ULTIMATE.start_main_~i~0#1| 5)} [323] L723-5-->L723-6: Formula: (not (<= |v_ULTIMATE.start_main_~i~0#1_3| 5)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} AuxVars[] AssignedVars[] {42904#false} is VALID [2022-02-20 21:00:28,331 INFO L290 TraceCheckUtils]: 29: Hoare triple {43033#(<= |ULTIMATE.start_main_~i~0#1| 5)} [333] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] {43033#(<= |ULTIMATE.start_main_~i~0#1| 5)} is VALID [2022-02-20 21:00:28,332 INFO L290 TraceCheckUtils]: 28: Hoare triple {43040#(<= |ULTIMATE.start_main_#t~post1#1| 4)} [317] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {43033#(<= |ULTIMATE.start_main_~i~0#1| 5)} is VALID [2022-02-20 21:00:28,332 INFO L290 TraceCheckUtils]: 27: Hoare triple {43044#(<= |ULTIMATE.start_main_~i~0#1| 4)} [338] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] {43040#(<= |ULTIMATE.start_main_#t~post1#1| 4)} is VALID [2022-02-20 21:00:28,333 INFO L290 TraceCheckUtils]: 26: Hoare triple {43044#(<= |ULTIMATE.start_main_~i~0#1| 4)} [309] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] {43044#(<= |ULTIMATE.start_main_~i~0#1| 4)} is VALID [2022-02-20 21:00:28,333 INFO L290 TraceCheckUtils]: 25: Hoare triple {43044#(<= |ULTIMATE.start_main_~i~0#1| 4)} [356] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] {43044#(<= |ULTIMATE.start_main_~i~0#1| 4)} is VALID [2022-02-20 21:00:28,333 INFO L290 TraceCheckUtils]: 24: Hoare triple {43044#(<= |ULTIMATE.start_main_~i~0#1| 4)} [381] L724-3-->threadENTRY: Formula: (and (= |v_ULTIMATE.start_main_~i~0#1_25| |v_threadThread1of4ForFork0_#in~arg.offset_4|) (= |v_threadThread1of4ForFork0_#in~arg.base_4| 0) (= v_threadThread1of4ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_22|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_25|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_22|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_25|, threadThread1of4ForFork0_#res.base=|v_threadThread1of4ForFork0_#res.base_4|, threadThread1of4ForFork0_~arg.offset=v_threadThread1of4ForFork0_~arg.offset_6, threadThread1of4ForFork0_#res.offset=|v_threadThread1of4ForFork0_#res.offset_4|, threadThread1of4ForFork0_~arg.base=v_threadThread1of4ForFork0_~arg.base_6, threadThread1of4ForFork0_~thread~0=v_threadThread1of4ForFork0_~thread~0_6, threadThread1of4ForFork0_thidvar0=v_threadThread1of4ForFork0_thidvar0_2, threadThread1of4ForFork0_#in~arg.offset=|v_threadThread1of4ForFork0_#in~arg.offset_4|, threadThread1of4ForFork0_#in~arg.base=|v_threadThread1of4ForFork0_#in~arg.base_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_22|} AuxVars[] AssignedVars[threadThread1of4ForFork0_#res.base, threadThread1of4ForFork0_~arg.offset, threadThread1of4ForFork0_#res.offset, threadThread1of4ForFork0_~arg.base, threadThread1of4ForFork0_~thread~0, threadThread1of4ForFork0_thidvar0, threadThread1of4ForFork0_#in~arg.offset, threadThread1of4ForFork0_#in~arg.base] {43044#(<= |ULTIMATE.start_main_~i~0#1| 4)} is VALID [2022-02-20 21:00:28,334 INFO L290 TraceCheckUtils]: 23: Hoare triple {43044#(<= |ULTIMATE.start_main_~i~0#1| 4)} [311] L724-2-->L724-3: Formula: (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| (* |v_ULTIMATE.start_main_~i~0#1_5| 4)) |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|) InVars {#memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{#memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] {43044#(<= |ULTIMATE.start_main_~i~0#1| 4)} is VALID [2022-02-20 21:00:28,334 INFO L290 TraceCheckUtils]: 22: Hoare triple {43044#(<= |ULTIMATE.start_main_~i~0#1| 4)} [346] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {43044#(<= |ULTIMATE.start_main_~i~0#1| 4)} is VALID [2022-02-20 21:00:28,334 INFO L290 TraceCheckUtils]: 21: Hoare triple {43044#(<= |ULTIMATE.start_main_~i~0#1| 4)} [320] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] {43044#(<= |ULTIMATE.start_main_~i~0#1| 4)} is VALID [2022-02-20 21:00:28,335 INFO L290 TraceCheckUtils]: 20: Hoare triple {43044#(<= |ULTIMATE.start_main_~i~0#1| 4)} [324] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 5) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] {43044#(<= |ULTIMATE.start_main_~i~0#1| 4)} is VALID [2022-02-20 21:00:28,335 INFO L290 TraceCheckUtils]: 19: Hoare triple {42903#true} [355] L722-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 1) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {43044#(<= |ULTIMATE.start_main_~i~0#1| 4)} is VALID [2022-02-20 21:00:28,335 INFO L290 TraceCheckUtils]: 18: Hoare triple {42903#true} [343] L719-1-->L722: Formula: (= v_~x~0_2 0) InVars {} OutVars{~x~0=v_~x~0_2} AuxVars[] AssignedVars[~x~0] {42903#true} is VALID [2022-02-20 21:00:28,335 INFO L290 TraceCheckUtils]: 17: Hoare triple {42903#true} [304] L719-->L719-1: Formula: (and (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 24)) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) 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_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] {42903#true} is VALID [2022-02-20 21:00:28,335 INFO L290 TraceCheckUtils]: 16: Hoare triple {42903#true} [358] L718-1-->L719: Formula: (and (= |v_ULTIMATE.start_main_~argv#1.offset_2| |v_ULTIMATE.start_main_#in~argv#1.offset_2|) (= |v_ULTIMATE.start_main_#in~argv#1.base_2| |v_ULTIMATE.start_main_~argv#1.base_2|)) InVars {ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|} OutVars{ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~argv#1.offset] {42903#true} is VALID [2022-02-20 21:00:28,336 INFO L290 TraceCheckUtils]: 15: Hoare triple {42903#true} [321] L718-->L718-1: Formula: (= |v_ULTIMATE.start_main_#in~argc#1_2| |v_ULTIMATE.start_main_~argc#1_2|) InVars {ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_2|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1] {42903#true} is VALID [2022-02-20 21:00:28,336 INFO L290 TraceCheckUtils]: 14: Hoare triple {42903#true} [312] L-1-7-->L718: Formula: true InVars {} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_1|, ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_1|, ULTIMATE.start_main_~i~1#1=|v_ULTIMATE.start_main_~i~1#1_1|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_1|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_1|, ULTIMATE.start_main_#t~post4#1=|v_ULTIMATE.start_main_#t~post4#1_1|, ULTIMATE.start_main_#t~mem5#1=|v_ULTIMATE.start_main_#t~mem5#1_1|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1, ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~1#1, ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t~0#1.offset, ULTIMATE.start_main_#t~post4#1, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~mem5#1, ULTIMATE.start_main_~#t~0#1.base, ULTIMATE.start_main_#t~pre2#1] {42903#true} is VALID [2022-02-20 21:00:28,336 INFO L290 TraceCheckUtils]: 13: Hoare triple {42903#true} [336] L-1-6-->L-1-7: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {42903#true} is VALID [2022-02-20 21:00:28,336 INFO L290 TraceCheckUtils]: 12: Hoare triple {42903#true} [316] L-1-5-->L-1-6: Formula: (and (= |v_ULTIMATE.start_#in~argv#1.offset_1| |v_ULTIMATE.start_main_#in~argv#1.offset_1|) (= |v_ULTIMATE.start_main_#in~argv#1.base_1| |v_ULTIMATE.start_#in~argv#1.base_1|) (= |v_ULTIMATE.start_main_#in~argc#1_1| |v_ULTIMATE.start_#in~argc#1_1|)) InVars {ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} OutVars{ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_1|, ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_1|, ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#in~argv#1.base, ULTIMATE.start_main_#in~argc#1, ULTIMATE.start_main_#in~argv#1.offset] {42903#true} is VALID [2022-02-20 21:00:28,336 INFO L290 TraceCheckUtils]: 11: Hoare triple {42903#true} [337] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {42903#true} is VALID [2022-02-20 21:00:28,336 INFO L290 TraceCheckUtils]: 10: Hoare triple {42903#true} [354] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {42903#true} is VALID [2022-02-20 21:00:28,336 INFO L290 TraceCheckUtils]: 9: Hoare triple {42903#true} [332] L16-5-->L-1-3: Formula: (= v_~x~0_1 0) InVars {} OutVars{~x~0=v_~x~0_1} AuxVars[] AssignedVars[~x~0] {42903#true} is VALID [2022-02-20 21:00:28,336 INFO L290 TraceCheckUtils]: 8: Hoare triple {42903#true} [342] L16-4-->L16-5: Formula: (= (select (select |v_#memory_int_3| 2) 0) 0) InVars {#memory_int=|v_#memory_int_3|} OutVars{#memory_int=|v_#memory_int_3|} AuxVars[] AssignedVars[] {42903#true} is VALID [2022-02-20 21:00:28,336 INFO L290 TraceCheckUtils]: 7: Hoare triple {42903#true} [339] L16-3-->L16-4: Formula: (and (= (select |v_#valid_3| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {42903#true} is VALID [2022-02-20 21:00:28,337 INFO L290 TraceCheckUtils]: 6: Hoare triple {42903#true} [357] L16-2-->L16-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[] {42903#true} is VALID [2022-02-20 21:00:28,337 INFO L290 TraceCheckUtils]: 5: Hoare triple {42903#true} [302] L16-1-->L16-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[] {42903#true} is VALID [2022-02-20 21:00:28,337 INFO L290 TraceCheckUtils]: 4: Hoare triple {42903#true} [334] L16-->L16-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[] {42903#true} is VALID [2022-02-20 21:00:28,337 INFO L290 TraceCheckUtils]: 3: Hoare triple {42903#true} [353] L-1-2-->L16: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {42903#true} is VALID [2022-02-20 21:00:28,337 INFO L290 TraceCheckUtils]: 2: Hoare triple {42903#true} [352] 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[] {42903#true} is VALID [2022-02-20 21:00:28,337 INFO L290 TraceCheckUtils]: 1: Hoare triple {42903#true} [335] 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] {42903#true} is VALID [2022-02-20 21:00:28,337 INFO L290 TraceCheckUtils]: 0: Hoare triple {42903#true} [345] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {42903#true} is VALID [2022-02-20 21:00:28,337 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 21:00:28,338 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1768269873] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 21:00:28,338 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 21:00:28,338 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 10 [2022-02-20 21:00:28,338 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [313456561] [2022-02-20 21:00:28,338 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 21:00:28,339 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 5.8) internal successors, (58), 10 states have internal predecessors, (58), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 36 [2022-02-20 21:00:28,339 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:00:28,339 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 5.8) internal successors, (58), 10 states have internal predecessors, (58), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 21:00:28,376 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:00:28,376 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-02-20 21:00:28,376 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:00:28,377 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-02-20 21:00:28,377 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=60, Unknown=0, NotChecked=0, Total=90 [2022-02-20 21:00:28,378 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 60 out of 80 [2022-02-20 21:00:28,379 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 71 places, 62 transitions, 177 flow. Second operand has 10 states, 10 states have (on average 62.3) internal successors, (623), 10 states have internal predecessors, (623), 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 21:00:28,379 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 21:00:28,379 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 60 of 80 [2022-02-20 21:00:28,379 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 21:00:28,767 INFO L129 PetriNetUnfolder]: 54/233 cut-off events. [2022-02-20 21:00:28,767 INFO L130 PetriNetUnfolder]: For 5/5 co-relation queries the response was YES. [2022-02-20 21:00:28,768 INFO L84 FinitePrefix]: Finished finitePrefix Result has 387 conditions, 233 events. 54/233 cut-off events. For 5/5 co-relation queries the response was YES. Maximal size of possible extension queue 20. Compared 835 event pairs, 28 based on Foata normal form. 2/217 useless extension candidates. Maximal degree in co-relation 324. Up to 92 conditions per place. [2022-02-20 21:00:28,770 INFO L132 encePairwiseOnDemand]: 74/80 looper letters, 14 selfloop transitions, 9 changer transitions 0/72 dead transitions. [2022-02-20 21:00:28,770 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 79 places, 72 transitions, 245 flow [2022-02-20 21:00:28,770 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 21:00:28,770 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2022-02-20 21:00:28,776 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 565 transitions. [2022-02-20 21:00:28,776 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.7847222222222222 [2022-02-20 21:00:28,776 INFO L72 ComplementDD]: Start complementDD. Operand 9 states and 565 transitions. [2022-02-20 21:00:28,777 INFO L73 IsDeterministic]: Start isDeterministic. Operand 9 states and 565 transitions. [2022-02-20 21:00:28,777 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 21:00:28,777 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 9 states and 565 transitions. [2022-02-20 21:00:28,778 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 10 states, 9 states have (on average 62.77777777777778) internal successors, (565), 9 states have internal predecessors, (565), 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 21:00:28,779 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 10 states, 10 states have (on average 80.0) internal successors, (800), 10 states have internal predecessors, (800), 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 21:00:28,779 INFO L81 ComplementDD]: Finished complementDD. Result has 10 states, 10 states have (on average 80.0) internal successors, (800), 10 states have internal predecessors, (800), 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 21:00:28,780 INFO L186 Difference]: Start difference. First operand has 71 places, 62 transitions, 177 flow. Second operand 9 states and 565 transitions. [2022-02-20 21:00:28,780 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 79 places, 72 transitions, 245 flow [2022-02-20 21:00:31,093 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 78 places, 72 transitions, 240 flow, removed 0 selfloop flow, removed 1 redundant places. [2022-02-20 21:00:31,094 INFO L242 Difference]: Finished difference. Result has 81 places, 68 transitions, 222 flow [2022-02-20 21:00:31,094 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=80, PETRI_DIFFERENCE_MINUEND_FLOW=172, PETRI_DIFFERENCE_MINUEND_PLACES=70, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=62, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=5, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=56, PETRI_DIFFERENCE_SUBTRAHEND_STATES=9, PETRI_FLOW=222, PETRI_PLACES=81, PETRI_TRANSITIONS=68} [2022-02-20 21:00:31,094 INFO L334 CegarLoopForPetriNet]: 66 programPoint places, 15 predicate places. [2022-02-20 21:00:31,095 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 81 places, 68 transitions, 222 flow [2022-02-20 21:00:31,538 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 21181 states, 21178 states have (on average 4.118660874492398) internal successors, (87225), 21180 states have internal predecessors, (87225), 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 21:00:31,585 INFO L78 Accepts]: Start accepts. Automaton has has 21181 states, 21178 states have (on average 4.118660874492398) internal successors, (87225), 21180 states have internal predecessors, (87225), 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 36 [2022-02-20 21:00:31,585 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:00:31,585 INFO L470 AbstractCegarLoop]: Abstraction has has 81 places, 68 transitions, 222 flow [2022-02-20 21:00:31,586 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 62.3) internal successors, (623), 10 states have internal predecessors, (623), 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 21:00:31,586 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:00:31,586 INFO L254 CegarLoopForPetriNet]: trace histogram [3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 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 21:00:31,603 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-02-20 21:00:31,786 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable15,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 21:00:31,787 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 21:00:31,787 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:00:31,787 INFO L85 PathProgramCache]: Analyzing trace with hash -909312246, now seen corresponding path program 1 times [2022-02-20 21:00:31,787 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:00:31,787 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1754923177] [2022-02-20 21:00:31,787 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:31,788 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:00:31,806 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:31,868 INFO L290 TraceCheckUtils]: 0: Hoare triple {64317#true} [345] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {64317#true} is VALID [2022-02-20 21:00:31,869 INFO L290 TraceCheckUtils]: 1: Hoare triple {64317#true} [335] 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] {64317#true} is VALID [2022-02-20 21:00:31,869 INFO L290 TraceCheckUtils]: 2: Hoare triple {64317#true} [352] 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[] {64317#true} is VALID [2022-02-20 21:00:31,869 INFO L290 TraceCheckUtils]: 3: Hoare triple {64317#true} [353] L-1-2-->L16: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {64317#true} is VALID [2022-02-20 21:00:31,869 INFO L290 TraceCheckUtils]: 4: Hoare triple {64317#true} [334] L16-->L16-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[] {64317#true} is VALID [2022-02-20 21:00:31,869 INFO L290 TraceCheckUtils]: 5: Hoare triple {64317#true} [302] L16-1-->L16-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[] {64317#true} is VALID [2022-02-20 21:00:31,869 INFO L290 TraceCheckUtils]: 6: Hoare triple {64317#true} [357] L16-2-->L16-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[] {64317#true} is VALID [2022-02-20 21:00:31,870 INFO L290 TraceCheckUtils]: 7: Hoare triple {64317#true} [339] L16-3-->L16-4: Formula: (and (= (select |v_#valid_3| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {64317#true} is VALID [2022-02-20 21:00:31,870 INFO L290 TraceCheckUtils]: 8: Hoare triple {64317#true} [342] L16-4-->L16-5: Formula: (= (select (select |v_#memory_int_3| 2) 0) 0) InVars {#memory_int=|v_#memory_int_3|} OutVars{#memory_int=|v_#memory_int_3|} AuxVars[] AssignedVars[] {64317#true} is VALID [2022-02-20 21:00:31,870 INFO L290 TraceCheckUtils]: 9: Hoare triple {64317#true} [332] L16-5-->L-1-3: Formula: (= v_~x~0_1 0) InVars {} OutVars{~x~0=v_~x~0_1} AuxVars[] AssignedVars[~x~0] {64317#true} is VALID [2022-02-20 21:00:31,870 INFO L290 TraceCheckUtils]: 10: Hoare triple {64317#true} [354] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {64317#true} is VALID [2022-02-20 21:00:31,870 INFO L290 TraceCheckUtils]: 11: Hoare triple {64317#true} [337] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {64317#true} is VALID [2022-02-20 21:00:31,870 INFO L290 TraceCheckUtils]: 12: Hoare triple {64317#true} [316] L-1-5-->L-1-6: Formula: (and (= |v_ULTIMATE.start_#in~argv#1.offset_1| |v_ULTIMATE.start_main_#in~argv#1.offset_1|) (= |v_ULTIMATE.start_main_#in~argv#1.base_1| |v_ULTIMATE.start_#in~argv#1.base_1|) (= |v_ULTIMATE.start_main_#in~argc#1_1| |v_ULTIMATE.start_#in~argc#1_1|)) InVars {ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} OutVars{ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_1|, ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_1|, ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#in~argv#1.base, ULTIMATE.start_main_#in~argc#1, ULTIMATE.start_main_#in~argv#1.offset] {64317#true} is VALID [2022-02-20 21:00:31,871 INFO L290 TraceCheckUtils]: 13: Hoare triple {64317#true} [336] L-1-6-->L-1-7: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {64317#true} is VALID [2022-02-20 21:00:31,871 INFO L290 TraceCheckUtils]: 14: Hoare triple {64317#true} [312] L-1-7-->L718: Formula: true InVars {} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_1|, ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_1|, ULTIMATE.start_main_~i~1#1=|v_ULTIMATE.start_main_~i~1#1_1|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_1|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_1|, ULTIMATE.start_main_#t~post4#1=|v_ULTIMATE.start_main_#t~post4#1_1|, ULTIMATE.start_main_#t~mem5#1=|v_ULTIMATE.start_main_#t~mem5#1_1|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1, ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~1#1, ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t~0#1.offset, ULTIMATE.start_main_#t~post4#1, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~mem5#1, ULTIMATE.start_main_~#t~0#1.base, ULTIMATE.start_main_#t~pre2#1] {64317#true} is VALID [2022-02-20 21:00:31,871 INFO L290 TraceCheckUtils]: 15: Hoare triple {64317#true} [321] L718-->L718-1: Formula: (= |v_ULTIMATE.start_main_#in~argc#1_2| |v_ULTIMATE.start_main_~argc#1_2|) InVars {ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_2|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1] {64317#true} is VALID [2022-02-20 21:00:31,871 INFO L290 TraceCheckUtils]: 16: Hoare triple {64317#true} [358] L718-1-->L719: Formula: (and (= |v_ULTIMATE.start_main_~argv#1.offset_2| |v_ULTIMATE.start_main_#in~argv#1.offset_2|) (= |v_ULTIMATE.start_main_#in~argv#1.base_2| |v_ULTIMATE.start_main_~argv#1.base_2|)) InVars {ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|} OutVars{ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~argv#1.offset] {64317#true} is VALID [2022-02-20 21:00:31,871 INFO L290 TraceCheckUtils]: 17: Hoare triple {64317#true} [304] L719-->L719-1: Formula: (and (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 24)) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) 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_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] {64317#true} is VALID [2022-02-20 21:00:31,871 INFO L290 TraceCheckUtils]: 18: Hoare triple {64317#true} [343] L719-1-->L722: Formula: (= v_~x~0_2 0) InVars {} OutVars{~x~0=v_~x~0_2} AuxVars[] AssignedVars[~x~0] {64317#true} is VALID [2022-02-20 21:00:31,872 INFO L290 TraceCheckUtils]: 19: Hoare triple {64317#true} [355] L722-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 1) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {64319#(= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:31,872 INFO L290 TraceCheckUtils]: 20: Hoare triple {64319#(= |ULTIMATE.start_main_~i~0#1| 1)} [324] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 5) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] {64319#(= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:31,872 INFO L290 TraceCheckUtils]: 21: Hoare triple {64319#(= |ULTIMATE.start_main_~i~0#1| 1)} [320] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] {64319#(= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:31,873 INFO L290 TraceCheckUtils]: 22: Hoare triple {64319#(= |ULTIMATE.start_main_~i~0#1| 1)} [346] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {64319#(= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:31,873 INFO L290 TraceCheckUtils]: 23: Hoare triple {64319#(= |ULTIMATE.start_main_~i~0#1| 1)} [311] L724-2-->L724-3: Formula: (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| (* |v_ULTIMATE.start_main_~i~0#1_5| 4)) |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|) InVars {#memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{#memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] {64319#(= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:31,874 INFO L290 TraceCheckUtils]: 24: Hoare triple {64319#(= |ULTIMATE.start_main_~i~0#1| 1)} [381] L724-3-->threadENTRY: Formula: (and (= |v_ULTIMATE.start_main_~i~0#1_25| |v_threadThread1of4ForFork0_#in~arg.offset_4|) (= |v_threadThread1of4ForFork0_#in~arg.base_4| 0) (= v_threadThread1of4ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_22|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_25|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_22|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_25|, threadThread1of4ForFork0_#res.base=|v_threadThread1of4ForFork0_#res.base_4|, threadThread1of4ForFork0_~arg.offset=v_threadThread1of4ForFork0_~arg.offset_6, threadThread1of4ForFork0_#res.offset=|v_threadThread1of4ForFork0_#res.offset_4|, threadThread1of4ForFork0_~arg.base=v_threadThread1of4ForFork0_~arg.base_6, threadThread1of4ForFork0_~thread~0=v_threadThread1of4ForFork0_~thread~0_6, threadThread1of4ForFork0_thidvar0=v_threadThread1of4ForFork0_thidvar0_2, threadThread1of4ForFork0_#in~arg.offset=|v_threadThread1of4ForFork0_#in~arg.offset_4|, threadThread1of4ForFork0_#in~arg.base=|v_threadThread1of4ForFork0_#in~arg.base_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_22|} AuxVars[] AssignedVars[threadThread1of4ForFork0_#res.base, threadThread1of4ForFork0_~arg.offset, threadThread1of4ForFork0_#res.offset, threadThread1of4ForFork0_~arg.base, threadThread1of4ForFork0_~thread~0, threadThread1of4ForFork0_thidvar0, threadThread1of4ForFork0_#in~arg.offset, threadThread1of4ForFork0_#in~arg.base] {64320#(and (= |threadThread1of4ForFork0_#in~arg.offset| 1) (= |threadThread1of4ForFork0_#in~arg.base| 0))} is VALID [2022-02-20 21:00:31,874 INFO L290 TraceCheckUtils]: 25: Hoare triple {64320#(and (= |threadThread1of4ForFork0_#in~arg.offset| 1) (= |threadThread1of4ForFork0_#in~arg.base| 0))} [365] threadENTRY-->L712: Formula: (and (= |v_threadThread1of4ForFork0_#in~arg.offset_1| v_threadThread1of4ForFork0_~arg.offset_1) (= v_threadThread1of4ForFork0_~arg.base_1 |v_threadThread1of4ForFork0_#in~arg.base_1|)) InVars {threadThread1of4ForFork0_#in~arg.base=|v_threadThread1of4ForFork0_#in~arg.base_1|, threadThread1of4ForFork0_#in~arg.offset=|v_threadThread1of4ForFork0_#in~arg.offset_1|} OutVars{threadThread1of4ForFork0_#in~arg.offset=|v_threadThread1of4ForFork0_#in~arg.offset_1|, threadThread1of4ForFork0_~arg.base=v_threadThread1of4ForFork0_~arg.base_1, threadThread1of4ForFork0_#in~arg.base=|v_threadThread1of4ForFork0_#in~arg.base_1|, threadThread1of4ForFork0_~arg.offset=v_threadThread1of4ForFork0_~arg.offset_1} AuxVars[] AssignedVars[threadThread1of4ForFork0_~arg.offset, threadThread1of4ForFork0_~arg.base] {64321#(and (= (+ (- 1) threadThread1of4ForFork0_~arg.offset) 0) (= threadThread1of4ForFork0_~arg.base 0))} is VALID [2022-02-20 21:00:31,875 INFO L290 TraceCheckUtils]: 26: Hoare triple {64321#(and (= (+ (- 1) threadThread1of4ForFork0_~arg.offset) 0) (= threadThread1of4ForFork0_~arg.base 0))} [366] L712-->L713: Formula: (= v_threadThread1of4ForFork0_~thread~0_1 (+ v_threadThread1of4ForFork0_~arg.base_3 v_threadThread1of4ForFork0_~arg.offset_3)) InVars {threadThread1of4ForFork0_~arg.offset=v_threadThread1of4ForFork0_~arg.offset_3, threadThread1of4ForFork0_~arg.base=v_threadThread1of4ForFork0_~arg.base_3} OutVars{threadThread1of4ForFork0_~arg.base=v_threadThread1of4ForFork0_~arg.base_3, threadThread1of4ForFork0_~thread~0=v_threadThread1of4ForFork0_~thread~0_1, threadThread1of4ForFork0_~arg.offset=v_threadThread1of4ForFork0_~arg.offset_3} AuxVars[] AssignedVars[threadThread1of4ForFork0_~thread~0] {64322#(<= threadThread1of4ForFork0_~thread~0 1)} is VALID [2022-02-20 21:00:31,875 INFO L290 TraceCheckUtils]: 27: Hoare triple {64322#(<= threadThread1of4ForFork0_~thread~0 1)} [367] L713-->L715: Formula: (= v_threadThread1of4ForFork0_~thread~0_3 v_~x~0_5) InVars {threadThread1of4ForFork0_~thread~0=v_threadThread1of4ForFork0_~thread~0_3} OutVars{~x~0=v_~x~0_5, threadThread1of4ForFork0_~thread~0=v_threadThread1of4ForFork0_~thread~0_3} AuxVars[] AssignedVars[~x~0] {64323#(<= ~x~0 1)} is VALID [2022-02-20 21:00:31,875 INFO L290 TraceCheckUtils]: 28: Hoare triple {64323#(<= ~x~0 1)} [356] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] {64323#(<= ~x~0 1)} is VALID [2022-02-20 21:00:31,876 INFO L290 TraceCheckUtils]: 29: Hoare triple {64323#(<= ~x~0 1)} [309] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] {64323#(<= ~x~0 1)} is VALID [2022-02-20 21:00:31,876 INFO L290 TraceCheckUtils]: 30: Hoare triple {64323#(<= ~x~0 1)} [338] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] {64323#(<= ~x~0 1)} is VALID [2022-02-20 21:00:31,876 INFO L290 TraceCheckUtils]: 31: Hoare triple {64323#(<= ~x~0 1)} [317] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {64323#(<= ~x~0 1)} is VALID [2022-02-20 21:00:31,877 INFO L290 TraceCheckUtils]: 32: Hoare triple {64323#(<= ~x~0 1)} [333] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] {64323#(<= ~x~0 1)} is VALID [2022-02-20 21:00:31,877 INFO L290 TraceCheckUtils]: 33: Hoare triple {64323#(<= ~x~0 1)} [324] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 5) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] {64323#(<= ~x~0 1)} is VALID [2022-02-20 21:00:31,877 INFO L290 TraceCheckUtils]: 34: Hoare triple {64323#(<= ~x~0 1)} [320] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] {64323#(<= ~x~0 1)} is VALID [2022-02-20 21:00:31,878 INFO L290 TraceCheckUtils]: 35: Hoare triple {64323#(<= ~x~0 1)} [346] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {64323#(<= ~x~0 1)} is VALID [2022-02-20 21:00:31,878 INFO L290 TraceCheckUtils]: 36: Hoare triple {64323#(<= ~x~0 1)} [311] L724-2-->L724-3: Formula: (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| (* |v_ULTIMATE.start_main_~i~0#1_5| 4)) |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|) InVars {#memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{#memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] {64323#(<= ~x~0 1)} is VALID [2022-02-20 21:00:31,879 INFO L290 TraceCheckUtils]: 37: Hoare triple {64323#(<= ~x~0 1)} [382] L724-3-->threadENTRY: Formula: (and (= v_threadThread2of4ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_24|) (= |v_ULTIMATE.start_main_~i~0#1_27| |v_threadThread2of4ForFork0_#in~arg.offset_4|) (= 0 |v_threadThread2of4ForFork0_#in~arg.base_4|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_27|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_24|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_27|, threadThread2of4ForFork0_#in~arg.offset=|v_threadThread2of4ForFork0_#in~arg.offset_4|, threadThread2of4ForFork0_~arg.offset=v_threadThread2of4ForFork0_~arg.offset_6, threadThread2of4ForFork0_thidvar0=v_threadThread2of4ForFork0_thidvar0_2, threadThread2of4ForFork0_#res.base=|v_threadThread2of4ForFork0_#res.base_4|, threadThread2of4ForFork0_#in~arg.base=|v_threadThread2of4ForFork0_#in~arg.base_4|, threadThread2of4ForFork0_~arg.base=v_threadThread2of4ForFork0_~arg.base_6, threadThread2of4ForFork0_~thread~0=v_threadThread2of4ForFork0_~thread~0_6, threadThread2of4ForFork0_#res.offset=|v_threadThread2of4ForFork0_#res.offset_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_24|} AuxVars[] AssignedVars[threadThread2of4ForFork0_#in~arg.offset, threadThread2of4ForFork0_~arg.offset, threadThread2of4ForFork0_thidvar0, threadThread2of4ForFork0_#res.base, threadThread2of4ForFork0_#in~arg.base, threadThread2of4ForFork0_~arg.base, threadThread2of4ForFork0_~thread~0, threadThread2of4ForFork0_#res.offset] {64323#(<= ~x~0 1)} is VALID [2022-02-20 21:00:31,879 INFO L290 TraceCheckUtils]: 38: Hoare triple {64323#(<= ~x~0 1)} [356] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] {64323#(<= ~x~0 1)} is VALID [2022-02-20 21:00:31,879 INFO L290 TraceCheckUtils]: 39: Hoare triple {64323#(<= ~x~0 1)} [309] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] {64323#(<= ~x~0 1)} is VALID [2022-02-20 21:00:31,880 INFO L290 TraceCheckUtils]: 40: Hoare triple {64323#(<= ~x~0 1)} [338] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] {64323#(<= ~x~0 1)} is VALID [2022-02-20 21:00:31,880 INFO L290 TraceCheckUtils]: 41: Hoare triple {64323#(<= ~x~0 1)} [317] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {64323#(<= ~x~0 1)} is VALID [2022-02-20 21:00:31,880 INFO L290 TraceCheckUtils]: 42: Hoare triple {64323#(<= ~x~0 1)} [333] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] {64323#(<= ~x~0 1)} is VALID [2022-02-20 21:00:31,881 INFO L290 TraceCheckUtils]: 43: Hoare triple {64323#(<= ~x~0 1)} [324] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 5) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] {64323#(<= ~x~0 1)} is VALID [2022-02-20 21:00:31,881 INFO L290 TraceCheckUtils]: 44: Hoare triple {64323#(<= ~x~0 1)} [320] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] {64323#(<= ~x~0 1)} is VALID [2022-02-20 21:00:31,881 INFO L290 TraceCheckUtils]: 45: Hoare triple {64323#(<= ~x~0 1)} [346] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {64323#(<= ~x~0 1)} is VALID [2022-02-20 21:00:31,882 INFO L290 TraceCheckUtils]: 46: Hoare triple {64323#(<= ~x~0 1)} [311] L724-2-->L724-3: Formula: (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| (* |v_ULTIMATE.start_main_~i~0#1_5| 4)) |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|) InVars {#memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{#memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] {64323#(<= ~x~0 1)} is VALID [2022-02-20 21:00:31,882 INFO L290 TraceCheckUtils]: 47: Hoare triple {64323#(<= ~x~0 1)} [383] L724-3-->threadENTRY: Formula: (and (= |v_threadThread3of4ForFork0_#in~arg.base_4| 0) (= v_threadThread3of4ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_26|) (= |v_ULTIMATE.start_main_~i~0#1_29| |v_threadThread3of4ForFork0_#in~arg.offset_4|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_29|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_26|} OutVars{threadThread3of4ForFork0_#in~arg.offset=|v_threadThread3of4ForFork0_#in~arg.offset_4|, threadThread3of4ForFork0_~thread~0=v_threadThread3of4ForFork0_~thread~0_6, threadThread3of4ForFork0_thidvar0=v_threadThread3of4ForFork0_thidvar0_2, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_29|, threadThread3of4ForFork0_~arg.offset=v_threadThread3of4ForFork0_~arg.offset_6, threadThread3of4ForFork0_#res.base=|v_threadThread3of4ForFork0_#res.base_4|, threadThread3of4ForFork0_~arg.base=v_threadThread3of4ForFork0_~arg.base_6, threadThread3of4ForFork0_#in~arg.base=|v_threadThread3of4ForFork0_#in~arg.base_4|, threadThread3of4ForFork0_#res.offset=|v_threadThread3of4ForFork0_#res.offset_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_26|} AuxVars[] AssignedVars[threadThread3of4ForFork0_#in~arg.offset, threadThread3of4ForFork0_~thread~0, threadThread3of4ForFork0_thidvar0, threadThread3of4ForFork0_~arg.offset, threadThread3of4ForFork0_#res.base, threadThread3of4ForFork0_~arg.base, threadThread3of4ForFork0_#in~arg.base, threadThread3of4ForFork0_#res.offset] {64323#(<= ~x~0 1)} is VALID [2022-02-20 21:00:31,883 INFO L290 TraceCheckUtils]: 48: Hoare triple {64323#(<= ~x~0 1)} [356] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] {64323#(<= ~x~0 1)} is VALID [2022-02-20 21:00:31,883 INFO L290 TraceCheckUtils]: 49: Hoare triple {64323#(<= ~x~0 1)} [309] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] {64323#(<= ~x~0 1)} is VALID [2022-02-20 21:00:31,883 INFO L290 TraceCheckUtils]: 50: Hoare triple {64323#(<= ~x~0 1)} [338] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] {64323#(<= ~x~0 1)} is VALID [2022-02-20 21:00:31,884 INFO L290 TraceCheckUtils]: 51: Hoare triple {64323#(<= ~x~0 1)} [317] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {64323#(<= ~x~0 1)} is VALID [2022-02-20 21:00:31,884 INFO L290 TraceCheckUtils]: 52: Hoare triple {64323#(<= ~x~0 1)} [333] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] {64323#(<= ~x~0 1)} is VALID [2022-02-20 21:00:31,884 INFO L290 TraceCheckUtils]: 53: Hoare triple {64323#(<= ~x~0 1)} [323] L723-5-->L723-6: Formula: (not (<= |v_ULTIMATE.start_main_~i~0#1_3| 5)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} AuxVars[] AssignedVars[] {64323#(<= ~x~0 1)} is VALID [2022-02-20 21:00:31,885 INFO L290 TraceCheckUtils]: 54: Hoare triple {64323#(<= ~x~0 1)} [307] L723-6-->L727: Formula: (not (< v_~x~0_4 6)) InVars {~x~0=v_~x~0_4} OutVars{~x~0=v_~x~0_4} AuxVars[] AssignedVars[] {64318#false} is VALID [2022-02-20 21:00:31,885 INFO L290 TraceCheckUtils]: 55: Hoare triple {64318#false} [314] L727-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {64318#false} is VALID [2022-02-20 21:00:31,885 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 0 proven. 11 refuted. 0 times theorem prover too weak. 22 trivial. 0 not checked. [2022-02-20 21:00:31,886 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:00:31,886 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1754923177] [2022-02-20 21:00:31,886 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1754923177] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 21:00:31,886 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [772321086] [2022-02-20 21:00:31,886 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:31,886 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 21:00:31,887 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 21:00:31,888 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 21:00:31,894 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-02-20 21:00:31,956 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:31,956 INFO L263 TraceCheckSpWp]: Trace formula consists of 135 conjuncts, 8 conjunts are in the unsatisfiable core [2022-02-20 21:00:31,975 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:31,981 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 21:00:32,252 INFO L290 TraceCheckUtils]: 0: Hoare triple {64317#true} [345] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {64317#true} is VALID [2022-02-20 21:00:32,253 INFO L290 TraceCheckUtils]: 1: Hoare triple {64317#true} [335] 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] {64317#true} is VALID [2022-02-20 21:00:32,253 INFO L290 TraceCheckUtils]: 2: Hoare triple {64317#true} [352] 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[] {64317#true} is VALID [2022-02-20 21:00:32,253 INFO L290 TraceCheckUtils]: 3: Hoare triple {64317#true} [353] L-1-2-->L16: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {64317#true} is VALID [2022-02-20 21:00:32,253 INFO L290 TraceCheckUtils]: 4: Hoare triple {64317#true} [334] L16-->L16-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[] {64317#true} is VALID [2022-02-20 21:00:32,253 INFO L290 TraceCheckUtils]: 5: Hoare triple {64317#true} [302] L16-1-->L16-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[] {64317#true} is VALID [2022-02-20 21:00:32,254 INFO L290 TraceCheckUtils]: 6: Hoare triple {64317#true} [357] L16-2-->L16-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[] {64317#true} is VALID [2022-02-20 21:00:32,254 INFO L290 TraceCheckUtils]: 7: Hoare triple {64317#true} [339] L16-3-->L16-4: Formula: (and (= (select |v_#valid_3| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {64317#true} is VALID [2022-02-20 21:00:32,254 INFO L290 TraceCheckUtils]: 8: Hoare triple {64317#true} [342] L16-4-->L16-5: Formula: (= (select (select |v_#memory_int_3| 2) 0) 0) InVars {#memory_int=|v_#memory_int_3|} OutVars{#memory_int=|v_#memory_int_3|} AuxVars[] AssignedVars[] {64317#true} is VALID [2022-02-20 21:00:32,254 INFO L290 TraceCheckUtils]: 9: Hoare triple {64317#true} [332] L16-5-->L-1-3: Formula: (= v_~x~0_1 0) InVars {} OutVars{~x~0=v_~x~0_1} AuxVars[] AssignedVars[~x~0] {64317#true} is VALID [2022-02-20 21:00:32,254 INFO L290 TraceCheckUtils]: 10: Hoare triple {64317#true} [354] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {64317#true} is VALID [2022-02-20 21:00:32,254 INFO L290 TraceCheckUtils]: 11: Hoare triple {64317#true} [337] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {64317#true} is VALID [2022-02-20 21:00:32,255 INFO L290 TraceCheckUtils]: 12: Hoare triple {64317#true} [316] L-1-5-->L-1-6: Formula: (and (= |v_ULTIMATE.start_#in~argv#1.offset_1| |v_ULTIMATE.start_main_#in~argv#1.offset_1|) (= |v_ULTIMATE.start_main_#in~argv#1.base_1| |v_ULTIMATE.start_#in~argv#1.base_1|) (= |v_ULTIMATE.start_main_#in~argc#1_1| |v_ULTIMATE.start_#in~argc#1_1|)) InVars {ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} OutVars{ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_1|, ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_1|, ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#in~argv#1.base, ULTIMATE.start_main_#in~argc#1, ULTIMATE.start_main_#in~argv#1.offset] {64317#true} is VALID [2022-02-20 21:00:32,255 INFO L290 TraceCheckUtils]: 13: Hoare triple {64317#true} [336] L-1-6-->L-1-7: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {64317#true} is VALID [2022-02-20 21:00:32,255 INFO L290 TraceCheckUtils]: 14: Hoare triple {64317#true} [312] L-1-7-->L718: Formula: true InVars {} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_1|, ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_1|, ULTIMATE.start_main_~i~1#1=|v_ULTIMATE.start_main_~i~1#1_1|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_1|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_1|, ULTIMATE.start_main_#t~post4#1=|v_ULTIMATE.start_main_#t~post4#1_1|, ULTIMATE.start_main_#t~mem5#1=|v_ULTIMATE.start_main_#t~mem5#1_1|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1, ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~1#1, ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t~0#1.offset, ULTIMATE.start_main_#t~post4#1, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~mem5#1, ULTIMATE.start_main_~#t~0#1.base, ULTIMATE.start_main_#t~pre2#1] {64317#true} is VALID [2022-02-20 21:00:32,255 INFO L290 TraceCheckUtils]: 15: Hoare triple {64317#true} [321] L718-->L718-1: Formula: (= |v_ULTIMATE.start_main_#in~argc#1_2| |v_ULTIMATE.start_main_~argc#1_2|) InVars {ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_2|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1] {64317#true} is VALID [2022-02-20 21:00:32,255 INFO L290 TraceCheckUtils]: 16: Hoare triple {64317#true} [358] L718-1-->L719: Formula: (and (= |v_ULTIMATE.start_main_~argv#1.offset_2| |v_ULTIMATE.start_main_#in~argv#1.offset_2|) (= |v_ULTIMATE.start_main_#in~argv#1.base_2| |v_ULTIMATE.start_main_~argv#1.base_2|)) InVars {ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|} OutVars{ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~argv#1.offset] {64317#true} is VALID [2022-02-20 21:00:32,255 INFO L290 TraceCheckUtils]: 17: Hoare triple {64317#true} [304] L719-->L719-1: Formula: (and (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 24)) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) 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_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] {64317#true} is VALID [2022-02-20 21:00:32,256 INFO L290 TraceCheckUtils]: 18: Hoare triple {64317#true} [343] L719-1-->L722: Formula: (= v_~x~0_2 0) InVars {} OutVars{~x~0=v_~x~0_2} AuxVars[] AssignedVars[~x~0] {64317#true} is VALID [2022-02-20 21:00:32,258 INFO L290 TraceCheckUtils]: 19: Hoare triple {64317#true} [355] L722-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 1) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {64384#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:32,258 INFO L290 TraceCheckUtils]: 20: Hoare triple {64384#(<= |ULTIMATE.start_main_~i~0#1| 1)} [324] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 5) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] {64384#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:32,258 INFO L290 TraceCheckUtils]: 21: Hoare triple {64384#(<= |ULTIMATE.start_main_~i~0#1| 1)} [320] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] {64384#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:32,259 INFO L290 TraceCheckUtils]: 22: Hoare triple {64384#(<= |ULTIMATE.start_main_~i~0#1| 1)} [346] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {64384#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:32,259 INFO L290 TraceCheckUtils]: 23: Hoare triple {64384#(<= |ULTIMATE.start_main_~i~0#1| 1)} [311] L724-2-->L724-3: Formula: (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| (* |v_ULTIMATE.start_main_~i~0#1_5| 4)) |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|) InVars {#memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{#memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] {64384#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 21:00:32,260 INFO L290 TraceCheckUtils]: 24: Hoare triple {64384#(<= |ULTIMATE.start_main_~i~0#1| 1)} [381] L724-3-->threadENTRY: Formula: (and (= |v_ULTIMATE.start_main_~i~0#1_25| |v_threadThread1of4ForFork0_#in~arg.offset_4|) (= |v_threadThread1of4ForFork0_#in~arg.base_4| 0) (= v_threadThread1of4ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_22|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_25|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_22|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_25|, threadThread1of4ForFork0_#res.base=|v_threadThread1of4ForFork0_#res.base_4|, threadThread1of4ForFork0_~arg.offset=v_threadThread1of4ForFork0_~arg.offset_6, threadThread1of4ForFork0_#res.offset=|v_threadThread1of4ForFork0_#res.offset_4|, threadThread1of4ForFork0_~arg.base=v_threadThread1of4ForFork0_~arg.base_6, threadThread1of4ForFork0_~thread~0=v_threadThread1of4ForFork0_~thread~0_6, threadThread1of4ForFork0_thidvar0=v_threadThread1of4ForFork0_thidvar0_2, threadThread1of4ForFork0_#in~arg.offset=|v_threadThread1of4ForFork0_#in~arg.offset_4|, threadThread1of4ForFork0_#in~arg.base=|v_threadThread1of4ForFork0_#in~arg.base_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_22|} AuxVars[] AssignedVars[threadThread1of4ForFork0_#res.base, threadThread1of4ForFork0_~arg.offset, threadThread1of4ForFork0_#res.offset, threadThread1of4ForFork0_~arg.base, threadThread1of4ForFork0_~thread~0, threadThread1of4ForFork0_thidvar0, threadThread1of4ForFork0_#in~arg.offset, threadThread1of4ForFork0_#in~arg.base] {64400#(and (<= |threadThread1of4ForFork0_#in~arg.offset| 1) (<= |threadThread1of4ForFork0_#in~arg.base| 0))} is VALID [2022-02-20 21:00:32,261 INFO L290 TraceCheckUtils]: 25: Hoare triple {64400#(and (<= |threadThread1of4ForFork0_#in~arg.offset| 1) (<= |threadThread1of4ForFork0_#in~arg.base| 0))} [365] threadENTRY-->L712: Formula: (and (= |v_threadThread1of4ForFork0_#in~arg.offset_1| v_threadThread1of4ForFork0_~arg.offset_1) (= v_threadThread1of4ForFork0_~arg.base_1 |v_threadThread1of4ForFork0_#in~arg.base_1|)) InVars {threadThread1of4ForFork0_#in~arg.base=|v_threadThread1of4ForFork0_#in~arg.base_1|, threadThread1of4ForFork0_#in~arg.offset=|v_threadThread1of4ForFork0_#in~arg.offset_1|} OutVars{threadThread1of4ForFork0_#in~arg.offset=|v_threadThread1of4ForFork0_#in~arg.offset_1|, threadThread1of4ForFork0_~arg.base=v_threadThread1of4ForFork0_~arg.base_1, threadThread1of4ForFork0_#in~arg.base=|v_threadThread1of4ForFork0_#in~arg.base_1|, threadThread1of4ForFork0_~arg.offset=v_threadThread1of4ForFork0_~arg.offset_1} AuxVars[] AssignedVars[threadThread1of4ForFork0_~arg.offset, threadThread1of4ForFork0_~arg.base] {64404#(and (<= threadThread1of4ForFork0_~arg.offset 1) (<= threadThread1of4ForFork0_~arg.base 0))} is VALID [2022-02-20 21:00:32,265 INFO L290 TraceCheckUtils]: 26: Hoare triple {64404#(and (<= threadThread1of4ForFork0_~arg.offset 1) (<= threadThread1of4ForFork0_~arg.base 0))} [366] L712-->L713: Formula: (= v_threadThread1of4ForFork0_~thread~0_1 (+ v_threadThread1of4ForFork0_~arg.base_3 v_threadThread1of4ForFork0_~arg.offset_3)) InVars {threadThread1of4ForFork0_~arg.offset=v_threadThread1of4ForFork0_~arg.offset_3, threadThread1of4ForFork0_~arg.base=v_threadThread1of4ForFork0_~arg.base_3} OutVars{threadThread1of4ForFork0_~arg.base=v_threadThread1of4ForFork0_~arg.base_3, threadThread1of4ForFork0_~thread~0=v_threadThread1of4ForFork0_~thread~0_1, threadThread1of4ForFork0_~arg.offset=v_threadThread1of4ForFork0_~arg.offset_3} AuxVars[] AssignedVars[threadThread1of4ForFork0_~thread~0] {64322#(<= threadThread1of4ForFork0_~thread~0 1)} is VALID [2022-02-20 21:00:32,266 INFO L290 TraceCheckUtils]: 27: Hoare triple {64322#(<= threadThread1of4ForFork0_~thread~0 1)} [367] L713-->L715: Formula: (= v_threadThread1of4ForFork0_~thread~0_3 v_~x~0_5) InVars {threadThread1of4ForFork0_~thread~0=v_threadThread1of4ForFork0_~thread~0_3} OutVars{~x~0=v_~x~0_5, threadThread1of4ForFork0_~thread~0=v_threadThread1of4ForFork0_~thread~0_3} AuxVars[] AssignedVars[~x~0] {64323#(<= ~x~0 1)} is VALID [2022-02-20 21:00:32,266 INFO L290 TraceCheckUtils]: 28: Hoare triple {64323#(<= ~x~0 1)} [356] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] {64323#(<= ~x~0 1)} is VALID [2022-02-20 21:00:32,267 INFO L290 TraceCheckUtils]: 29: Hoare triple {64323#(<= ~x~0 1)} [309] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] {64323#(<= ~x~0 1)} is VALID [2022-02-20 21:00:32,267 INFO L290 TraceCheckUtils]: 30: Hoare triple {64323#(<= ~x~0 1)} [338] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] {64323#(<= ~x~0 1)} is VALID [2022-02-20 21:00:32,267 INFO L290 TraceCheckUtils]: 31: Hoare triple {64323#(<= ~x~0 1)} [317] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {64323#(<= ~x~0 1)} is VALID [2022-02-20 21:00:32,271 INFO L290 TraceCheckUtils]: 32: Hoare triple {64323#(<= ~x~0 1)} [333] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] {64323#(<= ~x~0 1)} is VALID [2022-02-20 21:00:32,271 INFO L290 TraceCheckUtils]: 33: Hoare triple {64323#(<= ~x~0 1)} [324] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 5) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] {64323#(<= ~x~0 1)} is VALID [2022-02-20 21:00:32,271 INFO L290 TraceCheckUtils]: 34: Hoare triple {64323#(<= ~x~0 1)} [320] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] {64323#(<= ~x~0 1)} is VALID [2022-02-20 21:00:32,272 INFO L290 TraceCheckUtils]: 35: Hoare triple {64323#(<= ~x~0 1)} [346] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {64323#(<= ~x~0 1)} is VALID [2022-02-20 21:00:32,272 INFO L290 TraceCheckUtils]: 36: Hoare triple {64323#(<= ~x~0 1)} [311] L724-2-->L724-3: Formula: (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| (* |v_ULTIMATE.start_main_~i~0#1_5| 4)) |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|) InVars {#memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{#memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] {64323#(<= ~x~0 1)} is VALID [2022-02-20 21:00:32,272 INFO L290 TraceCheckUtils]: 37: Hoare triple {64323#(<= ~x~0 1)} [382] L724-3-->threadENTRY: Formula: (and (= v_threadThread2of4ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_24|) (= |v_ULTIMATE.start_main_~i~0#1_27| |v_threadThread2of4ForFork0_#in~arg.offset_4|) (= 0 |v_threadThread2of4ForFork0_#in~arg.base_4|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_27|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_24|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_27|, threadThread2of4ForFork0_#in~arg.offset=|v_threadThread2of4ForFork0_#in~arg.offset_4|, threadThread2of4ForFork0_~arg.offset=v_threadThread2of4ForFork0_~arg.offset_6, threadThread2of4ForFork0_thidvar0=v_threadThread2of4ForFork0_thidvar0_2, threadThread2of4ForFork0_#res.base=|v_threadThread2of4ForFork0_#res.base_4|, threadThread2of4ForFork0_#in~arg.base=|v_threadThread2of4ForFork0_#in~arg.base_4|, threadThread2of4ForFork0_~arg.base=v_threadThread2of4ForFork0_~arg.base_6, threadThread2of4ForFork0_~thread~0=v_threadThread2of4ForFork0_~thread~0_6, threadThread2of4ForFork0_#res.offset=|v_threadThread2of4ForFork0_#res.offset_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_24|} AuxVars[] AssignedVars[threadThread2of4ForFork0_#in~arg.offset, threadThread2of4ForFork0_~arg.offset, threadThread2of4ForFork0_thidvar0, threadThread2of4ForFork0_#res.base, threadThread2of4ForFork0_#in~arg.base, threadThread2of4ForFork0_~arg.base, threadThread2of4ForFork0_~thread~0, threadThread2of4ForFork0_#res.offset] {64323#(<= ~x~0 1)} is VALID [2022-02-20 21:00:32,273 INFO L290 TraceCheckUtils]: 38: Hoare triple {64323#(<= ~x~0 1)} [356] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] {64323#(<= ~x~0 1)} is VALID [2022-02-20 21:00:32,273 INFO L290 TraceCheckUtils]: 39: Hoare triple {64323#(<= ~x~0 1)} [309] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] {64323#(<= ~x~0 1)} is VALID [2022-02-20 21:00:32,274 INFO L290 TraceCheckUtils]: 40: Hoare triple {64323#(<= ~x~0 1)} [338] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] {64323#(<= ~x~0 1)} is VALID [2022-02-20 21:00:32,275 INFO L290 TraceCheckUtils]: 41: Hoare triple {64323#(<= ~x~0 1)} [317] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {64323#(<= ~x~0 1)} is VALID [2022-02-20 21:00:32,275 INFO L290 TraceCheckUtils]: 42: Hoare triple {64323#(<= ~x~0 1)} [333] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] {64323#(<= ~x~0 1)} is VALID [2022-02-20 21:00:32,275 INFO L290 TraceCheckUtils]: 43: Hoare triple {64323#(<= ~x~0 1)} [324] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 5) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] {64323#(<= ~x~0 1)} is VALID [2022-02-20 21:00:32,276 INFO L290 TraceCheckUtils]: 44: Hoare triple {64323#(<= ~x~0 1)} [320] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] {64323#(<= ~x~0 1)} is VALID [2022-02-20 21:00:32,276 INFO L290 TraceCheckUtils]: 45: Hoare triple {64323#(<= ~x~0 1)} [346] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {64323#(<= ~x~0 1)} is VALID [2022-02-20 21:00:32,277 INFO L290 TraceCheckUtils]: 46: Hoare triple {64323#(<= ~x~0 1)} [311] L724-2-->L724-3: Formula: (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| (* |v_ULTIMATE.start_main_~i~0#1_5| 4)) |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|) InVars {#memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{#memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] {64323#(<= ~x~0 1)} is VALID [2022-02-20 21:00:32,277 INFO L290 TraceCheckUtils]: 47: Hoare triple {64323#(<= ~x~0 1)} [383] L724-3-->threadENTRY: Formula: (and (= |v_threadThread3of4ForFork0_#in~arg.base_4| 0) (= v_threadThread3of4ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_26|) (= |v_ULTIMATE.start_main_~i~0#1_29| |v_threadThread3of4ForFork0_#in~arg.offset_4|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_29|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_26|} OutVars{threadThread3of4ForFork0_#in~arg.offset=|v_threadThread3of4ForFork0_#in~arg.offset_4|, threadThread3of4ForFork0_~thread~0=v_threadThread3of4ForFork0_~thread~0_6, threadThread3of4ForFork0_thidvar0=v_threadThread3of4ForFork0_thidvar0_2, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_29|, threadThread3of4ForFork0_~arg.offset=v_threadThread3of4ForFork0_~arg.offset_6, threadThread3of4ForFork0_#res.base=|v_threadThread3of4ForFork0_#res.base_4|, threadThread3of4ForFork0_~arg.base=v_threadThread3of4ForFork0_~arg.base_6, threadThread3of4ForFork0_#in~arg.base=|v_threadThread3of4ForFork0_#in~arg.base_4|, threadThread3of4ForFork0_#res.offset=|v_threadThread3of4ForFork0_#res.offset_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_26|} AuxVars[] AssignedVars[threadThread3of4ForFork0_#in~arg.offset, threadThread3of4ForFork0_~thread~0, threadThread3of4ForFork0_thidvar0, threadThread3of4ForFork0_~arg.offset, threadThread3of4ForFork0_#res.base, threadThread3of4ForFork0_~arg.base, threadThread3of4ForFork0_#in~arg.base, threadThread3of4ForFork0_#res.offset] {64323#(<= ~x~0 1)} is VALID [2022-02-20 21:00:32,277 INFO L290 TraceCheckUtils]: 48: Hoare triple {64323#(<= ~x~0 1)} [356] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] {64323#(<= ~x~0 1)} is VALID [2022-02-20 21:00:32,278 INFO L290 TraceCheckUtils]: 49: Hoare triple {64323#(<= ~x~0 1)} [309] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] {64323#(<= ~x~0 1)} is VALID [2022-02-20 21:00:32,278 INFO L290 TraceCheckUtils]: 50: Hoare triple {64323#(<= ~x~0 1)} [338] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] {64323#(<= ~x~0 1)} is VALID [2022-02-20 21:00:32,278 INFO L290 TraceCheckUtils]: 51: Hoare triple {64323#(<= ~x~0 1)} [317] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {64323#(<= ~x~0 1)} is VALID [2022-02-20 21:00:32,279 INFO L290 TraceCheckUtils]: 52: Hoare triple {64323#(<= ~x~0 1)} [333] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] {64323#(<= ~x~0 1)} is VALID [2022-02-20 21:00:32,279 INFO L290 TraceCheckUtils]: 53: Hoare triple {64323#(<= ~x~0 1)} [323] L723-5-->L723-6: Formula: (not (<= |v_ULTIMATE.start_main_~i~0#1_3| 5)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} AuxVars[] AssignedVars[] {64323#(<= ~x~0 1)} is VALID [2022-02-20 21:00:32,280 INFO L290 TraceCheckUtils]: 54: Hoare triple {64323#(<= ~x~0 1)} [307] L723-6-->L727: Formula: (not (< v_~x~0_4 6)) InVars {~x~0=v_~x~0_4} OutVars{~x~0=v_~x~0_4} AuxVars[] AssignedVars[] {64318#false} is VALID [2022-02-20 21:00:32,280 INFO L290 TraceCheckUtils]: 55: Hoare triple {64318#false} [314] L727-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {64318#false} is VALID [2022-02-20 21:00:32,280 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 0 proven. 11 refuted. 0 times theorem prover too weak. 22 trivial. 0 not checked. [2022-02-20 21:00:32,280 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 21:00:32,544 INFO L290 TraceCheckUtils]: 55: Hoare triple {64318#false} [314] L727-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {64318#false} is VALID [2022-02-20 21:00:32,545 INFO L290 TraceCheckUtils]: 54: Hoare triple {64498#(< ~x~0 6)} [307] L723-6-->L727: Formula: (not (< v_~x~0_4 6)) InVars {~x~0=v_~x~0_4} OutVars{~x~0=v_~x~0_4} AuxVars[] AssignedVars[] {64318#false} is VALID [2022-02-20 21:00:32,545 INFO L290 TraceCheckUtils]: 53: Hoare triple {64498#(< ~x~0 6)} [323] L723-5-->L723-6: Formula: (not (<= |v_ULTIMATE.start_main_~i~0#1_3| 5)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_3|} AuxVars[] AssignedVars[] {64498#(< ~x~0 6)} is VALID [2022-02-20 21:00:32,546 INFO L290 TraceCheckUtils]: 52: Hoare triple {64498#(< ~x~0 6)} [333] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] {64498#(< ~x~0 6)} is VALID [2022-02-20 21:00:32,546 INFO L290 TraceCheckUtils]: 51: Hoare triple {64498#(< ~x~0 6)} [317] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {64498#(< ~x~0 6)} is VALID [2022-02-20 21:00:32,546 INFO L290 TraceCheckUtils]: 50: Hoare triple {64498#(< ~x~0 6)} [338] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] {64498#(< ~x~0 6)} is VALID [2022-02-20 21:00:32,547 INFO L290 TraceCheckUtils]: 49: Hoare triple {64498#(< ~x~0 6)} [309] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] {64498#(< ~x~0 6)} is VALID [2022-02-20 21:00:32,547 INFO L290 TraceCheckUtils]: 48: Hoare triple {64498#(< ~x~0 6)} [356] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] {64498#(< ~x~0 6)} is VALID [2022-02-20 21:00:32,547 INFO L290 TraceCheckUtils]: 47: Hoare triple {64498#(< ~x~0 6)} [383] L724-3-->threadENTRY: Formula: (and (= |v_threadThread3of4ForFork0_#in~arg.base_4| 0) (= v_threadThread3of4ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_26|) (= |v_ULTIMATE.start_main_~i~0#1_29| |v_threadThread3of4ForFork0_#in~arg.offset_4|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_29|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_26|} OutVars{threadThread3of4ForFork0_#in~arg.offset=|v_threadThread3of4ForFork0_#in~arg.offset_4|, threadThread3of4ForFork0_~thread~0=v_threadThread3of4ForFork0_~thread~0_6, threadThread3of4ForFork0_thidvar0=v_threadThread3of4ForFork0_thidvar0_2, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_29|, threadThread3of4ForFork0_~arg.offset=v_threadThread3of4ForFork0_~arg.offset_6, threadThread3of4ForFork0_#res.base=|v_threadThread3of4ForFork0_#res.base_4|, threadThread3of4ForFork0_~arg.base=v_threadThread3of4ForFork0_~arg.base_6, threadThread3of4ForFork0_#in~arg.base=|v_threadThread3of4ForFork0_#in~arg.base_4|, threadThread3of4ForFork0_#res.offset=|v_threadThread3of4ForFork0_#res.offset_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_26|} AuxVars[] AssignedVars[threadThread3of4ForFork0_#in~arg.offset, threadThread3of4ForFork0_~thread~0, threadThread3of4ForFork0_thidvar0, threadThread3of4ForFork0_~arg.offset, threadThread3of4ForFork0_#res.base, threadThread3of4ForFork0_~arg.base, threadThread3of4ForFork0_#in~arg.base, threadThread3of4ForFork0_#res.offset] {64498#(< ~x~0 6)} is VALID [2022-02-20 21:00:32,548 INFO L290 TraceCheckUtils]: 46: Hoare triple {64498#(< ~x~0 6)} [311] L724-2-->L724-3: Formula: (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| (* |v_ULTIMATE.start_main_~i~0#1_5| 4)) |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|) InVars {#memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{#memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] {64498#(< ~x~0 6)} is VALID [2022-02-20 21:00:32,548 INFO L290 TraceCheckUtils]: 45: Hoare triple {64498#(< ~x~0 6)} [346] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {64498#(< ~x~0 6)} is VALID [2022-02-20 21:00:32,548 INFO L290 TraceCheckUtils]: 44: Hoare triple {64498#(< ~x~0 6)} [320] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] {64498#(< ~x~0 6)} is VALID [2022-02-20 21:00:32,549 INFO L290 TraceCheckUtils]: 43: Hoare triple {64498#(< ~x~0 6)} [324] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 5) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] {64498#(< ~x~0 6)} is VALID [2022-02-20 21:00:32,549 INFO L290 TraceCheckUtils]: 42: Hoare triple {64498#(< ~x~0 6)} [333] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] {64498#(< ~x~0 6)} is VALID [2022-02-20 21:00:32,549 INFO L290 TraceCheckUtils]: 41: Hoare triple {64498#(< ~x~0 6)} [317] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {64498#(< ~x~0 6)} is VALID [2022-02-20 21:00:32,550 INFO L290 TraceCheckUtils]: 40: Hoare triple {64498#(< ~x~0 6)} [338] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] {64498#(< ~x~0 6)} is VALID [2022-02-20 21:00:32,550 INFO L290 TraceCheckUtils]: 39: Hoare triple {64498#(< ~x~0 6)} [309] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] {64498#(< ~x~0 6)} is VALID [2022-02-20 21:00:32,550 INFO L290 TraceCheckUtils]: 38: Hoare triple {64498#(< ~x~0 6)} [356] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] {64498#(< ~x~0 6)} is VALID [2022-02-20 21:00:32,551 INFO L290 TraceCheckUtils]: 37: Hoare triple {64498#(< ~x~0 6)} [382] L724-3-->threadENTRY: Formula: (and (= v_threadThread2of4ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_24|) (= |v_ULTIMATE.start_main_~i~0#1_27| |v_threadThread2of4ForFork0_#in~arg.offset_4|) (= 0 |v_threadThread2of4ForFork0_#in~arg.base_4|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_27|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_24|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_27|, threadThread2of4ForFork0_#in~arg.offset=|v_threadThread2of4ForFork0_#in~arg.offset_4|, threadThread2of4ForFork0_~arg.offset=v_threadThread2of4ForFork0_~arg.offset_6, threadThread2of4ForFork0_thidvar0=v_threadThread2of4ForFork0_thidvar0_2, threadThread2of4ForFork0_#res.base=|v_threadThread2of4ForFork0_#res.base_4|, threadThread2of4ForFork0_#in~arg.base=|v_threadThread2of4ForFork0_#in~arg.base_4|, threadThread2of4ForFork0_~arg.base=v_threadThread2of4ForFork0_~arg.base_6, threadThread2of4ForFork0_~thread~0=v_threadThread2of4ForFork0_~thread~0_6, threadThread2of4ForFork0_#res.offset=|v_threadThread2of4ForFork0_#res.offset_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_24|} AuxVars[] AssignedVars[threadThread2of4ForFork0_#in~arg.offset, threadThread2of4ForFork0_~arg.offset, threadThread2of4ForFork0_thidvar0, threadThread2of4ForFork0_#res.base, threadThread2of4ForFork0_#in~arg.base, threadThread2of4ForFork0_~arg.base, threadThread2of4ForFork0_~thread~0, threadThread2of4ForFork0_#res.offset] {64498#(< ~x~0 6)} is VALID [2022-02-20 21:00:32,551 INFO L290 TraceCheckUtils]: 36: Hoare triple {64498#(< ~x~0 6)} [311] L724-2-->L724-3: Formula: (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| (* |v_ULTIMATE.start_main_~i~0#1_5| 4)) |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|) InVars {#memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{#memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] {64498#(< ~x~0 6)} is VALID [2022-02-20 21:00:32,551 INFO L290 TraceCheckUtils]: 35: Hoare triple {64498#(< ~x~0 6)} [346] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {64498#(< ~x~0 6)} is VALID [2022-02-20 21:00:32,552 INFO L290 TraceCheckUtils]: 34: Hoare triple {64498#(< ~x~0 6)} [320] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] {64498#(< ~x~0 6)} is VALID [2022-02-20 21:00:32,552 INFO L290 TraceCheckUtils]: 33: Hoare triple {64498#(< ~x~0 6)} [324] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 5) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] {64498#(< ~x~0 6)} is VALID [2022-02-20 21:00:32,552 INFO L290 TraceCheckUtils]: 32: Hoare triple {64498#(< ~x~0 6)} [333] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] {64498#(< ~x~0 6)} is VALID [2022-02-20 21:00:32,553 INFO L290 TraceCheckUtils]: 31: Hoare triple {64498#(< ~x~0 6)} [317] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {64498#(< ~x~0 6)} is VALID [2022-02-20 21:00:32,553 INFO L290 TraceCheckUtils]: 30: Hoare triple {64498#(< ~x~0 6)} [338] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] {64498#(< ~x~0 6)} is VALID [2022-02-20 21:00:32,553 INFO L290 TraceCheckUtils]: 29: Hoare triple {64498#(< ~x~0 6)} [309] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] {64498#(< ~x~0 6)} is VALID [2022-02-20 21:00:32,554 INFO L290 TraceCheckUtils]: 28: Hoare triple {64498#(< ~x~0 6)} [356] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] {64498#(< ~x~0 6)} is VALID [2022-02-20 21:00:32,554 INFO L290 TraceCheckUtils]: 27: Hoare triple {64580#(< threadThread1of4ForFork0_~thread~0 6)} [367] L713-->L715: Formula: (= v_threadThread1of4ForFork0_~thread~0_3 v_~x~0_5) InVars {threadThread1of4ForFork0_~thread~0=v_threadThread1of4ForFork0_~thread~0_3} OutVars{~x~0=v_~x~0_5, threadThread1of4ForFork0_~thread~0=v_threadThread1of4ForFork0_~thread~0_3} AuxVars[] AssignedVars[~x~0] {64498#(< ~x~0 6)} is VALID [2022-02-20 21:00:32,555 INFO L290 TraceCheckUtils]: 26: Hoare triple {64584#(< (+ threadThread1of4ForFork0_~arg.offset threadThread1of4ForFork0_~arg.base) 6)} [366] L712-->L713: Formula: (= v_threadThread1of4ForFork0_~thread~0_1 (+ v_threadThread1of4ForFork0_~arg.base_3 v_threadThread1of4ForFork0_~arg.offset_3)) InVars {threadThread1of4ForFork0_~arg.offset=v_threadThread1of4ForFork0_~arg.offset_3, threadThread1of4ForFork0_~arg.base=v_threadThread1of4ForFork0_~arg.base_3} OutVars{threadThread1of4ForFork0_~arg.base=v_threadThread1of4ForFork0_~arg.base_3, threadThread1of4ForFork0_~thread~0=v_threadThread1of4ForFork0_~thread~0_1, threadThread1of4ForFork0_~arg.offset=v_threadThread1of4ForFork0_~arg.offset_3} AuxVars[] AssignedVars[threadThread1of4ForFork0_~thread~0] {64580#(< threadThread1of4ForFork0_~thread~0 6)} is VALID [2022-02-20 21:00:32,555 INFO L290 TraceCheckUtils]: 25: Hoare triple {64588#(< (+ |threadThread1of4ForFork0_#in~arg.base| |threadThread1of4ForFork0_#in~arg.offset|) 6)} [365] threadENTRY-->L712: Formula: (and (= |v_threadThread1of4ForFork0_#in~arg.offset_1| v_threadThread1of4ForFork0_~arg.offset_1) (= v_threadThread1of4ForFork0_~arg.base_1 |v_threadThread1of4ForFork0_#in~arg.base_1|)) InVars {threadThread1of4ForFork0_#in~arg.base=|v_threadThread1of4ForFork0_#in~arg.base_1|, threadThread1of4ForFork0_#in~arg.offset=|v_threadThread1of4ForFork0_#in~arg.offset_1|} OutVars{threadThread1of4ForFork0_#in~arg.offset=|v_threadThread1of4ForFork0_#in~arg.offset_1|, threadThread1of4ForFork0_~arg.base=v_threadThread1of4ForFork0_~arg.base_1, threadThread1of4ForFork0_#in~arg.base=|v_threadThread1of4ForFork0_#in~arg.base_1|, threadThread1of4ForFork0_~arg.offset=v_threadThread1of4ForFork0_~arg.offset_1} AuxVars[] AssignedVars[threadThread1of4ForFork0_~arg.offset, threadThread1of4ForFork0_~arg.base] {64584#(< (+ threadThread1of4ForFork0_~arg.offset threadThread1of4ForFork0_~arg.base) 6)} is VALID [2022-02-20 21:00:32,556 INFO L290 TraceCheckUtils]: 24: Hoare triple {64592#(< |ULTIMATE.start_main_~i~0#1| 6)} [381] L724-3-->threadENTRY: Formula: (and (= |v_ULTIMATE.start_main_~i~0#1_25| |v_threadThread1of4ForFork0_#in~arg.offset_4|) (= |v_threadThread1of4ForFork0_#in~arg.base_4| 0) (= v_threadThread1of4ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_22|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_25|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_22|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_25|, threadThread1of4ForFork0_#res.base=|v_threadThread1of4ForFork0_#res.base_4|, threadThread1of4ForFork0_~arg.offset=v_threadThread1of4ForFork0_~arg.offset_6, threadThread1of4ForFork0_#res.offset=|v_threadThread1of4ForFork0_#res.offset_4|, threadThread1of4ForFork0_~arg.base=v_threadThread1of4ForFork0_~arg.base_6, threadThread1of4ForFork0_~thread~0=v_threadThread1of4ForFork0_~thread~0_6, threadThread1of4ForFork0_thidvar0=v_threadThread1of4ForFork0_thidvar0_2, threadThread1of4ForFork0_#in~arg.offset=|v_threadThread1of4ForFork0_#in~arg.offset_4|, threadThread1of4ForFork0_#in~arg.base=|v_threadThread1of4ForFork0_#in~arg.base_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_22|} AuxVars[] AssignedVars[threadThread1of4ForFork0_#res.base, threadThread1of4ForFork0_~arg.offset, threadThread1of4ForFork0_#res.offset, threadThread1of4ForFork0_~arg.base, threadThread1of4ForFork0_~thread~0, threadThread1of4ForFork0_thidvar0, threadThread1of4ForFork0_#in~arg.offset, threadThread1of4ForFork0_#in~arg.base] {64588#(< (+ |threadThread1of4ForFork0_#in~arg.base| |threadThread1of4ForFork0_#in~arg.offset|) 6)} is VALID [2022-02-20 21:00:32,556 INFO L290 TraceCheckUtils]: 23: Hoare triple {64592#(< |ULTIMATE.start_main_~i~0#1| 6)} [311] L724-2-->L724-3: Formula: (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| (* |v_ULTIMATE.start_main_~i~0#1_5| 4)) |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|) InVars {#memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{#memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] {64592#(< |ULTIMATE.start_main_~i~0#1| 6)} is VALID [2022-02-20 21:00:32,557 INFO L290 TraceCheckUtils]: 22: Hoare triple {64592#(< |ULTIMATE.start_main_~i~0#1| 6)} [346] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {64592#(< |ULTIMATE.start_main_~i~0#1| 6)} is VALID [2022-02-20 21:00:32,557 INFO L290 TraceCheckUtils]: 21: Hoare triple {64592#(< |ULTIMATE.start_main_~i~0#1| 6)} [320] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] {64592#(< |ULTIMATE.start_main_~i~0#1| 6)} is VALID [2022-02-20 21:00:32,557 INFO L290 TraceCheckUtils]: 20: Hoare triple {64592#(< |ULTIMATE.start_main_~i~0#1| 6)} [324] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 5) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] {64592#(< |ULTIMATE.start_main_~i~0#1| 6)} is VALID [2022-02-20 21:00:32,558 INFO L290 TraceCheckUtils]: 19: Hoare triple {64317#true} [355] L722-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 1) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] {64592#(< |ULTIMATE.start_main_~i~0#1| 6)} is VALID [2022-02-20 21:00:32,558 INFO L290 TraceCheckUtils]: 18: Hoare triple {64317#true} [343] L719-1-->L722: Formula: (= v_~x~0_2 0) InVars {} OutVars{~x~0=v_~x~0_2} AuxVars[] AssignedVars[~x~0] {64317#true} is VALID [2022-02-20 21:00:32,558 INFO L290 TraceCheckUtils]: 17: Hoare triple {64317#true} [304] L719-->L719-1: Formula: (and (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 24)) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) 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_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] {64317#true} is VALID [2022-02-20 21:00:32,558 INFO L290 TraceCheckUtils]: 16: Hoare triple {64317#true} [358] L718-1-->L719: Formula: (and (= |v_ULTIMATE.start_main_~argv#1.offset_2| |v_ULTIMATE.start_main_#in~argv#1.offset_2|) (= |v_ULTIMATE.start_main_#in~argv#1.base_2| |v_ULTIMATE.start_main_~argv#1.base_2|)) InVars {ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|} OutVars{ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~argv#1.offset] {64317#true} is VALID [2022-02-20 21:00:32,558 INFO L290 TraceCheckUtils]: 15: Hoare triple {64317#true} [321] L718-->L718-1: Formula: (= |v_ULTIMATE.start_main_#in~argc#1_2| |v_ULTIMATE.start_main_~argc#1_2|) InVars {ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_2|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1] {64317#true} is VALID [2022-02-20 21:00:32,558 INFO L290 TraceCheckUtils]: 14: Hoare triple {64317#true} [312] L-1-7-->L718: Formula: true InVars {} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_1|, ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_1|, ULTIMATE.start_main_~i~1#1=|v_ULTIMATE.start_main_~i~1#1_1|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_1|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_1|, ULTIMATE.start_main_#t~post4#1=|v_ULTIMATE.start_main_#t~post4#1_1|, ULTIMATE.start_main_#t~mem5#1=|v_ULTIMATE.start_main_#t~mem5#1_1|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1, ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~i~1#1, ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t~0#1.offset, ULTIMATE.start_main_#t~post4#1, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~mem5#1, ULTIMATE.start_main_~#t~0#1.base, ULTIMATE.start_main_#t~pre2#1] {64317#true} is VALID [2022-02-20 21:00:32,559 INFO L290 TraceCheckUtils]: 13: Hoare triple {64317#true} [336] L-1-6-->L-1-7: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {64317#true} is VALID [2022-02-20 21:00:32,559 INFO L290 TraceCheckUtils]: 12: Hoare triple {64317#true} [316] L-1-5-->L-1-6: Formula: (and (= |v_ULTIMATE.start_#in~argv#1.offset_1| |v_ULTIMATE.start_main_#in~argv#1.offset_1|) (= |v_ULTIMATE.start_main_#in~argv#1.base_1| |v_ULTIMATE.start_#in~argv#1.base_1|) (= |v_ULTIMATE.start_main_#in~argc#1_1| |v_ULTIMATE.start_#in~argc#1_1|)) InVars {ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} OutVars{ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_1|, ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_1|, ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#in~argv#1.base, ULTIMATE.start_main_#in~argc#1, ULTIMATE.start_main_#in~argv#1.offset] {64317#true} is VALID [2022-02-20 21:00:32,559 INFO L290 TraceCheckUtils]: 11: Hoare triple {64317#true} [337] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {64317#true} is VALID [2022-02-20 21:00:32,559 INFO L290 TraceCheckUtils]: 10: Hoare triple {64317#true} [354] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {64317#true} is VALID [2022-02-20 21:00:32,559 INFO L290 TraceCheckUtils]: 9: Hoare triple {64317#true} [332] L16-5-->L-1-3: Formula: (= v_~x~0_1 0) InVars {} OutVars{~x~0=v_~x~0_1} AuxVars[] AssignedVars[~x~0] {64317#true} is VALID [2022-02-20 21:00:32,559 INFO L290 TraceCheckUtils]: 8: Hoare triple {64317#true} [342] L16-4-->L16-5: Formula: (= (select (select |v_#memory_int_3| 2) 0) 0) InVars {#memory_int=|v_#memory_int_3|} OutVars{#memory_int=|v_#memory_int_3|} AuxVars[] AssignedVars[] {64317#true} is VALID [2022-02-20 21:00:32,560 INFO L290 TraceCheckUtils]: 7: Hoare triple {64317#true} [339] L16-3-->L16-4: Formula: (and (= (select |v_#valid_3| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {64317#true} is VALID [2022-02-20 21:00:32,560 INFO L290 TraceCheckUtils]: 6: Hoare triple {64317#true} [357] L16-2-->L16-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[] {64317#true} is VALID [2022-02-20 21:00:32,560 INFO L290 TraceCheckUtils]: 5: Hoare triple {64317#true} [302] L16-1-->L16-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[] {64317#true} is VALID [2022-02-20 21:00:32,560 INFO L290 TraceCheckUtils]: 4: Hoare triple {64317#true} [334] L16-->L16-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[] {64317#true} is VALID [2022-02-20 21:00:32,560 INFO L290 TraceCheckUtils]: 3: Hoare triple {64317#true} [353] L-1-2-->L16: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {64317#true} is VALID [2022-02-20 21:00:32,560 INFO L290 TraceCheckUtils]: 2: Hoare triple {64317#true} [352] 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[] {64317#true} is VALID [2022-02-20 21:00:32,561 INFO L290 TraceCheckUtils]: 1: Hoare triple {64317#true} [335] 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] {64317#true} is VALID [2022-02-20 21:00:32,561 INFO L290 TraceCheckUtils]: 0: Hoare triple {64317#true} [345] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {64317#true} is VALID [2022-02-20 21:00:32,561 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 0 proven. 11 refuted. 0 times theorem prover too weak. 22 trivial. 0 not checked. [2022-02-20 21:00:32,561 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [772321086] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 21:00:32,561 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 21:00:32,562 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7, 7] total 15 [2022-02-20 21:00:32,562 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [710167424] [2022-02-20 21:00:32,562 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 21:00:32,562 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 4.8) internal successors, (72), 15 states have internal predecessors, (72), 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 56 [2022-02-20 21:00:32,563 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:00:32,563 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 4.8) internal successors, (72), 15 states have internal predecessors, (72), 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 21:00:32,609 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 21:00:32,609 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-02-20 21:00:32,609 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:00:32,610 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-02-20 21:00:32,610 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=38, Invalid=172, Unknown=0, NotChecked=0, Total=210 [2022-02-20 21:00:32,611 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 51 out of 80 [2022-02-20 21:00:32,612 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 81 places, 68 transitions, 222 flow. Second operand has 15 states, 15 states have (on average 53.6) internal successors, (804), 15 states have internal predecessors, (804), 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 21:00:32,612 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 21:00:32,612 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 51 of 80 [2022-02-20 21:00:32,612 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand