./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/pthread-deagle/floating_read-15.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-15.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 abe6fcc2bea9781e0ab07417eb8616a5b638529e720de8eddec3568cb8edc6ea --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 21:00:02,963 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 21:00:02,971 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 21:00:02,990 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 21:00:02,991 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 21:00:02,992 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 21:00:02,992 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 21:00:02,994 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 21:00:02,995 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 21:00:02,995 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 21:00:02,996 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 21:00:02,997 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 21:00:02,997 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 21:00:02,998 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 21:00:02,998 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 21:00:02,999 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 21:00:03,000 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 21:00:03,000 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 21:00:03,001 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 21:00:03,002 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 21:00:03,003 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 21:00:03,020 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 21:00:03,020 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 21:00:03,021 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 21:00:03,022 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 21:00:03,023 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 21:00:03,023 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 21:00:03,023 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 21:00:03,024 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 21:00:03,024 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 21:00:03,024 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 21:00:03,025 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 21:00:03,025 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 21:00:03,026 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 21:00:03,026 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 21:00:03,027 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 21:00:03,027 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 21:00:03,027 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 21:00:03,027 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 21:00:03,028 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 21:00:03,028 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 21:00:03,030 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:03,043 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 21:00:03,043 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 21:00:03,044 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 21:00:03,044 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 21:00:03,044 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 21:00:03,045 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 21:00:03,045 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 21:00:03,045 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 21:00:03,045 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 21:00:03,046 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 21:00:03,046 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 21:00:03,046 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 21:00:03,046 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 21:00:03,047 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 21:00:03,047 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 21:00:03,047 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 21:00:03,047 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 21:00:03,047 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 21:00:03,048 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 21:00:03,048 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 21:00:03,048 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 21:00:03,048 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 21:00:03,048 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 21:00:03,049 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 21:00:03,049 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 21:00:03,049 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 21:00:03,049 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 21:00:03,049 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 21:00:03,050 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 21:00:03,050 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 21:00:03,050 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 21:00:03,050 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 21:00:03,050 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 21:00:03,050 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 -> abe6fcc2bea9781e0ab07417eb8616a5b638529e720de8eddec3568cb8edc6ea [2022-02-20 21:00:03,259 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 21:00:03,278 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 21:00:03,280 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 21:00:03,280 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 21:00:03,281 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 21:00:03,282 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/pthread-deagle/floating_read-15.i [2022-02-20 21:00:03,324 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3c2100600/d2c05d970a6744b3b7fffbdfcc3a0087/FLAG93e5de11e [2022-02-20 21:00:03,714 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 21:00:03,714 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/pthread-deagle/floating_read-15.i [2022-02-20 21:00:03,723 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3c2100600/d2c05d970a6744b3b7fffbdfcc3a0087/FLAG93e5de11e [2022-02-20 21:00:03,731 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3c2100600/d2c05d970a6744b3b7fffbdfcc3a0087 [2022-02-20 21:00:03,740 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 21:00:03,741 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 21:00:03,743 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 21:00:03,743 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 21:00:03,745 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 21:00:03,746 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 09:00:03" (1/1) ... [2022-02-20 21:00:03,749 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@5fd45c31 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:00:03, skipping insertion in model container [2022-02-20 21:00:03,749 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 09:00:03" (1/1) ... [2022-02-20 21:00:03,753 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 21:00:03,784 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 21:00:04,031 WARN L1545 CHandler]: Possible shadowing of function thread [2022-02-20 21:00:04,041 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-15.i[31197,31210] [2022-02-20 21:00:04,047 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 21:00:04,052 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 21:00:04,078 WARN L1545 CHandler]: Possible shadowing of function thread [2022-02-20 21:00:04,081 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-15.i[31197,31210] [2022-02-20 21:00:04,082 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 21:00:04,113 INFO L208 MainTranslator]: Completed translation [2022-02-20 21:00:04,114 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:00:04 WrapperNode [2022-02-20 21:00:04,114 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 21:00:04,115 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 21:00:04,115 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 21:00:04,115 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 21:00:04,119 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:04" (1/1) ... [2022-02-20 21:00:04,146 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:04" (1/1) ... [2022-02-20 21:00:04,165 INFO L137 Inliner]: procedures = 162, calls = 17, calls flagged for inlining = 2, calls inlined = 2, statements flattened = 52 [2022-02-20 21:00:04,165 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 21:00:04,166 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 21:00:04,166 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 21:00:04,166 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 21:00:04,171 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:04" (1/1) ... [2022-02-20 21:00:04,171 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:04" (1/1) ... [2022-02-20 21:00:04,175 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:04" (1/1) ... [2022-02-20 21:00:04,175 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:04" (1/1) ... [2022-02-20 21:00:04,192 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:04" (1/1) ... [2022-02-20 21:00:04,194 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:04" (1/1) ... [2022-02-20 21:00:04,203 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:04" (1/1) ... [2022-02-20 21:00:04,205 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 21:00:04,205 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 21:00:04,205 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 21:00:04,205 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 21:00:04,206 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:00:04" (1/1) ... [2022-02-20 21:00:04,212 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 21:00:04,219 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 21:00:04,229 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:04,236 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:04,257 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-02-20 21:00:04,258 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-02-20 21:00:04,258 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2022-02-20 21:00:04,258 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 21:00:04,258 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-02-20 21:00:04,259 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 21:00:04,259 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 21:00:04,260 INFO L130 BoogieDeclarations]: Found specification of procedure thread [2022-02-20 21:00:04,260 INFO L138 BoogieDeclarations]: Found implementation of procedure thread [2022-02-20 21:00:04,260 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2022-02-20 21:00:04,260 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 21:00:04,260 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 21:00:04,261 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:04,386 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 21:00:04,387 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 21:00:04,544 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 21:00:04,548 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 21:00:04,548 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-02-20 21:00:04,550 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 09:00:04 BoogieIcfgContainer [2022-02-20 21:00:04,550 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 21:00:04,551 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 21:00:04,552 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 21:00:04,554 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 21:00:04,555 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 09:00:03" (1/3) ... [2022-02-20 21:00:04,555 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@85443c1 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 09:00:04, skipping insertion in model container [2022-02-20 21:00:04,556 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:00:04" (2/3) ... [2022-02-20 21:00:04,556 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@85443c1 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 09:00:04, skipping insertion in model container [2022-02-20 21:00:04,556 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 09:00:04" (3/3) ... [2022-02-20 21:00:04,557 INFO L111 eAbstractionObserver]: Analyzing ICFG floating_read-15.i [2022-02-20 21:00:04,562 WARN L150 ceAbstractionStarter]: Switching off computation of Hoare annotation because input is a concurrent program [2022-02-20 21:00:04,562 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 21:00:04,562 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 21:00:04,563 INFO L534 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2022-02-20 21:00:04,610 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of1ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:04,610 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of1ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:04,610 WARN L322 ript$VariableManager]: TermVariabe threadThread1of1ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:04,611 WARN L322 ript$VariableManager]: TermVariabe threadThread1of1ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:04,613 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of1ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:04,613 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of1ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:04,613 WARN L322 ript$VariableManager]: TermVariabe threadThread1of1ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:04,614 WARN L322 ript$VariableManager]: TermVariabe threadThread1of1ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:04,614 WARN L322 ript$VariableManager]: TermVariabe threadThread1of1ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:04,614 WARN L322 ript$VariableManager]: TermVariabe threadThread1of1ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:04,615 WARN L322 ript$VariableManager]: TermVariabe threadThread1of1ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:04,616 WARN L322 ript$VariableManager]: TermVariabe threadThread1of1ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:04,616 WARN L322 ript$VariableManager]: TermVariabe threadThread1of1ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:04,616 WARN L322 ript$VariableManager]: TermVariabe threadThread1of1ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:04,616 WARN L322 ript$VariableManager]: TermVariabe threadThread1of1ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:04,616 WARN L322 ript$VariableManager]: TermVariabe threadThread1of1ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:04,616 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of1ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:04,617 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of1ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:04,617 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of1ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:04,617 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of1ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:04,624 WARN L322 ript$VariableManager]: TermVariabe threadThread1of1ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:04,624 WARN L322 ript$VariableManager]: TermVariabe threadThread1of1ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:04,624 WARN L322 ript$VariableManager]: TermVariabe threadThread1of1ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:04,625 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of1ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:04,625 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of1ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:04,633 INFO L148 ThreadInstanceAdder]: Constructed 1 joinOtherThreadTransitions. [2022-02-20 21:00:04,668 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 21:00:04,674 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:04,674 INFO L340 AbstractCegarLoop]: Starting to check reachability of 2 error locations. [2022-02-20 21:00:04,683 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 58 places, 59 transitions, 126 flow [2022-02-20 21:00:04,718 INFO L129 PetriNetUnfolder]: 7/81 cut-off events. [2022-02-20 21:00:04,718 INFO L130 PetriNetUnfolder]: For 1/1 co-relation queries the response was YES. [2022-02-20 21:00:04,720 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:04,721 INFO L82 GeneralOperation]: Start removeDead. Operand has 58 places, 59 transitions, 126 flow [2022-02-20 21:00:04,723 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 42 places, 40 transitions, 85 flow [2022-02-20 21:00:04,732 INFO L129 PetriNetUnfolder]: 1/25 cut-off events. [2022-02-20 21:00:04,732 INFO L130 PetriNetUnfolder]: For 0/0 co-relation queries the response was YES. [2022-02-20 21:00:04,732 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:00:04,733 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:04,733 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 21:00:04,737 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:00:04,738 INFO L85 PathProgramCache]: Analyzing trace with hash 1781753840, now seen corresponding path program 1 times [2022-02-20 21:00:04,744 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:00:04,745 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1981117069] [2022-02-20 21:00:04,745 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:04,746 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:00:04,841 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:04,908 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:04,909 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:04,909 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:04,909 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:04,909 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:04,910 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:04,910 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:04,910 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:04,911 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:04,911 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:04,911 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:04,911 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:04,912 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:04,912 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:04,912 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:04,912 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:04,913 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:04,913 INFO L290 TraceCheckUtils]: 17: Hoare triple {61#true} [85] L719-->L719-1: Formula: (and (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) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 64) |v_#length_3|) (= |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:04,913 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:04,914 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:04,915 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:04,915 INFO L290 TraceCheckUtils]: 21: Hoare triple {62#false} [88] L723-6-->L727: Formula: (not (< v_~x~0_4 16)) 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:04,915 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:04,916 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:04,917 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:00:04,918 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1981117069] [2022-02-20 21:00:04,918 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1981117069] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:00:04,918 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 21:00:04,918 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 21:00:04,920 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1734712000] [2022-02-20 21:00:04,920 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:00:04,929 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:04,930 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:00:04,933 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:04,958 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:04,960 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-02-20 21:00:04,960 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:00:04,977 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-02-20 21:00:04,978 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 21:00:04,980 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 53 out of 59 [2022-02-20 21:00:04,982 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:04,983 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 21:00:04,983 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 53 of 59 [2022-02-20 21:00:04,984 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 21:00:05,005 INFO L129 PetriNetUnfolder]: 0/46 cut-off events. [2022-02-20 21:00:05,005 INFO L130 PetriNetUnfolder]: For 1/1 co-relation queries the response was YES. [2022-02-20 21:00:05,005 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:05,006 INFO L132 encePairwiseOnDemand]: 58/59 looper letters, 1 selfloop transitions, 0 changer transitions 0/39 dead transitions. [2022-02-20 21:00:05,006 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 43 places, 39 transitions, 85 flow [2022-02-20 21:00:05,007 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-02-20 21:00:05,008 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2022-02-20 21:00:05,020 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 108 transitions. [2022-02-20 21:00:05,021 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.9152542372881356 [2022-02-20 21:00:05,022 INFO L72 ComplementDD]: Start complementDD. Operand 2 states and 108 transitions. [2022-02-20 21:00:05,022 INFO L73 IsDeterministic]: Start isDeterministic. Operand 2 states and 108 transitions. [2022-02-20 21:00:05,022 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 21:00:05,024 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 2 states and 108 transitions. [2022-02-20 21:00:05,026 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:05,029 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:05,030 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:05,031 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:05,031 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 43 places, 39 transitions, 85 flow [2022-02-20 21:00:05,033 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:05,035 INFO L242 Difference]: Finished difference. Result has 43 places, 39 transitions, 83 flow [2022-02-20 21:00:05,036 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:05,039 INFO L334 CegarLoopForPetriNet]: 42 programPoint places, 1 predicate places. [2022-02-20 21:00:05,039 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 43 places, 39 transitions, 83 flow [2022-02-20 21:00:05,048 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:05,049 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:05,049 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:00:05,049 INFO L470 AbstractCegarLoop]: Abstraction has has 43 places, 39 transitions, 83 flow [2022-02-20 21:00:05,050 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:05,050 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:00:05,051 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:05,051 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 21:00:05,051 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 21:00:05,052 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:00:05,052 INFO L85 PathProgramCache]: Analyzing trace with hash 1781754801, now seen corresponding path program 1 times [2022-02-20 21:00:05,052 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:00:05,053 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [332955229] [2022-02-20 21:00:05,053 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:05,053 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:00:05,076 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:05,107 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:05,108 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:05,108 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:05,108 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:05,108 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:05,108 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:05,109 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:05,109 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:05,109 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:05,109 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:05,109 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:05,110 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:05,110 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:05,110 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:05,110 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:05,111 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:05,111 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:05,111 INFO L290 TraceCheckUtils]: 17: Hoare triple {177#true} [85] L719-->L719-1: Formula: (and (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) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 64) |v_#length_3|) (= |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:05,111 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:05,112 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:05,112 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| 15)) 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:05,112 INFO L290 TraceCheckUtils]: 21: Hoare triple {178#false} [88] L723-6-->L727: Formula: (not (< v_~x~0_4 16)) 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:05,113 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:05,113 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:05,113 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:00:05,113 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [332955229] [2022-02-20 21:00:05,113 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [332955229] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:00:05,114 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 21:00:05,114 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 21:00:05,114 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [470983807] [2022-02-20 21:00:05,114 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:00:05,115 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:05,115 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:00:05,115 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:05,137 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:05,137 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 21:00:05,137 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:00:05,138 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 21:00:05,138 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 21:00:05,139 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 46 out of 59 [2022-02-20 21:00:05,140 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:05,140 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 21:00:05,140 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 46 of 59 [2022-02-20 21:00:05,140 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 21:00:05,175 INFO L129 PetriNetUnfolder]: 0/43 cut-off events. [2022-02-20 21:00:05,176 INFO L130 PetriNetUnfolder]: For 0/0 co-relation queries the response was YES. [2022-02-20 21:00:05,176 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:05,176 INFO L132 encePairwiseOnDemand]: 56/59 looper letters, 8 selfloop transitions, 2 changer transitions 0/41 dead transitions. [2022-02-20 21:00:05,176 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 45 places, 41 transitions, 107 flow [2022-02-20 21:00:05,176 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 21:00:05,176 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2022-02-20 21:00:05,198 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 149 transitions. [2022-02-20 21:00:05,198 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.8418079096045198 [2022-02-20 21:00:05,198 INFO L72 ComplementDD]: Start complementDD. Operand 3 states and 149 transitions. [2022-02-20 21:00:05,198 INFO L73 IsDeterministic]: Start isDeterministic. Operand 3 states and 149 transitions. [2022-02-20 21:00:05,198 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 21:00:05,198 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 3 states and 149 transitions. [2022-02-20 21:00:05,199 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:05,200 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:05,200 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:05,200 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:05,200 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 45 places, 41 transitions, 107 flow [2022-02-20 21:00:05,200 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:05,201 INFO L242 Difference]: Finished difference. Result has 46 places, 39 transitions, 91 flow [2022-02-20 21:00:05,201 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:05,202 INFO L334 CegarLoopForPetriNet]: 42 programPoint places, 4 predicate places. [2022-02-20 21:00:05,202 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 46 places, 39 transitions, 91 flow [2022-02-20 21:00:05,205 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:05,206 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:05,206 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:00:05,206 INFO L470 AbstractCegarLoop]: Abstraction has has 46 places, 39 transitions, 91 flow [2022-02-20 21:00:05,206 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:05,206 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:00:05,207 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:05,207 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-20 21:00:05,207 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 21:00:05,207 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:00:05,207 INFO L85 PathProgramCache]: Analyzing trace with hash -315270955, now seen corresponding path program 1 times [2022-02-20 21:00:05,207 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:00:05,208 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [836924143] [2022-02-20 21:00:05,208 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:05,208 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:00:05,231 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:05,260 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:05,260 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:05,261 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:05,261 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:05,261 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:05,261 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:05,261 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:05,262 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:05,262 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:05,262 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:05,262 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:05,262 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:05,263 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:05,263 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:05,263 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:05,263 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:05,264 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:05,264 INFO L290 TraceCheckUtils]: 17: Hoare triple {292#true} [85] L719-->L719-1: Formula: (and (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) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 64) |v_#length_3|) (= |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:05,264 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:05,265 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:05,265 INFO L290 TraceCheckUtils]: 20: Hoare triple {294#(= ~x~0 0)} [105] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 15) 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:05,265 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:05,266 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:05,266 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:05,268 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:05,268 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:05,269 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:05,269 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:05,269 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:05,278 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:05,279 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| 15)) 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:05,279 INFO L290 TraceCheckUtils]: 31: Hoare triple {294#(= ~x~0 0)} [88] L723-6-->L727: Formula: (not (< v_~x~0_4 16)) 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:05,279 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:05,280 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:05,280 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:00:05,280 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [836924143] [2022-02-20 21:00:05,280 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [836924143] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:00:05,280 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 21:00:05,281 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 21:00:05,281 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1080653795] [2022-02-20 21:00:05,281 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:00:05,284 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:05,284 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:00:05,284 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:05,310 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:05,310 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 21:00:05,310 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:00:05,311 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 21:00:05,311 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 21:00:05,311 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 48 out of 59 [2022-02-20 21:00:05,312 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:05,312 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 21:00:05,312 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 48 of 59 [2022-02-20 21:00:05,312 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 21:00:05,331 INFO L129 PetriNetUnfolder]: 0/43 cut-off events. [2022-02-20 21:00:05,331 INFO L130 PetriNetUnfolder]: For 2/2 co-relation queries the response was YES. [2022-02-20 21:00:05,331 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:05,332 INFO L132 encePairwiseOnDemand]: 56/59 looper letters, 3 selfloop transitions, 2 changer transitions 0/39 dead transitions. [2022-02-20 21:00:05,332 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 48 places, 39 transitions, 101 flow [2022-02-20 21:00:05,332 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 21:00:05,332 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2022-02-20 21:00:05,333 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 150 transitions. [2022-02-20 21:00:05,334 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.847457627118644 [2022-02-20 21:00:05,334 INFO L72 ComplementDD]: Start complementDD. Operand 3 states and 150 transitions. [2022-02-20 21:00:05,334 INFO L73 IsDeterministic]: Start isDeterministic. Operand 3 states and 150 transitions. [2022-02-20 21:00:05,334 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 21:00:05,334 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 3 states and 150 transitions. [2022-02-20 21:00:05,334 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:05,335 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:05,335 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:05,335 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:05,335 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 48 places, 39 transitions, 101 flow [2022-02-20 21:00:05,336 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:05,337 INFO L242 Difference]: Finished difference. Result has 47 places, 39 transitions, 95 flow [2022-02-20 21:00:05,337 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:05,337 INFO L334 CegarLoopForPetriNet]: 42 programPoint places, 5 predicate places. [2022-02-20 21:00:05,337 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 47 places, 39 transitions, 95 flow [2022-02-20 21:00:05,341 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:05,342 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:05,342 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:00:05,342 INFO L470 AbstractCegarLoop]: Abstraction has has 47 places, 39 transitions, 95 flow [2022-02-20 21:00:05,342 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:05,342 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:00:05,342 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:05,343 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-02-20 21:00:05,343 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0INUSE_VIOLATION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 21:00:05,343 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:00:05,343 INFO L85 PathProgramCache]: Analyzing trace with hash 1968634815, now seen corresponding path program 1 times [2022-02-20 21:00:05,343 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:00:05,343 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [177843472] [2022-02-20 21:00:05,344 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:05,344 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:00:05,380 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 21:00:05,381 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-02-20 21:00:05,390 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 21:00:05,410 INFO L138 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-02-20 21:00:05,410 INFO L628 BasicCegarLoop]: Counterexample is feasible [2022-02-20 21:00:05,411 INFO L764 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0INUSE_VIOLATION (1 of 2 remaining) [2022-02-20 21:00:05,412 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 2 remaining) [2022-02-20 21:00:05,412 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-02-20 21:00:05,415 INFO L732 BasicCegarLoop]: Path program histogram: [1, 1, 1, 1] [2022-02-20 21:00:05,416 WARN L235 ceAbstractionStarter]: 1 thread instances were not sufficient, I will increase this number and restart the analysis [2022-02-20 21:00:05,416 INFO L534 ceAbstractionStarter]: Constructing petrified ICFG for 2 thread instances. [2022-02-20 21:00:05,428 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of2ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:05,428 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of2ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:05,428 WARN L322 ript$VariableManager]: TermVariabe threadThread1of2ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:05,428 WARN L322 ript$VariableManager]: TermVariabe threadThread1of2ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:05,428 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of2ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:05,429 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of2ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:05,429 WARN L322 ript$VariableManager]: TermVariabe threadThread1of2ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:05,429 WARN L322 ript$VariableManager]: TermVariabe threadThread1of2ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:05,429 WARN L322 ript$VariableManager]: TermVariabe threadThread1of2ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:05,429 WARN L322 ript$VariableManager]: TermVariabe threadThread1of2ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:05,429 WARN L322 ript$VariableManager]: TermVariabe threadThread1of2ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:05,429 WARN L322 ript$VariableManager]: TermVariabe threadThread1of2ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:05,429 WARN L322 ript$VariableManager]: TermVariabe threadThread1of2ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:05,430 WARN L322 ript$VariableManager]: TermVariabe threadThread1of2ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:05,430 WARN L322 ript$VariableManager]: TermVariabe threadThread1of2ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:05,430 WARN L322 ript$VariableManager]: TermVariabe threadThread1of2ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:05,430 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of2ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:05,430 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of2ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:05,430 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of2ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:05,430 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of2ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:05,431 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of2ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:05,431 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of2ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:05,431 WARN L322 ript$VariableManager]: TermVariabe threadThread2of2ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:05,431 WARN L322 ript$VariableManager]: TermVariabe threadThread2of2ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:05,431 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of2ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:05,431 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of2ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:05,431 WARN L322 ript$VariableManager]: TermVariabe threadThread2of2ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:05,432 WARN L322 ript$VariableManager]: TermVariabe threadThread2of2ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:05,432 WARN L322 ript$VariableManager]: TermVariabe threadThread2of2ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:05,432 WARN L322 ript$VariableManager]: TermVariabe threadThread2of2ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:05,432 WARN L322 ript$VariableManager]: TermVariabe threadThread2of2ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:05,432 WARN L322 ript$VariableManager]: TermVariabe threadThread2of2ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:05,432 WARN L322 ript$VariableManager]: TermVariabe threadThread2of2ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:05,432 WARN L322 ript$VariableManager]: TermVariabe threadThread2of2ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:05,433 WARN L322 ript$VariableManager]: TermVariabe threadThread2of2ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:05,433 WARN L322 ript$VariableManager]: TermVariabe threadThread2of2ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:05,433 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of2ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:05,433 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of2ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:05,433 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of2ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:05,433 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of2ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:05,434 WARN L322 ript$VariableManager]: TermVariabe threadThread1of2ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:05,434 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of2ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:05,434 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of2ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:05,434 WARN L322 ript$VariableManager]: TermVariabe threadThread1of2ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:05,434 WARN L322 ript$VariableManager]: TermVariabe threadThread1of2ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:05,435 WARN L322 ript$VariableManager]: TermVariabe threadThread2of2ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:05,435 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of2ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:05,435 WARN L322 ript$VariableManager]: TermVariabe threadThread2of2ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:05,435 WARN L322 ript$VariableManager]: TermVariabe threadThread2of2ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:05,435 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of2ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:05,439 INFO L148 ThreadInstanceAdder]: Constructed 2 joinOtherThreadTransitions. [2022-02-20 21:00:05,441 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 21:00:05,441 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:05,441 INFO L340 AbstractCegarLoop]: Starting to check reachability of 2 error locations. [2022-02-20 21:00:05,443 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 66 places, 66 transitions, 150 flow [2022-02-20 21:00:05,454 INFO L129 PetriNetUnfolder]: 13/135 cut-off events. [2022-02-20 21:00:05,454 INFO L130 PetriNetUnfolder]: For 6/6 co-relation queries the response was YES. [2022-02-20 21:00:05,455 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:05,455 INFO L82 GeneralOperation]: Start removeDead. Operand has 66 places, 66 transitions, 150 flow [2022-02-20 21:00:05,455 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 50 places, 46 transitions, 104 flow [2022-02-20 21:00:05,458 INFO L129 PetriNetUnfolder]: 1/26 cut-off events. [2022-02-20 21:00:05,458 INFO L130 PetriNetUnfolder]: For 0/0 co-relation queries the response was YES. [2022-02-20 21:00:05,458 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:00:05,458 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:05,458 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 21:00:05,458 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:00:05,459 INFO L85 PathProgramCache]: Analyzing trace with hash 775346483, now seen corresponding path program 1 times [2022-02-20 21:00:05,459 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:00:05,459 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1788136514] [2022-02-20 21:00:05,459 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:05,459 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:00:05,468 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:05,482 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:05,482 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:05,483 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:05,483 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:05,483 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:05,483 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:05,483 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:05,484 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:05,484 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:05,484 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:05,484 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:05,484 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:05,485 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:05,485 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:05,485 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:05,485 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:05,485 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:05,486 INFO L290 TraceCheckUtils]: 17: Hoare triple {69#true} [151] L719-->L719-1: Formula: (and (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) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 64) |v_#length_3|) (= |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:05,487 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:05,488 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:05,488 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| 15)) 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:05,488 INFO L290 TraceCheckUtils]: 21: Hoare triple {70#false} [154] L723-6-->L727: Formula: (not (< v_~x~0_4 16)) 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:05,489 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:05,489 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:05,489 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:00:05,489 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1788136514] [2022-02-20 21:00:05,489 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1788136514] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:00:05,490 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 21:00:05,490 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 21:00:05,491 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1599584541] [2022-02-20 21:00:05,491 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:00:05,491 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:05,491 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:00:05,492 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:05,506 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:05,506 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 21:00:05,506 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:00:05,507 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 21:00:05,507 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 21:00:05,508 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 51 out of 66 [2022-02-20 21:00:05,508 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:05,508 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 21:00:05,508 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 51 of 66 [2022-02-20 21:00:05,508 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 21:00:05,544 INFO L129 PetriNetUnfolder]: 0/61 cut-off events. [2022-02-20 21:00:05,544 INFO L130 PetriNetUnfolder]: For 2/2 co-relation queries the response was YES. [2022-02-20 21:00:05,545 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:05,545 INFO L132 encePairwiseOnDemand]: 62/66 looper letters, 11 selfloop transitions, 2 changer transitions 0/49 dead transitions. [2022-02-20 21:00:05,545 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 52 places, 49 transitions, 136 flow [2022-02-20 21:00:05,545 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 21:00:05,545 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2022-02-20 21:00:05,547 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 169 transitions. [2022-02-20 21:00:05,547 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.8535353535353535 [2022-02-20 21:00:05,547 INFO L72 ComplementDD]: Start complementDD. Operand 3 states and 169 transitions. [2022-02-20 21:00:05,548 INFO L73 IsDeterministic]: Start isDeterministic. Operand 3 states and 169 transitions. [2022-02-20 21:00:05,548 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 21:00:05,548 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 3 states and 169 transitions. [2022-02-20 21:00:05,548 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:05,549 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:05,549 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:05,549 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:05,549 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 52 places, 49 transitions, 136 flow [2022-02-20 21:00:05,550 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:05,551 INFO L242 Difference]: Finished difference. Result has 53 places, 46 transitions, 112 flow [2022-02-20 21:00:05,551 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:05,551 INFO L334 CegarLoopForPetriNet]: 50 programPoint places, 3 predicate places. [2022-02-20 21:00:05,552 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 53 places, 46 transitions, 112 flow [2022-02-20 21:00:05,569 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:05,571 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:05,571 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:00:05,572 INFO L470 AbstractCegarLoop]: Abstraction has has 53 places, 46 transitions, 112 flow [2022-02-20 21:00:05,572 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:05,572 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:00:05,572 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:05,572 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2022-02-20 21:00:05,572 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 21:00:05,573 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:00:05,573 INFO L85 PathProgramCache]: Analyzing trace with hash -1083506660, now seen corresponding path program 1 times [2022-02-20 21:00:05,573 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:00:05,573 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [791835369] [2022-02-20 21:00:05,573 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:05,573 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:00:05,590 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:05,614 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:05,615 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:05,615 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:05,616 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:05,616 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:05,616 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:05,618 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:05,618 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:05,618 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:05,618 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:05,618 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:05,619 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:05,619 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:05,619 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:05,619 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:05,619 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:05,619 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:05,620 INFO L290 TraceCheckUtils]: 17: Hoare triple {682#true} [151] L719-->L719-1: Formula: (and (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) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 64) |v_#length_3|) (= |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:05,620 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:05,620 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:05,621 INFO L290 TraceCheckUtils]: 20: Hoare triple {684#(= ~x~0 0)} [171] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 15) 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:05,621 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:05,622 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:05,622 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:05,622 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:05,623 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:05,625 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:05,625 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:05,626 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:05,626 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:05,626 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| 15)) 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:05,627 INFO L290 TraceCheckUtils]: 31: Hoare triple {684#(= ~x~0 0)} [154] L723-6-->L727: Formula: (not (< v_~x~0_4 16)) 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:05,627 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:05,627 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:05,627 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:00:05,629 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [791835369] [2022-02-20 21:00:05,629 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [791835369] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:00:05,629 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 21:00:05,629 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 21:00:05,630 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [801216021] [2022-02-20 21:00:05,630 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:00:05,630 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:05,630 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:00:05,631 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:05,652 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:05,652 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 21:00:05,652 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:00:05,653 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 21:00:05,653 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 21:00:05,653 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 52 out of 66 [2022-02-20 21:00:05,654 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:05,654 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 21:00:05,654 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 52 of 66 [2022-02-20 21:00:05,654 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 21:00:05,673 INFO L129 PetriNetUnfolder]: 4/87 cut-off events. [2022-02-20 21:00:05,673 INFO L130 PetriNetUnfolder]: For 8/8 co-relation queries the response was YES. [2022-02-20 21:00:05,673 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:05,674 INFO L132 encePairwiseOnDemand]: 62/66 looper letters, 7 selfloop transitions, 3 changer transitions 0/49 dead transitions. [2022-02-20 21:00:05,674 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 55 places, 49 transitions, 143 flow [2022-02-20 21:00:05,674 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 21:00:05,674 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2022-02-20 21:00:05,676 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 167 transitions. [2022-02-20 21:00:05,676 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.8434343434343434 [2022-02-20 21:00:05,676 INFO L72 ComplementDD]: Start complementDD. Operand 3 states and 167 transitions. [2022-02-20 21:00:05,676 INFO L73 IsDeterministic]: Start isDeterministic. Operand 3 states and 167 transitions. [2022-02-20 21:00:05,676 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 21:00:05,676 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 3 states and 167 transitions. [2022-02-20 21:00:05,677 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:05,677 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:05,677 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:05,678 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:05,678 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 55 places, 49 transitions, 143 flow [2022-02-20 21:00:05,678 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:05,679 INFO L242 Difference]: Finished difference. Result has 55 places, 48 transitions, 129 flow [2022-02-20 21:00:05,679 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:05,680 INFO L334 CegarLoopForPetriNet]: 50 programPoint places, 5 predicate places. [2022-02-20 21:00:05,680 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 55 places, 48 transitions, 129 flow [2022-02-20 21:00:05,688 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:05,691 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:05,692 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:00:05,693 INFO L470 AbstractCegarLoop]: Abstraction has has 55 places, 48 transitions, 129 flow [2022-02-20 21:00:05,693 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:05,693 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:00:05,693 INFO L254 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 21:00:05,693 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2022-02-20 21:00:05,694 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 21:00:05,694 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:00:05,694 INFO L85 PathProgramCache]: Analyzing trace with hash -2017126046, now seen corresponding path program 1 times [2022-02-20 21:00:05,694 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:00:05,695 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1459099877] [2022-02-20 21:00:05,695 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:05,695 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:00:05,716 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:05,744 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:05,745 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:05,745 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:05,745 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:05,745 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:05,745 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:05,745 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:05,745 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:05,746 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:05,746 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:05,746 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:05,746 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:05,746 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:05,746 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:05,747 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:05,747 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:05,747 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:05,747 INFO L290 TraceCheckUtils]: 17: Hoare triple {1271#true} [151] L719-->L719-1: Formula: (and (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) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 64) |v_#length_3|) (= |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:05,747 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:05,748 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:05,748 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| 15) 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:05,748 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:05,749 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:05,749 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:05,749 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:05,750 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:05,750 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:05,751 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:05,751 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:05,751 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:05,752 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| 15)) 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:05,752 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:05,752 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:05,752 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:05,752 INFO L290 TraceCheckUtils]: 34: Hoare triple {1272#false} [154] L723-6-->L727: Formula: (not (< v_~x~0_4 16)) 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:05,753 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:05,753 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:05,753 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:00:05,753 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1459099877] [2022-02-20 21:00:05,753 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1459099877] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 21:00:05,753 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [557566023] [2022-02-20 21:00:05,754 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:05,754 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 21:00:05,754 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 21:00:05,755 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:05,756 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:05,852 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:05,864 INFO L263 TraceCheckSpWp]: Trace formula consists of 91 conjuncts, 4 conjunts are in the unsatisfiable core [2022-02-20 21:00:05,874 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:05,875 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 21:00:06,010 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:06,010 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:06,010 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:06,011 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:06,011 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:06,011 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:06,011 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:06,011 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:06,011 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:06,012 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:06,012 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:06,012 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:06,012 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:06,012 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:06,012 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:06,013 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:06,013 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:06,013 INFO L290 TraceCheckUtils]: 17: Hoare triple {1271#true} [151] L719-->L719-1: Formula: (and (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) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 64) |v_#length_3|) (= |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:06,013 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:06,014 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:06,014 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| 15) 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:06,014 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:06,015 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:06,015 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:06,020 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:06,020 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:06,021 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:06,021 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:06,022 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:06,022 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:06,023 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| 15)) 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:06,023 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:06,023 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:06,023 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:06,027 INFO L290 TraceCheckUtils]: 34: Hoare triple {1272#false} [154] L723-6-->L727: Formula: (not (< v_~x~0_4 16)) 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:06,027 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:06,027 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:06,028 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 21:00:06,181 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:06,182 INFO L290 TraceCheckUtils]: 34: Hoare triple {1272#false} [154] L723-6-->L727: Formula: (not (< v_~x~0_4 16)) 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:06,182 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:06,182 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:06,182 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:06,182 INFO L290 TraceCheckUtils]: 30: Hoare triple {1401#(<= |ULTIMATE.start_main_~i~0#1| 15)} [170] L723-5-->L723-6: Formula: (not (<= |v_ULTIMATE.start_main_~i~0#1_3| 15)) 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:06,183 INFO L290 TraceCheckUtils]: 29: Hoare triple {1401#(<= |ULTIMATE.start_main_~i~0#1| 15)} [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| 15)} is VALID [2022-02-20 21:00:06,183 INFO L290 TraceCheckUtils]: 28: Hoare triple {1408#(<= |ULTIMATE.start_main_#t~post1#1| 14)} [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| 15)} is VALID [2022-02-20 21:00:06,183 INFO L290 TraceCheckUtils]: 27: Hoare triple {1412#(<= |ULTIMATE.start_main_~i~0#1| 14)} [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| 14)} is VALID [2022-02-20 21:00:06,184 INFO L290 TraceCheckUtils]: 26: Hoare triple {1412#(<= |ULTIMATE.start_main_~i~0#1| 14)} [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| 14)} is VALID [2022-02-20 21:00:06,184 INFO L290 TraceCheckUtils]: 25: Hoare triple {1412#(<= |ULTIMATE.start_main_~i~0#1| 14)} [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| 14)} is VALID [2022-02-20 21:00:06,184 INFO L290 TraceCheckUtils]: 24: Hoare triple {1412#(<= |ULTIMATE.start_main_~i~0#1| 14)} [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| 14)} is VALID [2022-02-20 21:00:06,185 INFO L290 TraceCheckUtils]: 23: Hoare triple {1412#(<= |ULTIMATE.start_main_~i~0#1| 14)} [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| 14)} is VALID [2022-02-20 21:00:06,185 INFO L290 TraceCheckUtils]: 22: Hoare triple {1412#(<= |ULTIMATE.start_main_~i~0#1| 14)} [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| 14)} is VALID [2022-02-20 21:00:06,185 INFO L290 TraceCheckUtils]: 21: Hoare triple {1412#(<= |ULTIMATE.start_main_~i~0#1| 14)} [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| 14)} is VALID [2022-02-20 21:00:06,186 INFO L290 TraceCheckUtils]: 20: Hoare triple {1412#(<= |ULTIMATE.start_main_~i~0#1| 14)} [171] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 15) 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| 14)} is VALID [2022-02-20 21:00:06,186 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| 14)} is VALID [2022-02-20 21:00:06,186 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:06,186 INFO L290 TraceCheckUtils]: 17: Hoare triple {1271#true} [151] L719-->L719-1: Formula: (and (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) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 64) |v_#length_3|) (= |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:06,186 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:06,186 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:06,187 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:06,187 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:06,187 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:06,187 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:06,187 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:06,187 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:06,187 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:06,187 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:06,187 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:06,188 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:06,188 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:06,188 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:06,188 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:06,188 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:06,195 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:06,195 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:06,196 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [557566023] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 21:00:06,196 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 21:00:06,196 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 10 [2022-02-20 21:00:06,196 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1112027814] [2022-02-20 21:00:06,196 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 21:00:06,197 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:06,197 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:00:06,197 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:06,234 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:06,235 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-02-20 21:00:06,235 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:00:06,236 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-02-20 21:00:06,236 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=60, Unknown=0, NotChecked=0, Total=90 [2022-02-20 21:00:06,238 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 50 out of 66 [2022-02-20 21:00:06,239 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:06,239 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 21:00:06,239 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 50 of 66 [2022-02-20 21:00:06,239 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 21:00:06,349 INFO L129 PetriNetUnfolder]: 1/59 cut-off events. [2022-02-20 21:00:06,350 INFO L130 PetriNetUnfolder]: For 3/3 co-relation queries the response was YES. [2022-02-20 21:00:06,350 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:06,350 INFO L132 encePairwiseOnDemand]: 61/66 looper letters, 9 selfloop transitions, 7 changer transitions 0/51 dead transitions. [2022-02-20 21:00:06,350 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 60 places, 51 transitions, 163 flow [2022-02-20 21:00:06,350 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 21:00:06,351 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2022-02-20 21:00:06,355 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 468 transitions. [2022-02-20 21:00:06,355 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.7878787878787878 [2022-02-20 21:00:06,355 INFO L72 ComplementDD]: Start complementDD. Operand 9 states and 468 transitions. [2022-02-20 21:00:06,355 INFO L73 IsDeterministic]: Start isDeterministic. Operand 9 states and 468 transitions. [2022-02-20 21:00:06,356 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 21:00:06,356 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 9 states and 468 transitions. [2022-02-20 21:00:06,357 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:06,358 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:06,358 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:06,358 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:06,358 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 60 places, 51 transitions, 163 flow [2022-02-20 21:00:06,361 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:06,362 INFO L242 Difference]: Finished difference. Result has 59 places, 47 transitions, 134 flow [2022-02-20 21:00:06,363 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:06,363 INFO L334 CegarLoopForPetriNet]: 50 programPoint places, 9 predicate places. [2022-02-20 21:00:06,364 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 59 places, 47 transitions, 134 flow [2022-02-20 21:00:06,378 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:06,380 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:06,380 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:00:06,380 INFO L470 AbstractCegarLoop]: Abstraction has has 59 places, 47 transitions, 134 flow [2022-02-20 21:00:06,380 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:06,381 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:00:06,381 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:06,399 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:06,591 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:06,592 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0INUSE_VIOLATION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 21:00:06,592 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:00:06,592 INFO L85 PathProgramCache]: Analyzing trace with hash 286308789, now seen corresponding path program 1 times [2022-02-20 21:00:06,592 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:00:06,592 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [791112789] [2022-02-20 21:00:06,592 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:06,592 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:00:06,615 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 21:00:06,615 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-02-20 21:00:06,622 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 21:00:06,638 INFO L138 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-02-20 21:00:06,638 INFO L628 BasicCegarLoop]: Counterexample is feasible [2022-02-20 21:00:06,638 INFO L764 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0INUSE_VIOLATION (1 of 2 remaining) [2022-02-20 21:00:06,638 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 2 remaining) [2022-02-20 21:00:06,638 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7 [2022-02-20 21:00:06,639 INFO L732 BasicCegarLoop]: Path program histogram: [1, 1, 1, 1] [2022-02-20 21:00:06,639 WARN L235 ceAbstractionStarter]: 2 thread instances were not sufficient, I will increase this number and restart the analysis [2022-02-20 21:00:06,639 INFO L534 ceAbstractionStarter]: Constructing petrified ICFG for 3 thread instances. [2022-02-20 21:00:06,659 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of3ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,659 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of3ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,659 WARN L322 ript$VariableManager]: TermVariabe threadThread3of3ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,660 WARN L322 ript$VariableManager]: TermVariabe threadThread3of3ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,660 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of3ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,660 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of3ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,660 WARN L322 ript$VariableManager]: TermVariabe threadThread3of3ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,660 WARN L322 ript$VariableManager]: TermVariabe threadThread3of3ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,660 WARN L322 ript$VariableManager]: TermVariabe threadThread3of3ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,660 WARN L322 ript$VariableManager]: TermVariabe threadThread3of3ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,661 WARN L322 ript$VariableManager]: TermVariabe threadThread3of3ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,661 WARN L322 ript$VariableManager]: TermVariabe threadThread3of3ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,661 WARN L322 ript$VariableManager]: TermVariabe threadThread3of3ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,661 WARN L322 ript$VariableManager]: TermVariabe threadThread3of3ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,661 WARN L322 ript$VariableManager]: TermVariabe threadThread3of3ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,661 WARN L322 ript$VariableManager]: TermVariabe threadThread3of3ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,661 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of3ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,662 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of3ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,662 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of3ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,662 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of3ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,662 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of3ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,662 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of3ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,662 WARN L322 ript$VariableManager]: TermVariabe threadThread2of3ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,662 WARN L322 ript$VariableManager]: TermVariabe threadThread2of3ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,662 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of3ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,663 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of3ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,663 WARN L322 ript$VariableManager]: TermVariabe threadThread2of3ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,663 WARN L322 ript$VariableManager]: TermVariabe threadThread2of3ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,663 WARN L322 ript$VariableManager]: TermVariabe threadThread2of3ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,663 WARN L322 ript$VariableManager]: TermVariabe threadThread2of3ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,663 WARN L322 ript$VariableManager]: TermVariabe threadThread2of3ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,663 WARN L322 ript$VariableManager]: TermVariabe threadThread2of3ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,663 WARN L322 ript$VariableManager]: TermVariabe threadThread2of3ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,664 WARN L322 ript$VariableManager]: TermVariabe threadThread2of3ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,664 WARN L322 ript$VariableManager]: TermVariabe threadThread2of3ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,664 WARN L322 ript$VariableManager]: TermVariabe threadThread2of3ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,664 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of3ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,664 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of3ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,664 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of3ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,664 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of3ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,665 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of3ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,665 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of3ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,665 WARN L322 ript$VariableManager]: TermVariabe threadThread1of3ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,665 WARN L322 ript$VariableManager]: TermVariabe threadThread1of3ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,665 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of3ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,665 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of3ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,665 WARN L322 ript$VariableManager]: TermVariabe threadThread1of3ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,665 WARN L322 ript$VariableManager]: TermVariabe threadThread1of3ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,665 WARN L322 ript$VariableManager]: TermVariabe threadThread1of3ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,666 WARN L322 ript$VariableManager]: TermVariabe threadThread1of3ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,666 WARN L322 ript$VariableManager]: TermVariabe threadThread1of3ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,666 WARN L322 ript$VariableManager]: TermVariabe threadThread1of3ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,666 WARN L322 ript$VariableManager]: TermVariabe threadThread1of3ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,666 WARN L322 ript$VariableManager]: TermVariabe threadThread1of3ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,666 WARN L322 ript$VariableManager]: TermVariabe threadThread1of3ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,666 WARN L322 ript$VariableManager]: TermVariabe threadThread1of3ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,666 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of3ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,666 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of3ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,667 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of3ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,667 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of3ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,667 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of3ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,667 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of3ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,667 WARN L322 ript$VariableManager]: TermVariabe threadThread1of3ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,667 WARN L322 ript$VariableManager]: TermVariabe threadThread1of3ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,667 WARN L322 ript$VariableManager]: TermVariabe threadThread1of3ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,668 WARN L322 ript$VariableManager]: TermVariabe threadThread2of3ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,668 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of3ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,668 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of3ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,668 WARN L322 ript$VariableManager]: TermVariabe threadThread2of3ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,668 WARN L322 ript$VariableManager]: TermVariabe threadThread2of3ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,668 WARN L322 ript$VariableManager]: TermVariabe threadThread3of3ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,669 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of3ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,669 WARN L322 ript$VariableManager]: TermVariabe threadThread3of3ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,669 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of3ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,669 WARN L322 ript$VariableManager]: TermVariabe threadThread3of3ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:06,676 INFO L148 ThreadInstanceAdder]: Constructed 3 joinOtherThreadTransitions. [2022-02-20 21:00:06,677 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 21:00:06,682 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:06,683 INFO L340 AbstractCegarLoop]: Starting to check reachability of 2 error locations. [2022-02-20 21:00:06,684 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 74 places, 73 transitions, 176 flow [2022-02-20 21:00:06,699 INFO L129 PetriNetUnfolder]: 24/222 cut-off events. [2022-02-20 21:00:06,699 INFO L130 PetriNetUnfolder]: For 19/19 co-relation queries the response was YES. [2022-02-20 21:00:06,699 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:06,699 INFO L82 GeneralOperation]: Start removeDead. Operand has 74 places, 73 transitions, 176 flow [2022-02-20 21:00:06,700 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 58 places, 52 transitions, 125 flow [2022-02-20 21:00:06,701 INFO L129 PetriNetUnfolder]: 1/25 cut-off events. [2022-02-20 21:00:06,701 INFO L130 PetriNetUnfolder]: For 0/0 co-relation queries the response was YES. [2022-02-20 21:00:06,701 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:00:06,702 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:06,702 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 21:00:06,702 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:00:06,702 INFO L85 PathProgramCache]: Analyzing trace with hash 898626907, now seen corresponding path program 1 times [2022-02-20 21:00:06,702 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:00:06,702 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1895160798] [2022-02-20 21:00:06,702 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:06,703 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:00:06,709 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:06,731 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:06,731 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:06,731 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:06,731 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:06,732 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:06,732 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:06,732 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:06,732 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:06,732 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:06,732 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:06,732 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:06,733 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:06,733 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:06,733 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:06,733 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:06,733 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:06,733 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:06,734 INFO L290 TraceCheckUtils]: 17: Hoare triple {77#true} [224] L719-->L719-1: Formula: (and (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) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 64) |v_#length_3|) (= |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:06,734 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:06,734 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:06,735 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:06,735 INFO L290 TraceCheckUtils]: 21: Hoare triple {78#false} [227] L723-6-->L727: Formula: (not (< v_~x~0_4 16)) 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:06,736 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:06,736 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:06,736 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:00:06,737 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1895160798] [2022-02-20 21:00:06,737 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1895160798] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:00:06,737 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 21:00:06,737 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 21:00:06,737 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1281449023] [2022-02-20 21:00:06,738 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:00:06,738 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:06,738 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:00:06,738 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:06,752 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:06,752 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-02-20 21:00:06,752 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:00:06,753 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-02-20 21:00:06,754 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 21:00:06,754 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 63 out of 73 [2022-02-20 21:00:06,754 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:06,754 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 21:00:06,754 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 63 of 73 [2022-02-20 21:00:06,754 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 21:00:06,766 INFO L129 PetriNetUnfolder]: 0/82 cut-off events. [2022-02-20 21:00:06,766 INFO L130 PetriNetUnfolder]: For 13/13 co-relation queries the response was YES. [2022-02-20 21:00:06,766 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:06,767 INFO L132 encePairwiseOnDemand]: 72/73 looper letters, 3 selfloop transitions, 0 changer transitions 0/51 dead transitions. [2022-02-20 21:00:06,767 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 59 places, 51 transitions, 129 flow [2022-02-20 21:00:06,767 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-02-20 21:00:06,767 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2022-02-20 21:00:06,768 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 130 transitions. [2022-02-20 21:00:06,768 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.8904109589041096 [2022-02-20 21:00:06,768 INFO L72 ComplementDD]: Start complementDD. Operand 2 states and 130 transitions. [2022-02-20 21:00:06,768 INFO L73 IsDeterministic]: Start isDeterministic. Operand 2 states and 130 transitions. [2022-02-20 21:00:06,769 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 21:00:06,769 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 2 states and 130 transitions. [2022-02-20 21:00:06,769 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:06,769 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:06,770 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:06,770 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:06,770 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 59 places, 51 transitions, 129 flow [2022-02-20 21:00:06,770 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:06,771 INFO L242 Difference]: Finished difference. Result has 59 places, 51 transitions, 117 flow [2022-02-20 21:00:06,771 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:06,772 INFO L334 CegarLoopForPetriNet]: 58 programPoint places, 1 predicate places. [2022-02-20 21:00:06,772 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 59 places, 51 transitions, 117 flow [2022-02-20 21:00:06,834 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:06,842 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:06,842 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:00:06,843 INFO L470 AbstractCegarLoop]: Abstraction has has 59 places, 51 transitions, 117 flow [2022-02-20 21:00:06,843 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:06,843 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:00:06,843 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:06,843 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8 [2022-02-20 21:00:06,843 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 21:00:06,844 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:00:06,844 INFO L85 PathProgramCache]: Analyzing trace with hash 898627868, now seen corresponding path program 1 times [2022-02-20 21:00:06,844 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:00:06,844 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [509419041] [2022-02-20 21:00:06,844 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:06,844 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:00:06,851 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:06,868 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:06,868 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:06,868 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:06,868 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:06,868 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:06,868 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:06,869 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:06,869 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:06,869 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:06,869 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:06,869 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:06,869 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:06,869 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:06,870 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:06,870 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:06,870 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:06,870 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:06,870 INFO L290 TraceCheckUtils]: 17: Hoare triple {3679#true} [224] L719-->L719-1: Formula: (and (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) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 64) |v_#length_3|) (= |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:06,870 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:06,871 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:06,871 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| 15)) 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:06,871 INFO L290 TraceCheckUtils]: 21: Hoare triple {3680#false} [227] L723-6-->L727: Formula: (not (< v_~x~0_4 16)) 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:06,871 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:06,872 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:06,872 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:00:06,872 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [509419041] [2022-02-20 21:00:06,872 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [509419041] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:00:06,872 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 21:00:06,872 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 21:00:06,872 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1333813597] [2022-02-20 21:00:06,872 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:00:06,873 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:06,873 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:00:06,873 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:06,885 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:06,885 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 21:00:06,885 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:00:06,885 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 21:00:06,886 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 21:00:06,886 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 56 out of 73 [2022-02-20 21:00:06,886 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:06,886 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 21:00:06,886 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 56 of 73 [2022-02-20 21:00:06,886 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 21:00:06,908 INFO L129 PetriNetUnfolder]: 0/79 cut-off events. [2022-02-20 21:00:06,908 INFO L130 PetriNetUnfolder]: For 2/2 co-relation queries the response was YES. [2022-02-20 21:00:06,908 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:06,908 INFO L132 encePairwiseOnDemand]: 70/73 looper letters, 12 selfloop transitions, 2 changer transitions 0/55 dead transitions. [2022-02-20 21:00:06,909 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 61 places, 55 transitions, 153 flow [2022-02-20 21:00:06,909 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 21:00:06,909 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2022-02-20 21:00:06,910 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 183 transitions. [2022-02-20 21:00:06,910 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.8356164383561644 [2022-02-20 21:00:06,910 INFO L72 ComplementDD]: Start complementDD. Operand 3 states and 183 transitions. [2022-02-20 21:00:06,911 INFO L73 IsDeterministic]: Start isDeterministic. Operand 3 states and 183 transitions. [2022-02-20 21:00:06,911 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 21:00:06,911 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 3 states and 183 transitions. [2022-02-20 21:00:06,911 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:06,912 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:06,912 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:06,912 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:06,912 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 61 places, 55 transitions, 153 flow [2022-02-20 21:00:06,913 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:06,914 INFO L242 Difference]: Finished difference. Result has 62 places, 52 transitions, 129 flow [2022-02-20 21:00:06,914 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:06,914 INFO L334 CegarLoopForPetriNet]: 58 programPoint places, 4 predicate places. [2022-02-20 21:00:06,914 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 62 places, 52 transitions, 129 flow [2022-02-20 21:00:06,988 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:06,995 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:06,995 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:00:06,995 INFO L470 AbstractCegarLoop]: Abstraction has has 62 places, 52 transitions, 129 flow [2022-02-20 21:00:06,995 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:06,996 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:00:06,996 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:06,996 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9 [2022-02-20 21:00:06,996 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 21:00:06,996 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:00:06,996 INFO L85 PathProgramCache]: Analyzing trace with hash 1823512938, now seen corresponding path program 1 times [2022-02-20 21:00:06,997 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:00:06,997 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [284429219] [2022-02-20 21:00:06,997 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:06,997 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:00:07,004 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:07,038 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:07,038 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:07,039 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:07,039 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:07,039 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:07,039 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:07,039 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:07,039 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:07,040 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:07,040 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:07,040 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:07,040 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:07,040 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:07,040 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:07,040 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:07,041 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:07,041 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:07,041 INFO L290 TraceCheckUtils]: 17: Hoare triple {7280#true} [224] L719-->L719-1: Formula: (and (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) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 64) |v_#length_3|) (= |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:07,041 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:07,042 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:07,042 INFO L290 TraceCheckUtils]: 20: Hoare triple {7282#(= ~x~0 0)} [244] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 15) 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:07,042 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:07,043 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:07,043 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:07,043 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:07,044 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:07,044 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:07,044 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:07,045 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:07,045 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:07,045 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| 15)) 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:07,046 INFO L290 TraceCheckUtils]: 31: Hoare triple {7282#(= ~x~0 0)} [227] L723-6-->L727: Formula: (not (< v_~x~0_4 16)) 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:07,046 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:07,046 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:07,046 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:00:07,046 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [284429219] [2022-02-20 21:00:07,047 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [284429219] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:00:07,047 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 21:00:07,047 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 21:00:07,047 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [732626541] [2022-02-20 21:00:07,047 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:00:07,048 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:07,048 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:00:07,048 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:07,067 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:07,068 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 21:00:07,068 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:00:07,068 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 21:00:07,068 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 21:00:07,069 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 56 out of 73 [2022-02-20 21:00:07,069 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:07,069 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 21:00:07,069 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 56 of 73 [2022-02-20 21:00:07,069 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 21:00:07,095 INFO L129 PetriNetUnfolder]: 21/145 cut-off events. [2022-02-20 21:00:07,096 INFO L130 PetriNetUnfolder]: For 20/20 co-relation queries the response was YES. [2022-02-20 21:00:07,096 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:07,097 INFO L132 encePairwiseOnDemand]: 68/73 looper letters, 10 selfloop transitions, 4 changer transitions 0/57 dead transitions. [2022-02-20 21:00:07,097 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 64 places, 57 transitions, 177 flow [2022-02-20 21:00:07,097 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 21:00:07,097 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2022-02-20 21:00:07,099 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 183 transitions. [2022-02-20 21:00:07,099 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.8356164383561644 [2022-02-20 21:00:07,099 INFO L72 ComplementDD]: Start complementDD. Operand 3 states and 183 transitions. [2022-02-20 21:00:07,099 INFO L73 IsDeterministic]: Start isDeterministic. Operand 3 states and 183 transitions. [2022-02-20 21:00:07,099 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 21:00:07,099 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 3 states and 183 transitions. [2022-02-20 21:00:07,100 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:07,100 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:07,100 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:07,101 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:07,101 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 64 places, 57 transitions, 177 flow [2022-02-20 21:00:07,102 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:07,102 INFO L242 Difference]: Finished difference. Result has 64 places, 55 transitions, 153 flow [2022-02-20 21:00:07,102 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:07,103 INFO L334 CegarLoopForPetriNet]: 58 programPoint places, 6 predicate places. [2022-02-20 21:00:07,103 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 64 places, 55 transitions, 153 flow [2022-02-20 21:00:07,168 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:07,173 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:07,173 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:00:07,174 INFO L470 AbstractCegarLoop]: Abstraction has has 64 places, 55 transitions, 153 flow [2022-02-20 21:00:07,174 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:07,174 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:00:07,174 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:07,174 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10 [2022-02-20 21:00:07,174 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 21:00:07,175 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:00:07,175 INFO L85 PathProgramCache]: Analyzing trace with hash 1587743943, now seen corresponding path program 1 times [2022-02-20 21:00:07,175 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:00:07,175 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2021583982] [2022-02-20 21:00:07,175 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:07,175 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:00:07,184 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:07,213 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:07,213 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:07,213 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:07,213 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:07,213 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:07,213 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:07,213 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:07,213 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:07,213 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:07,214 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:07,214 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:07,214 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:07,214 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:07,214 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:07,214 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:07,214 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:07,214 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:07,214 INFO L290 TraceCheckUtils]: 17: Hoare triple {10803#true} [224] L719-->L719-1: Formula: (and (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) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 64) |v_#length_3|) (= |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:07,214 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:07,215 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:07,215 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| 15) 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:07,215 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:07,216 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:07,216 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:07,216 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:07,220 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:07,220 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:07,221 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:07,221 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:07,221 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:07,222 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| 15)) 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:07,222 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:07,222 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:07,222 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:07,222 INFO L290 TraceCheckUtils]: 34: Hoare triple {10804#false} [227] L723-6-->L727: Formula: (not (< v_~x~0_4 16)) 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:07,222 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:07,223 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:07,223 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:00:07,223 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2021583982] [2022-02-20 21:00:07,223 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2021583982] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 21:00:07,223 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1307724019] [2022-02-20 21:00:07,223 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:07,223 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 21:00:07,224 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 21:00:07,225 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:07,242 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:07,281 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:07,281 INFO L263 TraceCheckSpWp]: Trace formula consists of 91 conjuncts, 4 conjunts are in the unsatisfiable core [2022-02-20 21:00:07,289 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:07,290 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 21:00:07,390 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:07,391 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:07,391 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:07,391 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:07,391 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:07,391 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:07,391 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:07,392 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:07,392 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:07,392 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:07,392 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:07,392 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:07,392 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:07,393 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:07,393 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:07,393 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:07,393 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:07,393 INFO L290 TraceCheckUtils]: 17: Hoare triple {10803#true} [224] L719-->L719-1: Formula: (and (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) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 64) |v_#length_3|) (= |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:07,393 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:07,398 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:07,398 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| 15) 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:07,398 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:07,399 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:07,399 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:07,399 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:07,400 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:07,400 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:07,401 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:07,401 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:07,401 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:07,402 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| 15)) 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:07,402 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:07,402 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:07,402 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:07,402 INFO L290 TraceCheckUtils]: 34: Hoare triple {10804#false} [227] L723-6-->L727: Formula: (not (< v_~x~0_4 16)) 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:07,403 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:07,403 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:07,403 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 21:00:07,513 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:07,513 INFO L290 TraceCheckUtils]: 34: Hoare triple {10804#false} [227] L723-6-->L727: Formula: (not (< v_~x~0_4 16)) 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:07,513 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:07,514 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:07,514 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:07,514 INFO L290 TraceCheckUtils]: 30: Hoare triple {10933#(<= |ULTIMATE.start_main_~i~0#1| 15)} [243] L723-5-->L723-6: Formula: (not (<= |v_ULTIMATE.start_main_~i~0#1_3| 15)) 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:07,514 INFO L290 TraceCheckUtils]: 29: Hoare triple {10933#(<= |ULTIMATE.start_main_~i~0#1| 15)} [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| 15)} is VALID [2022-02-20 21:00:07,515 INFO L290 TraceCheckUtils]: 28: Hoare triple {10940#(<= |ULTIMATE.start_main_#t~post1#1| 14)} [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| 15)} is VALID [2022-02-20 21:00:07,515 INFO L290 TraceCheckUtils]: 27: Hoare triple {10944#(<= |ULTIMATE.start_main_~i~0#1| 14)} [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| 14)} is VALID [2022-02-20 21:00:07,515 INFO L290 TraceCheckUtils]: 26: Hoare triple {10944#(<= |ULTIMATE.start_main_~i~0#1| 14)} [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| 14)} is VALID [2022-02-20 21:00:07,516 INFO L290 TraceCheckUtils]: 25: Hoare triple {10944#(<= |ULTIMATE.start_main_~i~0#1| 14)} [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| 14)} is VALID [2022-02-20 21:00:07,516 INFO L290 TraceCheckUtils]: 24: Hoare triple {10944#(<= |ULTIMATE.start_main_~i~0#1| 14)} [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| 14)} is VALID [2022-02-20 21:00:07,516 INFO L290 TraceCheckUtils]: 23: Hoare triple {10944#(<= |ULTIMATE.start_main_~i~0#1| 14)} [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| 14)} is VALID [2022-02-20 21:00:07,517 INFO L290 TraceCheckUtils]: 22: Hoare triple {10944#(<= |ULTIMATE.start_main_~i~0#1| 14)} [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| 14)} is VALID [2022-02-20 21:00:07,517 INFO L290 TraceCheckUtils]: 21: Hoare triple {10944#(<= |ULTIMATE.start_main_~i~0#1| 14)} [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| 14)} is VALID [2022-02-20 21:00:07,517 INFO L290 TraceCheckUtils]: 20: Hoare triple {10944#(<= |ULTIMATE.start_main_~i~0#1| 14)} [244] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 15) 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| 14)} is VALID [2022-02-20 21:00:07,517 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| 14)} is VALID [2022-02-20 21:00:07,518 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:07,518 INFO L290 TraceCheckUtils]: 17: Hoare triple {10803#true} [224] L719-->L719-1: Formula: (and (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) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 64) |v_#length_3|) (= |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:07,518 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:07,518 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:07,518 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:07,518 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:07,518 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:07,518 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:07,518 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:07,518 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:07,518 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:07,518 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:07,518 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:07,518 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:07,518 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:07,519 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:07,520 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:07,520 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:07,520 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:07,521 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:07,521 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1307724019] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 21:00:07,521 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 21:00:07,521 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 10 [2022-02-20 21:00:07,522 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1271629497] [2022-02-20 21:00:07,522 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 21:00:07,522 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:07,522 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:00:07,522 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:07,560 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:07,560 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-02-20 21:00:07,560 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:00:07,561 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-02-20 21:00:07,561 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=60, Unknown=0, NotChecked=0, Total=90 [2022-02-20 21:00:07,561 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 55 out of 73 [2022-02-20 21:00:07,562 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:07,562 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 21:00:07,562 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 55 of 73 [2022-02-20 21:00:07,562 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 21:00:07,654 INFO L129 PetriNetUnfolder]: 14/115 cut-off events. [2022-02-20 21:00:07,654 INFO L130 PetriNetUnfolder]: For 4/4 co-relation queries the response was YES. [2022-02-20 21:00:07,655 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:07,656 INFO L132 encePairwiseOnDemand]: 67/73 looper letters, 13 selfloop transitions, 9 changer transitions 0/65 dead transitions. [2022-02-20 21:00:07,656 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 72 places, 65 transitions, 219 flow [2022-02-20 21:00:07,656 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 21:00:07,656 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2022-02-20 21:00:07,661 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 519 transitions. [2022-02-20 21:00:07,661 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.7899543378995434 [2022-02-20 21:00:07,662 INFO L72 ComplementDD]: Start complementDD. Operand 9 states and 519 transitions. [2022-02-20 21:00:07,662 INFO L73 IsDeterministic]: Start isDeterministic. Operand 9 states and 519 transitions. [2022-02-20 21:00:07,662 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 21:00:07,662 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 9 states and 519 transitions. [2022-02-20 21:00:07,663 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:07,664 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:07,664 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:07,664 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:07,664 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 72 places, 65 transitions, 219 flow [2022-02-20 21:00:07,720 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:07,722 INFO L242 Difference]: Finished difference. Result has 74 places, 61 transitions, 199 flow [2022-02-20 21:00:07,723 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:07,723 INFO L334 CegarLoopForPetriNet]: 58 programPoint places, 16 predicate places. [2022-02-20 21:00:07,723 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 74 places, 61 transitions, 199 flow [2022-02-20 21:00:07,796 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:07,809 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:07,810 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:00:07,810 INFO L470 AbstractCegarLoop]: Abstraction has has 74 places, 61 transitions, 199 flow [2022-02-20 21:00:07,810 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:07,810 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:00:07,810 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:07,833 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2022-02-20 21:00:08,025 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:08,025 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr0INUSE_VIOLATION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 21:00:08,026 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:00:08,026 INFO L85 PathProgramCache]: Analyzing trace with hash 176735389, now seen corresponding path program 1 times [2022-02-20 21:00:08,026 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:00:08,026 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [647975632] [2022-02-20 21:00:08,026 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:08,026 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:00:08,053 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 21:00:08,053 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-02-20 21:00:08,064 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 21:00:08,074 INFO L138 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-02-20 21:00:08,074 INFO L628 BasicCegarLoop]: Counterexample is feasible [2022-02-20 21:00:08,074 INFO L764 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0INUSE_VIOLATION (1 of 2 remaining) [2022-02-20 21:00:08,074 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 2 remaining) [2022-02-20 21:00:08,074 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable12 [2022-02-20 21:00:08,087 INFO L732 BasicCegarLoop]: Path program histogram: [1, 1, 1, 1, 1] [2022-02-20 21:00:08,087 WARN L235 ceAbstractionStarter]: 3 thread instances were not sufficient, I will increase this number and restart the analysis [2022-02-20 21:00:08,087 INFO L534 ceAbstractionStarter]: Constructing petrified ICFG for 4 thread instances. [2022-02-20 21:00:08,096 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of4ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,096 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of4ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,096 WARN L322 ript$VariableManager]: TermVariabe threadThread3of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,096 WARN L322 ript$VariableManager]: TermVariabe threadThread3of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,096 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of4ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,096 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of4ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,096 WARN L322 ript$VariableManager]: TermVariabe threadThread3of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,096 WARN L322 ript$VariableManager]: TermVariabe threadThread3of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,096 WARN L322 ript$VariableManager]: TermVariabe threadThread3of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,096 WARN L322 ript$VariableManager]: TermVariabe threadThread3of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,096 WARN L322 ript$VariableManager]: TermVariabe threadThread3of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,097 WARN L322 ript$VariableManager]: TermVariabe threadThread3of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,097 WARN L322 ript$VariableManager]: TermVariabe threadThread3of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,097 WARN L322 ript$VariableManager]: TermVariabe threadThread3of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,097 WARN L322 ript$VariableManager]: TermVariabe threadThread3of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,097 WARN L322 ript$VariableManager]: TermVariabe threadThread3of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,097 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of4ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,097 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of4ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,097 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of4ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,097 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of4ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,097 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of4ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,097 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of4ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,097 WARN L322 ript$VariableManager]: TermVariabe threadThread1of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,097 WARN L322 ript$VariableManager]: TermVariabe threadThread1of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,097 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of4ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,097 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of4ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,097 WARN L322 ript$VariableManager]: TermVariabe threadThread1of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,097 WARN L322 ript$VariableManager]: TermVariabe threadThread1of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,097 WARN L322 ript$VariableManager]: TermVariabe threadThread1of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,097 WARN L322 ript$VariableManager]: TermVariabe threadThread1of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,097 WARN L322 ript$VariableManager]: TermVariabe threadThread1of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,098 WARN L322 ript$VariableManager]: TermVariabe threadThread1of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,098 WARN L322 ript$VariableManager]: TermVariabe threadThread1of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,098 WARN L322 ript$VariableManager]: TermVariabe threadThread1of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,098 WARN L322 ript$VariableManager]: TermVariabe threadThread1of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,098 WARN L322 ript$VariableManager]: TermVariabe threadThread1of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,098 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of4ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,098 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of4ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,098 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of4ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,098 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of4ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,098 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of4ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,098 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of4ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,098 WARN L322 ript$VariableManager]: TermVariabe threadThread2of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,098 WARN L322 ript$VariableManager]: TermVariabe threadThread2of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,098 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of4ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,098 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of4ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,098 WARN L322 ript$VariableManager]: TermVariabe threadThread2of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,098 WARN L322 ript$VariableManager]: TermVariabe threadThread2of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,098 WARN L322 ript$VariableManager]: TermVariabe threadThread2of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,098 WARN L322 ript$VariableManager]: TermVariabe threadThread2of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,098 WARN L322 ript$VariableManager]: TermVariabe threadThread2of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,099 WARN L322 ript$VariableManager]: TermVariabe threadThread2of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,099 WARN L322 ript$VariableManager]: TermVariabe threadThread2of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,099 WARN L322 ript$VariableManager]: TermVariabe threadThread2of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,099 WARN L322 ript$VariableManager]: TermVariabe threadThread2of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,099 WARN L322 ript$VariableManager]: TermVariabe threadThread2of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,099 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of4ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,099 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of4ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,099 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of4ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,099 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of4ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,099 WARN L322 ript$VariableManager]: TermVariabe |threadThread4of4ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,099 WARN L322 ript$VariableManager]: TermVariabe |threadThread4of4ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,099 WARN L322 ript$VariableManager]: TermVariabe threadThread4of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,099 WARN L322 ript$VariableManager]: TermVariabe threadThread4of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,099 WARN L322 ript$VariableManager]: TermVariabe |threadThread4of4ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,099 WARN L322 ript$VariableManager]: TermVariabe |threadThread4of4ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,099 WARN L322 ript$VariableManager]: TermVariabe threadThread4of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,099 WARN L322 ript$VariableManager]: TermVariabe threadThread4of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,099 WARN L322 ript$VariableManager]: TermVariabe threadThread4of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,099 WARN L322 ript$VariableManager]: TermVariabe threadThread4of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,100 WARN L322 ript$VariableManager]: TermVariabe threadThread4of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,100 WARN L322 ript$VariableManager]: TermVariabe threadThread4of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,100 WARN L322 ript$VariableManager]: TermVariabe threadThread4of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,100 WARN L322 ript$VariableManager]: TermVariabe threadThread4of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,100 WARN L322 ript$VariableManager]: TermVariabe threadThread4of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,100 WARN L322 ript$VariableManager]: TermVariabe threadThread4of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,100 WARN L322 ript$VariableManager]: TermVariabe |threadThread4of4ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,100 WARN L322 ript$VariableManager]: TermVariabe |threadThread4of4ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,100 WARN L322 ript$VariableManager]: TermVariabe |threadThread4of4ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,100 WARN L322 ript$VariableManager]: TermVariabe |threadThread4of4ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,100 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of4ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,100 WARN L322 ript$VariableManager]: TermVariabe threadThread1of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,100 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of4ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,100 WARN L322 ript$VariableManager]: TermVariabe threadThread1of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,100 WARN L322 ript$VariableManager]: TermVariabe threadThread1of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,101 WARN L322 ript$VariableManager]: TermVariabe threadThread2of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,101 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of4ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,101 WARN L322 ript$VariableManager]: TermVariabe threadThread2of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,101 WARN L322 ript$VariableManager]: TermVariabe threadThread2of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,101 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of4ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,101 WARN L322 ript$VariableManager]: TermVariabe threadThread3of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,101 WARN L322 ript$VariableManager]: TermVariabe threadThread3of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,101 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of4ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,101 WARN L322 ript$VariableManager]: TermVariabe threadThread3of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,101 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of4ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,102 WARN L322 ript$VariableManager]: TermVariabe |threadThread4of4ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,102 WARN L322 ript$VariableManager]: TermVariabe threadThread4of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,102 WARN L322 ript$VariableManager]: TermVariabe threadThread4of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,102 WARN L322 ript$VariableManager]: TermVariabe |threadThread4of4ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,102 WARN L322 ript$VariableManager]: TermVariabe threadThread4of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:08,117 INFO L148 ThreadInstanceAdder]: Constructed 4 joinOtherThreadTransitions. [2022-02-20 21:00:08,118 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 21:00:08,118 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:08,118 INFO L340 AbstractCegarLoop]: Starting to check reachability of 2 error locations. [2022-02-20 21:00:08,118 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 82 places, 80 transitions, 204 flow [2022-02-20 21:00:08,142 INFO L129 PetriNetUnfolder]: 47/377 cut-off events. [2022-02-20 21:00:08,142 INFO L130 PetriNetUnfolder]: For 48/48 co-relation queries the response was YES. [2022-02-20 21:00:08,142 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:08,143 INFO L82 GeneralOperation]: Start removeDead. Operand has 82 places, 80 transitions, 204 flow [2022-02-20 21:00:08,143 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 66 places, 58 transitions, 148 flow [2022-02-20 21:00:08,144 INFO L129 PetriNetUnfolder]: 1/26 cut-off events. [2022-02-20 21:00:08,144 INFO L130 PetriNetUnfolder]: For 0/0 co-relation queries the response was YES. [2022-02-20 21:00:08,145 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:00:08,145 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:08,145 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 21:00:08,145 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:00:08,145 INFO L85 PathProgramCache]: Analyzing trace with hash -2143368340, now seen corresponding path program 1 times [2022-02-20 21:00:08,145 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:00:08,145 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1571751042] [2022-02-20 21:00:08,145 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:08,145 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:00:08,157 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:08,168 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:08,168 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:08,168 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:08,168 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:08,168 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:08,168 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:08,168 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:08,169 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:08,169 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:08,169 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:08,169 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:08,169 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:08,169 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:08,169 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:08,169 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:08,169 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:08,169 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:08,169 INFO L290 TraceCheckUtils]: 17: Hoare triple {85#true} [304] L719-->L719-1: Formula: (and (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) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 64) |v_#length_3|) (= |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:08,169 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:08,170 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:08,170 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| 15)) 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:08,170 INFO L290 TraceCheckUtils]: 21: Hoare triple {86#false} [307] L723-6-->L727: Formula: (not (< v_~x~0_4 16)) 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:08,170 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:08,170 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:08,170 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:00:08,170 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1571751042] [2022-02-20 21:00:08,170 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1571751042] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:00:08,170 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 21:00:08,171 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 21:00:08,172 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [912319377] [2022-02-20 21:00:08,172 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:00:08,172 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:08,172 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:00:08,172 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:08,182 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:08,182 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 21:00:08,182 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:00:08,182 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 21:00:08,182 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 21:00:08,182 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 61 out of 80 [2022-02-20 21:00:08,183 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:08,183 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 21:00:08,183 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 61 of 80 [2022-02-20 21:00:08,183 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 21:00:08,240 INFO L129 PetriNetUnfolder]: 0/97 cut-off events. [2022-02-20 21:00:08,240 INFO L130 PetriNetUnfolder]: For 16/16 co-relation queries the response was YES. [2022-02-20 21:00:08,240 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:08,240 INFO L132 encePairwiseOnDemand]: 76/80 looper letters, 13 selfloop transitions, 2 changer transitions 0/61 dead transitions. [2022-02-20 21:00:08,240 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 68 places, 61 transitions, 184 flow [2022-02-20 21:00:08,240 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 21:00:08,240 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2022-02-20 21:00:08,247 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 201 transitions. [2022-02-20 21:00:08,249 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.8375 [2022-02-20 21:00:08,249 INFO L72 ComplementDD]: Start complementDD. Operand 3 states and 201 transitions. [2022-02-20 21:00:08,249 INFO L73 IsDeterministic]: Start isDeterministic. Operand 3 states and 201 transitions. [2022-02-20 21:00:08,250 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 21:00:08,250 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 3 states and 201 transitions. [2022-02-20 21:00:08,250 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:08,250 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:08,250 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:08,250 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:08,250 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 68 places, 61 transitions, 184 flow [2022-02-20 21:00:08,252 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:08,252 INFO L242 Difference]: Finished difference. Result has 69 places, 58 transitions, 146 flow [2022-02-20 21:00:08,253 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:08,253 INFO L334 CegarLoopForPetriNet]: 66 programPoint places, 3 predicate places. [2022-02-20 21:00:08,253 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 69 places, 58 transitions, 146 flow [2022-02-20 21:00:08,697 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:08,795 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:08,795 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:00:08,795 INFO L470 AbstractCegarLoop]: Abstraction has has 69 places, 58 transitions, 146 flow [2022-02-20 21:00:08,795 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:08,795 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:00:08,795 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:08,795 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable13 [2022-02-20 21:00:08,796 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 21:00:08,796 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:00:08,796 INFO L85 PathProgramCache]: Analyzing trace with hash -184146753, now seen corresponding path program 1 times [2022-02-20 21:00:08,796 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:00:08,796 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1038658830] [2022-02-20 21:00:08,796 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:08,796 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:00:08,803 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:08,819 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:08,819 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:08,819 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:08,819 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:08,819 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:08,820 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:08,820 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:08,820 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:08,820 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:08,820 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:08,820 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:08,820 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:08,820 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:08,820 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:08,820 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:08,820 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:08,820 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:08,820 INFO L290 TraceCheckUtils]: 17: Hoare triple {21614#true} [304] L719-->L719-1: Formula: (and (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) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 64) |v_#length_3|) (= |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:08,821 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:08,821 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:08,821 INFO L290 TraceCheckUtils]: 20: Hoare triple {21616#(= ~x~0 0)} [324] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 15) 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:08,821 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:08,822 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:08,822 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:08,822 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:08,822 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:08,823 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:08,823 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:08,823 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:08,823 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:08,824 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| 15)) 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:08,824 INFO L290 TraceCheckUtils]: 31: Hoare triple {21616#(= ~x~0 0)} [307] L723-6-->L727: Formula: (not (< v_~x~0_4 16)) 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:08,824 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:08,824 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:08,824 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:00:08,824 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1038658830] [2022-02-20 21:00:08,824 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1038658830] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:00:08,824 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 21:00:08,824 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 21:00:08,825 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2121185932] [2022-02-20 21:00:08,825 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:00:08,825 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:08,825 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:00:08,825 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:08,843 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:08,843 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 21:00:08,843 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:00:08,843 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 21:00:08,843 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 21:00:08,843 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 60 out of 80 [2022-02-20 21:00:08,844 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:08,844 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 21:00:08,844 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 60 of 80 [2022-02-20 21:00:08,844 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 21:00:08,887 INFO L129 PetriNetUnfolder]: 73/359 cut-off events. [2022-02-20 21:00:08,887 INFO L130 PetriNetUnfolder]: For 44/44 co-relation queries the response was YES. [2022-02-20 21:00:08,888 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:08,889 INFO L132 encePairwiseOnDemand]: 74/80 looper letters, 13 selfloop transitions, 5 changer transitions 0/65 dead transitions. [2022-02-20 21:00:08,889 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 71 places, 65 transitions, 211 flow [2022-02-20 21:00:08,889 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 21:00:08,889 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2022-02-20 21:00:08,891 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 199 transitions. [2022-02-20 21:00:08,891 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.8291666666666667 [2022-02-20 21:00:08,891 INFO L72 ComplementDD]: Start complementDD. Operand 3 states and 199 transitions. [2022-02-20 21:00:08,891 INFO L73 IsDeterministic]: Start isDeterministic. Operand 3 states and 199 transitions. [2022-02-20 21:00:08,891 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 21:00:08,891 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 3 states and 199 transitions. [2022-02-20 21:00:08,891 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:08,892 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:08,892 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:08,892 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:08,892 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 71 places, 65 transitions, 211 flow [2022-02-20 21:00:08,894 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:08,895 INFO L242 Difference]: Finished difference. Result has 71 places, 62 transitions, 177 flow [2022-02-20 21:00:08,895 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:08,895 INFO L334 CegarLoopForPetriNet]: 66 programPoint places, 5 predicate places. [2022-02-20 21:00:08,896 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 71 places, 62 transitions, 177 flow [2022-02-20 21:00:09,444 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:09,487 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:09,487 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:00:09,487 INFO L470 AbstractCegarLoop]: Abstraction has has 71 places, 62 transitions, 177 flow [2022-02-20 21:00:09,488 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:09,488 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:00:09,488 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:09,488 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable14 [2022-02-20 21:00:09,488 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 21:00:09,488 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:00:09,489 INFO L85 PathProgramCache]: Analyzing trace with hash -1187205763, now seen corresponding path program 1 times [2022-02-20 21:00:09,489 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:00:09,489 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1906795018] [2022-02-20 21:00:09,489 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:09,489 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:00:09,504 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:09,530 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:09,530 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:09,530 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:09,530 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:09,531 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:09,531 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:09,531 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:09,531 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:09,531 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:09,531 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:09,531 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:09,531 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:09,532 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:09,532 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:09,532 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:09,532 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:09,532 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:09,533 INFO L290 TraceCheckUtils]: 17: Hoare triple {42903#true} [304] L719-->L719-1: Formula: (and (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) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 64) |v_#length_3|) (= |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:09,533 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:09,534 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:09,534 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| 15) 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:09,534 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:09,535 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:09,535 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:09,535 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:09,535 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:09,536 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:09,536 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:09,536 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:09,537 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:09,537 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| 15)) 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:09,537 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:09,537 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:09,537 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:09,537 INFO L290 TraceCheckUtils]: 34: Hoare triple {42904#false} [307] L723-6-->L727: Formula: (not (< v_~x~0_4 16)) 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:09,538 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:09,538 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:09,538 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:00:09,538 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1906795018] [2022-02-20 21:00:09,538 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1906795018] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 21:00:09,538 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [413652792] [2022-02-20 21:00:09,538 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:09,538 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 21:00:09,539 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 21:00:09,540 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:09,541 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:09,589 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:09,590 INFO L263 TraceCheckSpWp]: Trace formula consists of 91 conjuncts, 4 conjunts are in the unsatisfiable core [2022-02-20 21:00:09,597 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:09,597 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 21:00:09,688 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:09,688 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:09,688 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:09,688 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:09,689 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:09,689 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:09,689 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:09,689 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:09,689 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:09,689 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:09,689 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:09,689 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:09,690 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:09,690 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:09,690 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:09,690 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:09,690 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:09,690 INFO L290 TraceCheckUtils]: 17: Hoare triple {42903#true} [304] L719-->L719-1: Formula: (and (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) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 64) |v_#length_3|) (= |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:09,690 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:09,691 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:09,691 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| 15) 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:09,691 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:09,691 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:09,692 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:09,692 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:09,692 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:09,693 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:09,693 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:09,693 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:09,694 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:09,694 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| 15)) 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:09,694 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:09,694 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:09,694 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:09,694 INFO L290 TraceCheckUtils]: 34: Hoare triple {42904#false} [307] L723-6-->L727: Formula: (not (< v_~x~0_4 16)) 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:09,694 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:09,695 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:09,695 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 21:00:09,780 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:09,780 INFO L290 TraceCheckUtils]: 34: Hoare triple {42904#false} [307] L723-6-->L727: Formula: (not (< v_~x~0_4 16)) 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:09,780 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:09,780 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:09,780 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:09,781 INFO L290 TraceCheckUtils]: 30: Hoare triple {43033#(<= |ULTIMATE.start_main_~i~0#1| 15)} [323] L723-5-->L723-6: Formula: (not (<= |v_ULTIMATE.start_main_~i~0#1_3| 15)) 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:09,781 INFO L290 TraceCheckUtils]: 29: Hoare triple {43033#(<= |ULTIMATE.start_main_~i~0#1| 15)} [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| 15)} is VALID [2022-02-20 21:00:09,781 INFO L290 TraceCheckUtils]: 28: Hoare triple {43040#(<= |ULTIMATE.start_main_#t~post1#1| 14)} [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| 15)} is VALID [2022-02-20 21:00:09,782 INFO L290 TraceCheckUtils]: 27: Hoare triple {43044#(<= |ULTIMATE.start_main_~i~0#1| 14)} [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| 14)} is VALID [2022-02-20 21:00:09,782 INFO L290 TraceCheckUtils]: 26: Hoare triple {43044#(<= |ULTIMATE.start_main_~i~0#1| 14)} [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| 14)} is VALID [2022-02-20 21:00:09,782 INFO L290 TraceCheckUtils]: 25: Hoare triple {43044#(<= |ULTIMATE.start_main_~i~0#1| 14)} [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| 14)} is VALID [2022-02-20 21:00:09,783 INFO L290 TraceCheckUtils]: 24: Hoare triple {43044#(<= |ULTIMATE.start_main_~i~0#1| 14)} [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| 14)} is VALID [2022-02-20 21:00:09,783 INFO L290 TraceCheckUtils]: 23: Hoare triple {43044#(<= |ULTIMATE.start_main_~i~0#1| 14)} [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| 14)} is VALID [2022-02-20 21:00:09,783 INFO L290 TraceCheckUtils]: 22: Hoare triple {43044#(<= |ULTIMATE.start_main_~i~0#1| 14)} [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| 14)} is VALID [2022-02-20 21:00:09,784 INFO L290 TraceCheckUtils]: 21: Hoare triple {43044#(<= |ULTIMATE.start_main_~i~0#1| 14)} [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| 14)} is VALID [2022-02-20 21:00:09,784 INFO L290 TraceCheckUtils]: 20: Hoare triple {43044#(<= |ULTIMATE.start_main_~i~0#1| 14)} [324] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 15) 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| 14)} is VALID [2022-02-20 21:00:09,784 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| 14)} is VALID [2022-02-20 21:00:09,784 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:09,784 INFO L290 TraceCheckUtils]: 17: Hoare triple {42903#true} [304] L719-->L719-1: Formula: (and (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) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 64) |v_#length_3|) (= |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:09,785 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:09,785 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:09,785 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:09,785 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:09,785 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:09,785 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:09,785 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:09,785 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:09,786 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:09,786 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:09,786 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:09,786 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:09,786 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:09,786 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:09,786 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:09,786 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:09,786 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:09,787 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:09,787 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [413652792] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 21:00:09,787 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 21:00:09,787 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 10 [2022-02-20 21:00:09,787 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [924195159] [2022-02-20 21:00:09,787 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 21:00:09,788 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:09,788 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:00:09,788 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:09,819 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:09,819 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-02-20 21:00:09,819 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:00:09,819 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-02-20 21:00:09,820 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=60, Unknown=0, NotChecked=0, Total=90 [2022-02-20 21:00:09,820 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 60 out of 80 [2022-02-20 21:00:09,821 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:09,821 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 21:00:09,821 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 60 of 80 [2022-02-20 21:00:09,821 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 21:00:10,057 INFO L129 PetriNetUnfolder]: 54/233 cut-off events. [2022-02-20 21:00:10,057 INFO L130 PetriNetUnfolder]: For 5/5 co-relation queries the response was YES. [2022-02-20 21:00:10,058 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:10,059 INFO L132 encePairwiseOnDemand]: 74/80 looper letters, 14 selfloop transitions, 9 changer transitions 0/72 dead transitions. [2022-02-20 21:00:10,059 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 79 places, 72 transitions, 245 flow [2022-02-20 21:00:10,059 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 21:00:10,059 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2022-02-20 21:00:10,063 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 565 transitions. [2022-02-20 21:00:10,063 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.7847222222222222 [2022-02-20 21:00:10,063 INFO L72 ComplementDD]: Start complementDD. Operand 9 states and 565 transitions. [2022-02-20 21:00:10,064 INFO L73 IsDeterministic]: Start isDeterministic. Operand 9 states and 565 transitions. [2022-02-20 21:00:10,064 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 21:00:10,064 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 9 states and 565 transitions. [2022-02-20 21:00:10,065 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:10,066 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:10,066 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:10,066 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:10,066 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 79 places, 72 transitions, 245 flow [2022-02-20 21:00:12,404 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:12,405 INFO L242 Difference]: Finished difference. Result has 81 places, 68 transitions, 222 flow [2022-02-20 21:00:12,405 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:12,405 INFO L334 CegarLoopForPetriNet]: 66 programPoint places, 15 predicate places. [2022-02-20 21:00:12,406 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 81 places, 68 transitions, 222 flow [2022-02-20 21:00:12,877 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:12,929 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:12,929 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:00:12,929 INFO L470 AbstractCegarLoop]: Abstraction has has 81 places, 68 transitions, 222 flow [2022-02-20 21:00:12,930 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:12,930 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:00:12,930 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:12,949 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:13,130 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:13,131 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 21:00:13,131 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:00:13,131 INFO L85 PathProgramCache]: Analyzing trace with hash -909312246, now seen corresponding path program 1 times [2022-02-20 21:00:13,131 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:00:13,131 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1872583413] [2022-02-20 21:00:13,131 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:13,131 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:00:13,144 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:13,195 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:13,196 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:13,196 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:13,196 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:13,196 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:13,196 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:13,196 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:13,196 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:13,197 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:13,197 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:13,197 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:13,197 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:13,197 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:13,197 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:13,197 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:13,197 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:13,198 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:13,198 INFO L290 TraceCheckUtils]: 17: Hoare triple {64317#true} [304] L719-->L719-1: Formula: (and (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) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 64) |v_#length_3|) (= |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:13,198 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:13,198 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:13,198 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| 15) 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:13,199 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:13,199 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:13,199 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:13,200 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:13,200 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:13,200 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:13,201 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:13,201 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:13,201 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:13,201 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:13,202 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:13,202 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:13,202 INFO L290 TraceCheckUtils]: 33: Hoare triple {64323#(<= ~x~0 1)} [324] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 15) 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:13,203 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:13,203 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:13,203 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:13,204 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:13,204 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:13,204 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:13,204 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:13,205 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:13,205 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:13,205 INFO L290 TraceCheckUtils]: 43: Hoare triple {64323#(<= ~x~0 1)} [324] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 15) 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:13,206 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:13,206 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:13,206 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:13,206 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:13,207 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:13,207 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:13,207 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:13,208 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:13,208 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:13,208 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| 15)) 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:13,209 INFO L290 TraceCheckUtils]: 54: Hoare triple {64323#(<= ~x~0 1)} [307] L723-6-->L727: Formula: (not (< v_~x~0_4 16)) 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:13,209 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:13,209 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:13,209 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:00:13,209 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1872583413] [2022-02-20 21:00:13,210 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1872583413] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 21:00:13,210 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1893363305] [2022-02-20 21:00:13,210 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:13,210 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 21:00:13,210 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 21:00:13,211 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:13,212 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:13,268 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:13,269 INFO L263 TraceCheckSpWp]: Trace formula consists of 135 conjuncts, 8 conjunts are in the unsatisfiable core [2022-02-20 21:00:13,283 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:13,284 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 21:00:13,465 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:13,465 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:13,465 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:13,465 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:13,465 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:13,465 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:13,465 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:13,465 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:13,465 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:13,466 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:13,466 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:13,466 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:13,466 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:13,466 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:13,466 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:13,466 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:13,466 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:13,466 INFO L290 TraceCheckUtils]: 17: Hoare triple {64317#true} [304] L719-->L719-1: Formula: (and (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) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 64) |v_#length_3|) (= |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:13,466 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:13,467 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:13,467 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| 15) 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:13,467 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:13,467 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:13,468 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:13,468 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:13,468 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:13,469 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:13,469 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:13,469 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:13,470 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:13,470 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:13,470 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:13,470 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:13,473 INFO L290 TraceCheckUtils]: 33: Hoare triple {64323#(<= ~x~0 1)} [324] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 15) 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:13,473 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:13,473 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:13,474 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:13,474 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:13,474 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:13,474 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:13,475 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:13,475 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:13,475 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:13,475 INFO L290 TraceCheckUtils]: 43: Hoare triple {64323#(<= ~x~0 1)} [324] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 15) 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:13,476 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:13,476 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:13,476 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:13,476 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:13,477 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:13,477 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:13,477 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:13,477 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:13,478 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:13,478 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| 15)) 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:13,478 INFO L290 TraceCheckUtils]: 54: Hoare triple {64323#(<= ~x~0 1)} [307] L723-6-->L727: Formula: (not (< v_~x~0_4 16)) 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:13,478 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:13,478 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:13,478 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 21:00:13,681 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:13,681 INFO L290 TraceCheckUtils]: 54: Hoare triple {64498#(< ~x~0 16)} [307] L723-6-->L727: Formula: (not (< v_~x~0_4 16)) 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:13,682 INFO L290 TraceCheckUtils]: 53: Hoare triple {64498#(< ~x~0 16)} [323] L723-5-->L723-6: Formula: (not (<= |v_ULTIMATE.start_main_~i~0#1_3| 15)) 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 16)} is VALID [2022-02-20 21:00:13,682 INFO L290 TraceCheckUtils]: 52: Hoare triple {64498#(< ~x~0 16)} [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 16)} is VALID [2022-02-20 21:00:13,683 INFO L290 TraceCheckUtils]: 51: Hoare triple {64498#(< ~x~0 16)} [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 16)} is VALID [2022-02-20 21:00:13,683 INFO L290 TraceCheckUtils]: 50: Hoare triple {64498#(< ~x~0 16)} [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 16)} is VALID [2022-02-20 21:00:13,683 INFO L290 TraceCheckUtils]: 49: Hoare triple {64498#(< ~x~0 16)} [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 16)} is VALID [2022-02-20 21:00:13,683 INFO L290 TraceCheckUtils]: 48: Hoare triple {64498#(< ~x~0 16)} [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 16)} is VALID [2022-02-20 21:00:13,684 INFO L290 TraceCheckUtils]: 47: Hoare triple {64498#(< ~x~0 16)} [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 16)} is VALID [2022-02-20 21:00:13,684 INFO L290 TraceCheckUtils]: 46: Hoare triple {64498#(< ~x~0 16)} [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 16)} is VALID [2022-02-20 21:00:13,684 INFO L290 TraceCheckUtils]: 45: Hoare triple {64498#(< ~x~0 16)} [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 16)} is VALID [2022-02-20 21:00:13,685 INFO L290 TraceCheckUtils]: 44: Hoare triple {64498#(< ~x~0 16)} [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 16)} is VALID [2022-02-20 21:00:13,685 INFO L290 TraceCheckUtils]: 43: Hoare triple {64498#(< ~x~0 16)} [324] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 15) 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 16)} is VALID [2022-02-20 21:00:13,685 INFO L290 TraceCheckUtils]: 42: Hoare triple {64498#(< ~x~0 16)} [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 16)} is VALID [2022-02-20 21:00:13,686 INFO L290 TraceCheckUtils]: 41: Hoare triple {64498#(< ~x~0 16)} [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 16)} is VALID [2022-02-20 21:00:13,686 INFO L290 TraceCheckUtils]: 40: Hoare triple {64498#(< ~x~0 16)} [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 16)} is VALID [2022-02-20 21:00:13,686 INFO L290 TraceCheckUtils]: 39: Hoare triple {64498#(< ~x~0 16)} [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 16)} is VALID [2022-02-20 21:00:13,687 INFO L290 TraceCheckUtils]: 38: Hoare triple {64498#(< ~x~0 16)} [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 16)} is VALID [2022-02-20 21:00:13,687 INFO L290 TraceCheckUtils]: 37: Hoare triple {64498#(< ~x~0 16)} [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 16)} is VALID [2022-02-20 21:00:13,687 INFO L290 TraceCheckUtils]: 36: Hoare triple {64498#(< ~x~0 16)} [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 16)} is VALID [2022-02-20 21:00:13,688 INFO L290 TraceCheckUtils]: 35: Hoare triple {64498#(< ~x~0 16)} [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 16)} is VALID [2022-02-20 21:00:13,688 INFO L290 TraceCheckUtils]: 34: Hoare triple {64498#(< ~x~0 16)} [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 16)} is VALID [2022-02-20 21:00:13,688 INFO L290 TraceCheckUtils]: 33: Hoare triple {64498#(< ~x~0 16)} [324] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 15) 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 16)} is VALID [2022-02-20 21:00:13,689 INFO L290 TraceCheckUtils]: 32: Hoare triple {64498#(< ~x~0 16)} [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 16)} is VALID [2022-02-20 21:00:13,689 INFO L290 TraceCheckUtils]: 31: Hoare triple {64498#(< ~x~0 16)} [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 16)} is VALID [2022-02-20 21:00:13,689 INFO L290 TraceCheckUtils]: 30: Hoare triple {64498#(< ~x~0 16)} [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 16)} is VALID [2022-02-20 21:00:13,689 INFO L290 TraceCheckUtils]: 29: Hoare triple {64498#(< ~x~0 16)} [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 16)} is VALID [2022-02-20 21:00:13,690 INFO L290 TraceCheckUtils]: 28: Hoare triple {64498#(< ~x~0 16)} [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 16)} is VALID [2022-02-20 21:00:13,690 INFO L290 TraceCheckUtils]: 27: Hoare triple {64580#(< threadThread1of4ForFork0_~thread~0 16)} [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 16)} is VALID [2022-02-20 21:00:13,691 INFO L290 TraceCheckUtils]: 26: Hoare triple {64584#(< (+ threadThread1of4ForFork0_~arg.offset threadThread1of4ForFork0_~arg.base) 16)} [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 16)} is VALID [2022-02-20 21:00:13,691 INFO L290 TraceCheckUtils]: 25: Hoare triple {64588#(< (+ |threadThread1of4ForFork0_#in~arg.base| |threadThread1of4ForFork0_#in~arg.offset|) 16)} [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) 16)} is VALID [2022-02-20 21:00:13,691 INFO L290 TraceCheckUtils]: 24: Hoare triple {64592#(< |ULTIMATE.start_main_~i~0#1| 16)} [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|) 16)} is VALID [2022-02-20 21:00:13,692 INFO L290 TraceCheckUtils]: 23: Hoare triple {64592#(< |ULTIMATE.start_main_~i~0#1| 16)} [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| 16)} is VALID [2022-02-20 21:00:13,692 INFO L290 TraceCheckUtils]: 22: Hoare triple {64592#(< |ULTIMATE.start_main_~i~0#1| 16)} [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| 16)} is VALID [2022-02-20 21:00:13,692 INFO L290 TraceCheckUtils]: 21: Hoare triple {64592#(< |ULTIMATE.start_main_~i~0#1| 16)} [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| 16)} is VALID [2022-02-20 21:00:13,693 INFO L290 TraceCheckUtils]: 20: Hoare triple {64592#(< |ULTIMATE.start_main_~i~0#1| 16)} [324] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 15) 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| 16)} is VALID [2022-02-20 21:00:13,693 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| 16)} is VALID [2022-02-20 21:00:13,693 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:13,693 INFO L290 TraceCheckUtils]: 17: Hoare triple {64317#true} [304] L719-->L719-1: Formula: (and (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) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 64) |v_#length_3|) (= |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:13,693 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:13,693 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:13,693 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:13,693 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:13,694 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:13,694 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:13,694 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:13,694 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:13,694 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:13,694 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:13,694 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:13,694 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:13,694 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:13,694 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:13,694 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:13,694 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:13,694 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:13,694 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:13,695 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1893363305] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 21:00:13,695 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 21:00:13,695 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7, 7] total 15 [2022-02-20 21:00:13,695 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1208964933] [2022-02-20 21:00:13,695 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 21:00:13,695 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:13,695 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:00:13,695 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:13,741 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:13,741 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-02-20 21:00:13,741 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:00:13,741 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-02-20 21:00:13,742 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=38, Invalid=172, Unknown=0, NotChecked=0, Total=210 [2022-02-20 21:00:13,743 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 51 out of 80 [2022-02-20 21:00:13,744 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:13,744 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 21:00:13,744 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 51 of 80 [2022-02-20 21:00:13,744 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand